检测点2.3
本帖最后由 郝凡呀 于 2021-2-13 11:32 编辑下面的3条指令执行后,CPU几次修改IP?都在什么时候?最后IP的值是多少?
mov ax,bx
sub ax,ax
jmp ax
答:CPU四次修改IP,IP指的是偏移地址,用于执行下一条指令所以是在每一条指令执行完后修改的IP,假设从IP=0001H开始的,执行mov ax,bx完后修改一次,设字节是2,则此时的IP=0003H,执行sub ax,ax后修改一次,设有2个字节,此时IP=0005H,在执行jmp ax后再修改一次,设此时的字节是2,则此时的0007H,此时IP再跳转此时的cs等于都一个数IP=0000。
sub指令是用前一个ax-后一个ax的值赋值给前一个ax。
如有错误,望不吝赐教。{:5_110:} HF老师 有一个问题,这里说了"每一条指令执行完后修改的IP",执行mov ax,bx第一条指令修改一次,执行 sub ax,ax,又修改一次,执行jmp ax又修改一次,那不等于修改了3次吗?咋是4次?大大的问号 程序人生 发表于 2022-1-2 11:06
有一个问题,这里说了"每一条指令执行完后修改的IP",执行mov ax,bx第一条指令修改一次,执行 sub ax,ax,又修 ...
读完指令IP就会自动增加了,不用等指令执行,在第三条指令读取完jmp ax后,IP增加0002H,此时IP已修改三次。
接着执行jmp ax指令,由于在第二条指令sub是减法,ax减去ax后为0000H,因此执行jmp ax后,IP被改成0000H,至此总共修改四次。 简介明了,感谢感谢{:10_297:} 先“+1”后跳转 tyyfly 发表于 2022-4-20 07:26
读完指令IP就会自动增加了,不用等指令执行,在第三条指令读取完jmp ax后,IP增加0002H,此时IP已修改三 ...
那他AX的值又和IP有什么关系呢,为什么AX-AX=0,jmp ax后IP也为0呢
简介明了,感谢感谢 庄自荐 发表于 2022-7-24 10:44
那他AX的值又和IP有什么关系呢,为什么AX-AX=0,jmp ax后IP也为0呢
jmp 某一合法寄存器
这是一段指令,其功能为:用这一寄存器中的值修改IP。
其意义可以近似理解为:mov IP,ax(只是理解用,并非真的存在)。 HHeLiBeB 发表于 2022-9-23 15:55
jmp 某一合法寄存器
这是一段指令,其功能为:用这一寄存器中的值修改IP。
其意义可以近似理解为:mov...
感谢看了你评论明白了
页:
[1]