美文网首页
[006][x86汇编语言] jmp near infi E9F

[006][x86汇编语言] jmp near infi E9F

作者: AkuRinbu | 来源:发表于2018-05-19 21:46 被阅读0次

    学习笔记

    《x86汇编语言:从实模式到保护模式》
    https://www.jianshu.com/p/d481cb547e9f

    标号

    • 标号可以由字母 数字 _ $ # @ ~ . ?组成;
    • 标号必须以字母 . _ ?中的任意一个打头;

    声明(Declare)

    并不是处理器指令,只是编译器提供的汇编指令,称为伪指令(pseudo instruction)

    • DB declare byte 声明字节
    • DW declare word 声明字
    • DD declare double word 声明双字
    • DQ declare quad word 声明四字数据

    转移指令 JMP

    • 0xEA:直接转移指令

    • 0xE9:相对转移指令
      near 仅仅用以指示相对量是16位的

    c5-4.lst

         1 00000000 E90200                  jmp near start
         2 00000003 55AA                    data db 0x55,0xaa
         3 00000005 B80000                  start:  mov ax,0
         4 00000008 EA05000020                      jmp 0x2000:0x0005
    

    e5-2.lst

    行号  汇编地址  机器码                  汇编指令                            注释
    98 0000012B E9FDFF                     infi: jmp near infi                 ;无限循环
    
    • 0xFDFF 等于十进制数 65533,本质等于 jmp -3

    https://www.jianshu.com/p/e8eea9f2ceb5

    • 当指令jmp near infi执行时,转移到的目标位置是 IP+0xFFFD+30xFFFD+3 = 0x 1 0000,处理器只使用16位的偏移地址,保留16位的结果是0x0000,导致处理器再次执行当前的指令,无限循环。

    相关文章

      网友评论

          本文标题:[006][x86汇编语言] jmp near infi E9F

          本文链接:https://www.haomeiwen.com/subject/ntfxjftx.html