解答:《汇编语言》王爽第二版 实验4第3题第2空 为什么是17H
本帖最后由 sanders 于 2019-10-18 22:56 编辑这不是提问 是解答
第(3)题
编译好程序后,用r、d和u命令分别查看各寄存器信息、内存中的数据和每条指令对应的字节数。
书91页提到“debug将程序从可执行文件加载入内存后,cx中存放的是程序的长度”,r命令查到cx=001c,u命令查到“int 21h”后的偏移地址值为1C,正好对应起来(长度是从00H到1BH,长是1CH)。
[*]问题1:复制的是什么?从哪里到哪里?
[*]答:指令在内存中是以二进制形式存放的,所以复制的是数据。从cs:0000h~cs:0016h复制到0:200~0:216
[*]问题2:有多少字节?如何知道要复制的字节数量
[*]答:根据上面命令查到的,共有1Bh(27)个字节。要复制的数量即为loop下一条指令的偏移地址的值(也就是17个)。
为什么是17个?因为本程序的loop循环里是一个字节一个字节地复制,所以要复制的次数即为要复制的指令的字节数。
权限不够不能插图 完整版在B站专栏cv3788352 本帖最后由 jackz007 于 2019-10-18 21:57 编辑
楼主,你这么提问让人非常莫名其妙!把代码文本贴出来啊,鼻子、眼睛、耳朵、嘴巴怎么了,咱们也好对着图说呀。 jackz007 发表于 2019-10-18 21:56
楼主,你这么提问让人非常莫名其妙!把代码文本贴出来啊,鼻子、眼睛、耳朵、嘴巴怎么了,咱们也好 ...
这不是提问 是解答
页:
[1]