标签:push 数据 通过 image 定义 bug png 修改 执行
①使用Debug,将下面的程序段写入内存,逐条执行,根据指令执行后的实际运算情况填空。
mov ax,0021
mov ds,ax
mov ax,2200
mov ss,ax
mov sp,0100
mov ax,[0] ;ax= 3130
add ax,[2] ;ax= 6462
mov bx,[4] ;bx= 3534
add bx,[6] ;bx= 6C6A
push ax ;sp= 00FE ;修改的内存单元的地址是 2200:FE到FF 内容为 62 64
push bx ;sp= 00FC ;修改的内存单元的地址是 2200:FC到FD 内容为 6A 6C
pop ax ;sp= 00FE ;ax= 6C6A
pop bx ;sp=0100 ;bx= 6462
push [4] ;sp= 00FE ;修改的内存单元的地址是 2200:FE到FF 内容为 34 35
push [6] ;sp= 00FC ;修改的内存单元的地址是 2200:FC到FD 内容为 36 37
通过实践更直观了解栈的运行,数据处理特点,pop以及push指令
②观察实验过程,然后分析:为什么2000:0~2000:f中的内容会发生变化?
mov ss,ax ; mov sp,10 定义了栈 改变了其中的数据
标签:push 数据 通过 image 定义 bug png 修改 执行
原文地址:https://www.cnblogs.com/xyy9899/p/9893298.html