汇编扩展寄存器不工作

2023-12-29

我对 Assembly 和 TASM 相当陌生,我有以下问题。 我想使用寄存器的扩展版本,特别是 EBX。通过使用下面的代码,但没有“.386”指令,它不起作用,说“未定义的符号 EBX”。但有了它,它无法识别 INT 21h 指令,据我了解,该指令终止了程序,并且在使用 TurboDebugger 调试它时很有用。 有人可以告诉我如何避免这种情况吗?

PS:是的,我知道 TASM 和 TD 很老了,还有更新的更好的,例如 NASM 或 MASM,但我们必须在大学使用这个,所以请不要告诉我使用其他的。

这是代码:

.386
CODE  SEGMENT
        ASSUME  CS : CODE , DS : CODE , SS : CODE
        ORG  100H
    ENTRY:    JMP  L1
            ; data definitions come here
            ;.   .   .
    L1:

    MOV  EBX, 10H
    MOV  AX ,  4C00H
    INT  21H
    CODE  ENDS
    END  ENTRY

放在哪里是相关的.386。在你的情况下SEGMENT指令将被解释为 USE32 段,但您需要 USE16 段。

Change

CODE  SEGMENT

to

CODE  SEGMENT USE16

或者把.386指示after the CODE SEGMENT-line.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

汇编扩展寄存器不工作 的相关文章

  • 分配内存空间的宏

    我需要让一个汇编程序员来计算帕斯卡三角形 https en wikipedia org wiki Pascal 27s triangle 这样帕斯卡三角形的每一行都与其他行分开存储在内存中 我想做一个 但我不知道如何使用宏在汇编中做到这一点
  • DASM 汇编器中的 ASCII 到 C64 屏幕代码

    我正在通过 C64 模拟器学习 6502 micro 的汇编 目前正在尝试将字符串输出到屏幕 这是我的代码 processor 6502 org 1000 ldx 00 using x register as column counter
  • 在汇编中显示两位数? [复制]

    这个问题在这里已经有答案了 我对汇编编程完全陌生 在课堂作业的示例中 需要将两个数字相加并显示总和 我发现神秘的是当其是两位数时显示总和 这是我的代码 mov al num1 mov bl num2 add al bl add ax 303
  • 破坏/分解函数的函数

    我以前有过 here https stackoverflow com questions 4920610 c class function in assembly 已经表明 C 函数不容易用汇编表示 现在我有兴趣以一种或另一种方式阅读它们
  • x86-64 上这个语句有什么问题?

    该函数的目的是获取堆栈的起始地址 unsigned long find start void asm movq rsp eax 当我编译它时 出现错误 Error suffix or operands invalid for movq mo
  • 遍历内存编辑每个字节

    我正在编写汇编代码 提示用户输入一串小写字符 然后输出包含所有大写字符的相同字符串 我的想法是迭代从特定地址开始的字节 并从每个字节中减去 20H 将小写变为大写 直到到达具有特定值的字节 我对 Assembly 相当缺乏经验 所以我不确定
  • Clang 使用 -nostdlib 生成崩溃代码

    我正在尝试为可执行文件设置自己的运行时环境 但无法使用 clang v3 4 1ubuntu1 目标 x86 64 pc linux gnu 来生成没有段错误的可执行文件 我已将问题简化为以下内容 如果我有一个文件 crt1 c 除了满足
  • 即使我确实为变量设置了初始值,数据段也没有被初始化

    我已经编写了一个代码 该代码应该生成某种数字列表 但是即使我为它们分配了初始值 我的数据段变量也没有被初始化 This is how DS 0000 looks when I run it 这是我的代码 但数据段只保留垃圾值 MODEL s
  • 减法进位标志

    我正在使用 MASM32 有了这个代码 mov eax 5 sub eax 10 CF 状态标志将被设置 但使用我的铅笔和纸 我实际上看到 MSB 没有任何进位 是的 我知道从较少的数字中减去大的数字集CF 但我想知道为什么 因为使用这段代
  • 从汇编程序获取命令行参数

    通读 专业汇编语言书籍 似乎它提供了用于读取命令行参数的错误代码 我纠正了一点 现在它从段错误变成了读取参数计数 然后是段错误 这是完整的代码 data output1 asciz There are d params n output2
  • 两个基本的 ANTLR 问题

    我正在尝试使用 ANTLR 来获取简单的语法并生成汇编输出 我在 ANTLR 中选择的语言是 Python 许多教程看起来非常复杂或详细阐述与我无关的事情 我真的只需要一些非常简单的功能 所以我有两个问题 将值从一个规则 返回 到另一规则
  • 为什么当大小大于 50 时,该程序花费的时间会呈指数级增长?

    所以我正在为类编写一个 ARM 汇编快速排序方法 我对大部分内容都有了解 除了复杂性没有意义 我们将其与我们制作的另一种冒泡排序方法进行比较 它对于具有 1 个参数和 10 个参数的示例表现更好 然而 我什至无法比较 100 个参数测试 因
  • 使用 Easy 68K (68000) 组装范围内的随机数

    我正在使用 Easy 68K 模拟器创建一个简单的黑杰克游戏 需要使用随机数来分配牌 我的牌必须在 2 到 11 的范围内 我似乎每次都得到相同的数字 但它不在我预期的范围内 我的卡值需要以 D3 结束 因此我有以下随机数代码 CLR L
  • 为什么在强度降低乘法和循环进位加法之后,这段代码的执行速度会变慢?

    我正在读书阿格纳 雾 https en wikipedia org wiki Agner Fog s 优化手册 https en wikipedia org wiki Agner Fog Optimization 我遇到了这个例子 doub
  • 从 NASM 调用 C 函数 _printf 会导致分段错误

    我一直在尝试使用 NASM 在 Mac OS 和 Windows 上学习 64 位汇编 我的代码是 extern printf section data msg db Hello World 10 0 section text global
  • 使用 (float&)int 进行类型双关可以正常工作,(float const&)int 会像 (float)int 一样转换吗?

    VS2019 发布 x86 template
  • ARMv8 A64 汇编中立即值的范围

    我的理解是 ARMv8 A64 汇编中的立即参数可以是 12 位长 如果是这样的话 为什么这行汇编代码是 AND X12 X10 0xFEF 产生此错误 使用 gcc 编译时 Error immediate out of range at
  • 从 exe 文件中获取汇编级代码?

    我当时正在做linux汇编编程 在过去的几天里我已经转而学习windows汇编编程 我在用ml作为我的汇编器和golink作为我的链接器 我有我的汇编代码并已获得我的exe从中 现在我需要取回它的十六进制 xff xab x55等等 在li
  • 程序集比较标志理解

    我正在努力理解汇编程序中的以下代码片段 if EAX gt 5 EBX 1 else EBX 2 在汇编程序中 可以写如下 根据我的书 模拟jge操作说明 https www felixcloutier com x86 jcc您通常会使用
  • 使用 MIPS 从 Big Endian 到 Little Endian 无需逻辑运算?

    我正在使用 MIPS QtSpim 将 32 位字从 Big Endian 转换为 Little Endian 我下面显示的内容已检查且正确 不过我想知道还有什么其他方法可以让我进行转换 我虽然只使用了旋转和移位 但如果没有逻辑运算 我就无

随机推荐

  • 无法将有序数据写入 Spark 中的镶木地板

    我正在使用 Apache Spark 生成镶木地板文件 我可以按日期对它们进行分区 没有任何问题 但在内部我似乎无法按正确的顺序排列数据 在处理过程中顺序似乎丢失了 这意味着镶木地板元数据不正确 具体来说 我想确保镶木地板行组反映排序顺序
  • 将回归结果输出到 R 中的数据帧中

    我想知道是否有任何命令可以将 lm 模型的结果输出到 R 中的数据帧中 就像 SAS 中的 outest 一样 有任何想法吗 我正在运行多个模型 我希望结果如下所示 Model alpha Beta Rsquared F df model0
  • 为什么 BigQuery 加载作业统计信息会返回查询信息?

    我们有一些加载作业 可以从 GCS 中获取文件 并将它们加载到 BigQuery 中进行分析 我们使用JobConfigurationLoad class https developers google com resources api
  • Android:将sqlite数据库内容加载到webview

    我有一个sqlite我有一个要加载的内容的数据库webview 如我所愿从数据库中选择并在网页视图中显示 有什么办法可以做到吗 public class TataworatYawmeeh extends Activity WebView w
  • 共享内存与 Go 通道通信

    Go 的口号之一是不要通过共享内存进行通信 相反 通过通信来共享内存 http golang org doc effective go html concurrency 我想知道 Go 是否允许在同一台机器上运行的两个不同的 Go 编译的二
  • Jupyter python3笔记本无法识别pandas

    我正在使用 Jupyter 笔记本并选择了 Python 3 在单元格的第一行我输入 import pandas as pd 我从笔记本中得到的错误是 ImportError 没有名为 pandas 的模块 如何将pandas安装到jupy
  • 使用 matplotlib 设置网络中的动态节点形状

    第一次在这里发帖 请大家多多包涵 我正在尝试在 Networkx 中绘制不同类型的字符网络 并希望为每种类型设置不同的节点形状 例如 我希望角色是圆形 生物是三角形等 我已经尝试了几个小时来解决这个问题并进行了广泛的搜索 但我还没有找到一种
  • 如何验证自签名认证

    我会清楚地向您提供我的问题 以便您可以回答我 我有一个使用 SslStream 保护的客户端 服务器 套接字 连接 据我所知 使用 ssl 确保我的客户端只会连接到我的服务器 为此 我必须向客户端添加一个函数来验证服务器认证并确保服务器是真
  • ClassNotFoundException,在运行 Hadoop 示例作业时

    我已经开始做一些关于 hadoop 的事情了 它已设置并正常运行 现在我正在做一个单节点 独立集群 我正在尝试运行示例作业 如上面提到的http hadoop apache org common docs r0 18 3 mapred tu
  • 干预图片圆角上传

    我正在尝试将文件上传为圆圈 但无法使其工作 我看过一些有关对图像应用蒙版的主题 但是当我应用蒙版时 它需要很长时间并且服务器会关闭请求 我正在使用Intervention ImageLaravel 的库 我的代码如下 identifier
  • ANR keyDispatchingTimedOut 错误

    当我尝试使用 DOM 解析 RSS 时 我在我的应用程序中遇到了强制向下错误 但是 这并不总是强制向下问题 这是 logcat ANR keyDispatchingTimedOut DALVIK THREADS main prio 5 ti
  • iOS 中接收到 APNS 时打开视图控制器

    嘿 我是 iPhone 新手 我一直在尝试使用 Apple 推送通知 基本上 我想要做的是 当用户单击收到的推送通知消息时 我需要打开一个特定的视图控制器 我已将带有关键参数 type 的自定义数据添加到我的负载 JSON 中 因此代表通知
  • Dagger2 继承的子组件多重绑定

    希望经过日复一日的研究这个非常感兴趣的主题 继承的子组件 后在这里找到一些帮助multibindings你可以在这里找到继承的子组件多重绑定 https dagger dev multibindings这是该页面的最后一个主题 根据官方文档
  • Windows通用应用程序无需网络即可连续听写

    按照此处提供的示例 https github com Microsoft Windows universal samples https github com Microsoft Windows universal samples很好地概述
  • 使用钢筋时的常见测试覆盖报告

    我有一个使用 Rebar 的 Erlang 应用程序 并且有使用 Common Test 编写的测试 我想查看这些测试的测试覆盖率报告 因此我在我的rebar config file cover enabled true 然而 通用测试报告
  • 如何为 pytorch 图层指定名称?

    下列的上一个问题 https stackoverflow com questions 66137298 how to detect source of under fitting and vanishing gradients in pyt
  • 向 SQL Server 插入数据不起作用,但没有错误消息显示

    我正在使用 asp net 4 5 和 SQL Server 2008 Express 我想将表单的数据插入到我的数据库中 连接字符串正常并且可以在另一个页面中工作 但在此页面中 插入按钮似乎只是刷新页面并且没有发生插入 代码 protec
  • 什么准则适合确定何时将类成员实现为属性还是方法?

    The 已开始出现在 赞助者 区域中的信息似乎表明该属性仅适用于逻辑数据成员 请参阅文档的第 34 35 页 在以下情况下 方法被认为是适当的 该操作是一个转换 例如Object ToString 该操作的成本足够高 您希望告知用户他们应该
  • 强制 rvest 识别表(html_tag(x) == "table" 不是 TRUE)

    我似乎永远无法得到html table 上班 这是一个完美的例子 试图刮6场比赛 桌子 library rvest hockey lt html http www hockey reference com boxscores 2015 3
  • 汇编扩展寄存器不工作

    我对 Assembly 和 TASM 相当陌生 我有以下问题 我想使用寄存器的扩展版本 特别是 EBX 通过使用下面的代码 但没有 386 指令 它不起作用 说 未定义的符号 EBX 但有了它 它无法识别 INT 21h 指令 据我了解 该