汇编语言上天之路, 第43到47课(转移原理)
第四十三到四十七课(转移原理)转移分为改变IP和同时改变CS:IP两种
短转移short修改IP的范围为(-128~127)以补码方式存放
近转移near的IP修改范围为(-32768~32767)也是以补码方式存放
汇编语言中offset 标号,如offset start就是取标号start的偏移地址
jmp short 标号 实现的是段内的短转移,范围为-128~127
jmp的实现,jmp short s的机器码为EBXX(占两个字节)
CPU在执行JMP时候并不需要转移的目的地址,而是要转移的位移
1.先读取Jmp指令机器码到指令缓冲期
2.ip = ip + jmp short s指令的长度
3.执行缓冲指令器的指令就IP + XX
jmp near ptr 标号实现段内近转移(范围为-32768~32767),机器码为E9XXXX,占三个字节
1.先读取Jmp指令机器码到指令缓冲期
2.ip = ip + 16位位移(-32768~32767)
3.执行缓冲指令器的指令就IP + XX
jmp far ptr 标号实现段间转移
jmp fat ptr 标号的机器码为EAXXXXXXXX,占5个字节,高四位表示段地址,低四位表示偏移地址
jmp地址的用法
jmp 16位的reg jmp word ptr 内存单元地址 jmp doword ptr 内存单元地址
ip = 16位reg ip = 内存地址 ip = 高四位为段地址,低四位为偏移地址
jcxz就是cx=0就跳转(范围只能是8位的近跳转)
**** Hidden Message ***** 上天入地就有你!{:10_256:} 小甲鱼 发表于 2017-7-10 18:12
上天入地就有你!
上鱼神的车不会翻{:10_289:}
页:
[1]