1.检测点10.1
补全程序,实现从内存1000:0000处开始执行指令。
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
说明:执行retf指令时,先出栈的数据送入IP,后出栈的数据送入CS,所以相关数据进栈时要先将CS数据入栈,再将IP数据入栈。
2.检测点10.2
下面的程序执行后,ax中的数值为多少?答案:(ax)=0006H
内存地址 机器码 汇编指令
1000:0 b80000 mov ax,0
1000:3 e80100 call s
1000:6 40 inc ax
1000:7 58 s:pop ax
说明:“mov ax,0”执行完后(IP)=3,取指令“call s”后,(IP)=(IP)+3=6,然后执行“call s”,先将IP值入栈,然后跳转到s,栈顶数据值为6,所以执行完“pop ax”后(ax)=6。
3.检测点10.3
下面的程序执行后,ax中的数值为多少?答案:(ax)=1010H
内存地址 机器码 汇编指令
1000:0 b80000 mov ax,0
1000:3 9a09000010 call far ptr s
1000:8 40 inc ax
1000:9 58 s:pop ax
add ax,ax
pop bx
add ax,bx
说明:“mov ax,0”执行完后(IP)=3,取指令“call far ptr s”后,(IP)=(IP)+5=8,然后执行“call far ptr s”,先将(CS)=1000H入栈,再将(IP)=8入栈,然后跳转到s执行,此时栈顶数据是0008H,“pop ax”后(ax)=8,“add ax,ax”后,(ax)=10H,此时栈顶数据为1000H,“pop bx”后,(bx)=1000H,所以最后执行完“add ax,bx”后(ax)=1010H。
4.检测点10.4
下面的程序执行后,ax中的数值为多少?答案:(ax)=000BH
内存地址 机器码 汇编指令
1000:0 b80000 mov ax,6
1000:2 ffd0 call ax
1000:5 40 inc ax
1000:6 mov bp,sp
add ax,[bp]
说明:“mov ax,0”执行完后(IP)=3,取指令“call ax”后,(IP)=(IP)+2=5,然后执行“call ax”,先将(IP)=5入栈,然后跳转到(IP)=6处执行“mov bp,sp”,将栈顶的偏移地址送入bp,“add ax,[bp]”中“[bp]”未显式指明段,则段地址默认存放在ss中,而ss:[bp]内容为0005H,所以最后(ax)=0006H+0005H=000BH。
- [游客] 可以用耶! 11/23 11:31
- [harryxiyou] 好样的,我一直最喜欢汇编,应该叫 ASSEMBLY LANGUAGE,更贴切,哈哈。 08/17 16:16
- [till] 唉 哪是总结哦 就是抄一遍而已 “应的机器码:E9 disp ” 明显的错误都发现不了 07/17 15:49
- [zouhehui] 写的非常好,佩服! 11/29 11:21
- [hs1024] 支持··来向你学习 07/14 14:01
- [游客] 谢谢博主 11/28 00:48
- [mouselove] 偏移地址是16位寄存器,它的取值范围是0000H~FFFFH 11/16 15:41
- [游客] 不好意思,这个问题很愚蠢,偏移地址可以为零。 11/16 14:52
- [mwh1987] 有一个问题:偏移地址能否为零? 11/16 10:21
- [游客] 谢谢您的帮助,谢谢!! 08/24 14:43
- [游客] [url=http://www.gddzbq.com]深圳搬家公司[/url] [url=http 03/02 15:09
- [nono] 博主是高手啊 经验丰富 我目前上大学,刚刚接触汇编 以后还请博主多多指教 11/25 16:32
- [sirius] 你好啊 我也是刚看 王爽老师的 汇编语言 但是有些地方还是很模糊 你还有什么更直接的联系 06/06 19:29
- [游客] 你好啊 我也是刚看 王爽老师的 汇编语言 但是有些地方还是很模糊 你还有什么更直接的联系方式 06/06 10:28
- [color] 像你学习! 05/11 19:30
- [sirius] 你喜欢它,就会觉得好玩,如果你怕它,就会觉得枯燥,我一开始很怕它,现在不怕了,嘿嘿 04/22 22:49
- [wuerlang] 真的勇士,敢于直面枯燥的汇编 ------- 其实汇编很有趣,也好玩的。 04/22 08:33