段间转移时,高地址处为sa,低地址处为ea;先出栈的是ea,后出栈的是sa。
程序为:
assume cs:code
stack segment
db 16 dup (0)
stack ends
code segment
start: mov ax,stack
mov ss,ax
mov sp,16
mov ax,1000h
push ax
mov ax,0
push ax
retf
code ends
end start
调试如下:
H:\MYMASM>debug p191.exe
-u0 10
0CA7:0000 B8A60C MOV AX,0CA6
0CA7:0003 8ED0 MOV SS,AX
0CA7:0005 BC1000 MOV SP,0010
0CA7:0008 B80010 MOV AX,1000
0CA7:000B 50 PUSH AX
0CA7:000C B80000 MOV AX,0000
0CA7:000F 50 PUSH AX
0CA7:0010 CB RETF
-t
AX=0CA6 BX=0000 CX=0021 DX=0000 SP=0000 BP=0000 SI=0000 DI=0000
DS=0C96 ES=0C96 SS=0CA6 CS=0CA7 IP=0003 NV UP EI PL NZ NA PO NC
0CA7:0003 8ED0 MOV SS,AX
-t
AX=0CA6 BX=0000 CX=0021 DX=0000 SP=0010 BP=0000 SI=0000 DI=0000
DS=0C96 ES=0C96 SS=0CA6 CS=0CA7 IP=0008 NV UP EI PL NZ NA PO NC
0CA7:0008 B80010 MOV AX,1000
-t
AX=1000 BX=0000 CX=0021 DX=0000 SP=0010 BP=0000 SI=0000 DI=0000
DS=0C96 ES=0C96 SS=0CA6 CS=0CA7 IP=000B NV UP EI PL NZ NA PO NC
0CA7:000B 50 PUSH AX
-t
AX=1000 BX=0000 CX=0021 DX=0000 SP=000E BP=0000 SI=0000 DI=0000
DS=0C96 ES=0C96 SS=0CA6 CS=0CA7 IP=000C NV UP EI PL NZ NA PO NC
0CA7:000C B80000 MOV AX,0000
-t
AX=0000 BX=0000 CX=0021 DX=0000 SP=000E BP=0000 SI=0000 DI=0000
DS=0C96 ES=0C96 SS=0CA6 CS=0CA7 IP=000F NV UP EI PL NZ NA PO NC
0CA7:000F 50 PUSH AX
-t
AX=0000 BX=0000 CX=0021 DX=0000 SP=000C BP=0000 SI=0000 DI=0000
DS=0C96 ES=0C96 SS=0CA6 CS=0CA7 IP=0010 NV UP EI PL NZ NA PO NC
0CA7:0010 CB RETF
-t
AX=0000 BX=0000 CX=0021 DX=0000 SP=0010 BP=0000 SI=0000 DI=0000
DS=0C96 ES=0C96 SS=0CA6 CS=1000 IP=0000 NV UP EI PL NZ NA PO NC
1000:0000 C6470700 MOV BYTE PTR [BX+07],00 DS:0007=FE
-q
早上起床,体温37.05,稍有点高,也算正常吧,哈哈。
- [游客] 感谢 11/15 22:10
- [游客] 把:DD 5937000,改成:DD 4294967295,你的错误,立刻就暴露出来。呵呵 05/19 18:30
- [游客] 计算人均时,是DD型除以DW型。把DD型的最大值代进去,你的程序,就溢出了。 05/19 18:28
- [游客] 注意不溢出的除法。 05/19 18:25
- [游客] 老师好啊~ 06/28 11:01
- [longphui] 谢谢 09/03 20:10
- [longphui] 谢谢 09/03 16:23
- [longphui] 谢谢 09/02 15:26
- [longphui] 谢谢 09/02 09:13
- [sissim] 恩恩,谢谢指正 01/11 18:24
- [even3] 亲,你好。。。这边有一个汇编语言程序,但是就是不知道哪里出了问题,问了很多人,都不知道想麻烦您一下, 05/16 20:48
- [mcjfo] 楼主可以帮我解决这个问题吗?谢谢! 为什么它会跳过JMP DD 指令不执行啊 小弟搞了好久抖没 06/08 06:50