检测点2.3
执行下面3条指令后,cpu几次修改ip,最后ip值为?MOV AX,BX
SUB AX,AX
JMP AX
答:第一条指令占三个字,执行完成后cpu修改ip=ip+3;通过cs:ip顺序执行下一条指令,同样占三个字的空间,执行完成后,cpu修改ip=ip+3;
继续执行下一条指令ax=0,指令占2个字节空间,指令使ip值修改为ax。因此cpu共修改ip3次,最后ip值为0。
谢谢分享 难道不是ip=ax吗
我认为应该是4次,因为是先累加ip数,再执行代码,三条代码ip变换3次,但最后一条语句会修改,所以我认为是4次, 答:一共修改四次
第一次:读取mov ax,bx之后
第二次:读取sub ax,ax之后
第三次:读取jmp ax之后
第四次:执行jmp ax修改IP
最后IP的值为0000H,因为最后ax中的值为0000H,所以IP中的值也为0000H
学到秃为止 发表于 2020-3-10 23:23
答:一共修改四次
第一次:读取mov ax,bx之后
正解 有点错误,这三条指令每个指令占用的字节数都是2个字节
页:
[1]