问题标签 [x86-16]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
assembly - 使用 INT 21h (DOS) 和 8086 组件读取数字
我需要提示用户一个告诉他写一个数字的消息,然后我存储这个数字并对其进行一些操作在 INT 21h 中搜索后我发现了这个:
主要问题是这只读取一个字符并将其表示为 ASCII 所以如果我需要写数字“357”,我会将它读为 3 , 5 , 7
这不是我的目标。有任何想法吗 ?
assembly - 卡在 Maze HW 上,里面有信息。请组装emu8086
http://jbwyatt.com/253/a/a5Mazes.htm
那是我作业的链接。
我把迷宫画了出来,而让我困惑的终点和起点是如何开始其他任务。我通常会立即学习编程语言,但汇编对我来说是一个巨大的头痛。
如果有人能给我一些例子并指出我正确的方向,我应该能够克服减速带并加油。
assembly - TurboShell/TurboAsm 中的“Var2 DW Var1”是什么意思?
为什么下面的代码可以完美编译?
“Var2 Dw Var1”这一行是什么意思?我认为只有立即值可以跟在类型定义之后。
assembly - ds:si 和 es:di 在汇编中是什么意思?
movsb(移动字符串,字节)指令获取地址 ds:si 处的字节,将其存储在地址 es:di,然后将 si 和 di 寄存器递增或递减 1。
我知道 esi,si 和 edi,di 寄存器,
但不是ds:si
和es:di
,
他们的意思是什么?
assembly - 为什么这个程序集 .com 文件不停地打印 2?
这是用 .com 文件编写的 16 位机器的汇编代码:它是 gcd 计算的代码,有 2 个函数:calc_gcd 调用 clac_mod。calc_mod 工作正常,我假设 calc_gcd 也是如此,但是 calc_gcd 中的打印将数字 2(BTW 正确答案)无限次打印到屏幕上。这是为什么?
assembly - 为什么 CMP(比较)有时会在 8086 汇编中设置进位标志?
我一直在阅读 8086 指令集,它说 CMP(比较)可以设置进位标志。我知道比较减去两个操作数,但我想知道在这种情况下是否有人可以提供一个例子。
我只是无法掌握添加数字的想法,而负数将设置进位标志。我已经阅读了借用标志,但我只需要一个示例来阐明我对比较指令的理解。
另外,我知道如果 3 - 5 = -2 会设置负标志......何时设置进位?
stack - 堆栈如何成为先进先出?
当我在本文的第 4 页读到8086 中的堆栈使用 FIFO 时,我感到很惊讶!!!堆栈如何成为先进先出?
是文章错了还是背后有概念???我搜索了大约一个小时,但有些网站说它是 FIFO 和一些 LIFO 怎么可能两者兼而有之!在这里期待正确的答案...请帮助...
assembly - x86 16 位汇编语言中的中断 69 是什么?
我正在查看一些片段并看到这些行(.com
文件的一部分):
做什么INT 69
?
我没有在网上找到任何东西,我也没有在这里找到任何东西:
奇怪的是,没有任何值移动AH
到.AL
INT 69
exe - 如何识别 MZ exe 文件中代码段的结尾?
我已经为我的计算机体系结构类编写了反汇编程序,我想知道是否有任何方法可以知道 MZ Exe DOS 文件(x8086 intel 体系结构)中代码段的结束位置和数据段的开始位置。
assembly - 8086 汇编 - DIV 变猿,IP 无休止地跳到一个奇怪的位置
我被这个问题困扰了一天,没有找到任何相关信息..
我的代码中有这一部分需要一个数字(例如 259)并将其数字分隔到数组槽中。
我一直在 turbo 调试器上调试它。第一个分区工作正常。(25 到 ax,9 到 dx).. 下一个部门,IP 变成猿,只是跳转到命令“db FE”,然后一次又一次地循环。
我到底做错了什么?问: