assembly 汇编代码如何运行及指令周期中的一些问题

fnvucqvd  于 2022-11-13  发布在  其他
关注(0)|答案(1)|浏览(131)
Mov Ah,02
Mov dl,43
Int 21
Mov dl,0C

在第二行中,字符43在加载到DL寄存器之前在内存或寄存器中?字符43的地址将在执行操作之前加载到MAR和MBR中?,

lf5gs5x2

lf5gs5x21#

mov dl, 43中的数字43是一个 * 立即数 *。它被编码到指令中。也就是说,mov dl, 43的机器码由mov dl, imm的操作码字节和一个给出要加载的值的字节组成,在本例中为43。
所有的指令都是从内存中提取出来执行的,所以从这个意义上来说,数字43是在内存中的。

foo: db 43
...
mov dl, [foo]

特别是,值43没有任何有用意义上的地址(从技术上讲,机器代码中的字节43存在于内存中的某个地址,但该地址并没有被显式使用)。
我不知道你说的MAR或MBR是什么意思。

相关问题