检测点答案

9.1

(1)

首先因为jmp有显示指定是word ptr,所以偏移地址[bx+1]一定是一个16位的字型数据,也就是说data里要用dw来创建数据。
其次,程序的第一条指令都是CS:0000,于是偏移地址[bx+1]指定的数据要为0。

(2)

第一个空要填0,理由同上。也可以填bx
第二个空填代码段的段地址,比如cs或者data

(3)

因为是dword ptr,所以这是一个段间转移。高位为cs,低位为ip。于是CS=0006H,IP=00BEH

9.2

(1)要补全的如下

mov cl,[bx]
mov ch,0
jcxz ok
inc bx

9.3

inc cx
因为loop会先cx-1再来看是不是cx=0,所以万一cx是0的话,loop检测的cx是0-1=-1,不是0会继续循环。
;另外要注意这里的loop有C++里的do……while的感觉,如果loop s在s后面的话,是会先执行一次s里的指令的。

10.2

首先 “call 标号” 相当于 进行“ push IP”,然后“jmp near ptr 标号”。要注意的是,IP是call 标号的下一条指令的IP,而不是指令call 标号的IP。因为我们在指令的执行是先改变IP,然后再把指令送入指令缓冲器中,再执行。所以这个“call s”,执行时,push ip,是push的6而不是3。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 8086汇编 本笔记是笔者观看小甲鱼老师(鱼C论坛)《零基础入门学习汇编语言》系列视频的笔记,在此感谢他和像他一样...
    Gibbs基阅读 37,425评论 8 114
  • 王爽汇编全书知识点大纲 第一章 基础知识 机器语言 汇编语言的产生 汇编语言的组成 存储器 cpu对存储器的读写 ...
    2c3ba901516f阅读 2,455评论 0 1
  • 计算机通过执行指令序列来使机器得以工作,所以对于每一系列的计算机都有指定的一组指令集供计算机使用,这组指令...
    未来科技工作室阅读 8,160评论 1 10
  • 汇编总结 汇编的发展史 机械语言 由0和1组成的机器指令(如:0101 0001 1101 0110) 汇编语言(...
    iChuck阅读 1,339评论 1 8
  • 总觉得自己处在一个很尴尬的年纪 迫切的想独立 却又一事无成 16岁的时候幻想20岁的自己会是什么模样 嗯,原来是这...
    青城FM阅读 478评论 0 0