CPU从1000:0处开始执行指令当执行完1000:10处的指令后CPU几次修改IP__3___。
1指令# 1000:0 mov ax,8
2指令# 1000:3 jmp ax
3指令# 1000:5 mov ax,0
4指令# 1000:8 mov bx,ax
5指令# 1000:10 jmp bx
1、 4
2、 5
3、 6
4、 7
解析:1000:0 起始地址 ip 0
1000:0 movax,8 读取1指令ip0-3(由0指向3) 指向2指令
第1次
1000:3 jmp ax 执行1指令, 指向3指令 ip 3-5
第2次
执行2指令:ip跳至8[1000:5 mov ax,0 跳过不执行,直接到ip=8处] 指向4指令 ip 5-8
第3次
1000:8 mov bx,ax 读取4指令 ip指向0a 指向5指令
第4次
1000:10 jmp bx 执行4指令 读取下一指令 ip指向0c(0a+2)
第5次
执行5指令 ip跳至8 指向4指令
第6次
至此到10处指令执行完毕,然后在地址8和10处不停的跳。跳来跳去,不知道cpu累不累,也许今天太冷,跳跳暖和下。 |