8086汇编环境的使用

先打开emu8086,写入代码

;给11003H的地址赋1234H的值

;不能直接给DS赋值需要寄存器中转
mov dx, 1100H
mov ds, dx
mov ax, 1234H
;不能直接给内存地址赋值,需要DS:[偏移地址]指向内存
mov [3H], ax

点击emulate开始模拟

8086汇编环境的使用_第1张图片

出现调试框,调试框的内容如下。左侧是当前所有寄存器的值;中间蓝色的是当前执行指令的位置,蓝色的行数就是当前执行指令的长度;右侧就是当前即将执行的指令

8086汇编环境的使用_第2张图片

点击view -> memory 查看内存

8086汇编环境的使用_第3张图片

内存列表展示

8086汇编环境的使用_第4张图片

修改默认地址,并通过list的模式展示,查看相应内存地址的值

8086汇编环境的使用_第5张图片

再次查看调试框

8086汇编环境的使用_第6张图片

可以看到

  • CS=0100H,IP=0000H,CS:IP=0100H*10H+0000H=01000H,刚好就是当前将要执行的指令的地址。

  • 当前所有数据寄存器都为0000H

  • DS=0100

点击single step执行mov dx, 01100h指令

8086汇编环境的使用_第7张图片

可以看到

  • dx寄存器的值为1100H,即dh=11,dl=00H

  • 由于上条指令的长度为3,所以IP寄存器的值加3,此时下条指令的地址为CS:IP=0100H:0003H=01003h

点击single step执行下条指令

8086汇编环境的使用_第8张图片

可以看到

  • IP=0003H+0002H,上条指令的长度为2,当前的指令长度为3

  • ds=1100H

点击single step执行下条指令

8086汇编环境的使用_第9张图片

可以看到

  • ax=1234H

  • ip=ip+0003H=0008h,CS:IP为下条指令的位置

点击single step执行下条指令

8086汇编环境的使用_第10张图片

可以看到

  • ip=ip+3=000BH

查看内存,可以看到已经完成赋值,并采用小端模式存放

8086汇编环境的使用_第11张图片

以上便是给内存赋值的全过程

你可能感兴趣的:(计组,汇编)