假设内存10000H中的值为23,10001H中的值为11,10002H中的值为22,10003H的值为11
在debug中执行以下代码
mov ax,1000H
mov ds,ax
mov ax,[0]
mov bx,[2]
mov cx,[1]
add bx,[1]
add cx,[2]
- 分析:8086CPU中由于段地址寄存器,无法直接赋值,因此需要先将值赋给通用寄存器然后再给ds赋值代码如下
mov ax,1000H
mov ds,ax
mov ax,23
mov [0],ax
mov ax,11
mov [1],ax
mov ax,22
mov [2],ax
mov ax,11
mov [3],ax
mov ax,[0]
mov bx,[2]
mov cx,[1]
add bx,[1]
add cx,[2]
第一行回不去了… 代码地址是 0482:0139
-r 查看当前的cs:ip
当前执行的汇编代码是 mov ax,1000
cs = 0482, ip = 0100
我们需要改变ip 来执行上面的代码
-r ip
0139
此时开始执行我们写的代码段
-t 按段执行代码