美文网首页
汇编语言学习笔记(五)jmp 指令

汇编语言学习笔记(五)jmp 指令

作者: Rui哥 | 来源:发表于2018-02-20 19:43 被阅读348次

一 jmp 指令

  • CPU 从何处执行指令是由CS:IP中的内容决定,我们可以通过改变CS IP 的内容来控制CPU的执行指令.

  • 8086 提供了一个MOV指令(传送指令),可以用来修改大部分寄存器的值,比如:

mov ax , 10
mov bx , 20
mov cx , 30
mov dx , 40

  • 但是,mov 指令不能用于设置CS IP的值,8086 没有提供这样的功能.

  • 8086 提供了另外的指令来修改CS IP 的值,这些指令统称为转移指令,最简单的是jmp 指令.

如果想同时修改 CS IP的内容,可用形如"jmp 段地址:偏移地址" 的指令完成,如下:

jmp 2AE3:3 执行后: cs=2AE3H, IP= 0003H,CPU 将从2AE3H处读取指令.

jmp 3:0B16 执行后: cs=0003H, IP= 0B16H,CPU 将从00B46H处读取指令.

jmp 段地址:偏移地址,指令的功能为:用指令中给出的段地址修改 CS,偏移地址修改IP**

二 jmp指令

  • 若想仅修IP的内容,可用形如"jmp 某一合法寄存器"的指令完成,如:

jmp ax ,指令执行前: ax = 1000H,CS = 2000H,IP=0003H.
指令执行后:ax = 1000H,CS = 2000H, IP = 1000H

jmp bx ,指令执行前: bx = 0B16H,CS = 2000H,IP=0003H.
指令执行后:bx = 0B16H,CS = 2000H, IP = 0B16H

"jmp 某一合法寄存器" 指令的功能为: 用寄存器中的值修改 IP

jmp ax,在含义上好似: mov IP ,ax

  • 另外,也可以"jmp 直接值"来修改IP的值,比如:"jmp 0100H"
练习1.png 练习2.png

相关文章

  • 汇编语言学习笔记(五)jmp 指令

    一 jmp 指令 CPU 从何处执行指令是由CS:IP中的内容决定,我们可以通过改变CS IP 的内容来控制CPU...

  • 汇编语言 学习笔记 (二)

    汇编语言学习笔记 三、8086基本指令 数据传送指令 通用数据传送指令 1. MOV传送指令 a. 对标志位无影响...

  • 8086 指令系统寻址方式

    整理汇编语言学习笔记,回顾一下8086 指令系统的寻址方式。 寻址与指令 寻址方式(Addressing Mode...

  • 修改EIP

    JMP指令:修改EIP的值 CALL指令 RET指令:

  • <<汇编语言>>第9~10章笔记

    转移指令 jmp指令 jmp 为无条件转移指令,可以只修改IP,也可以同时修改CS和IPjmp指令要给出的两种信息...

  • 汇编偏移

    Call指令主要实现对一个函数的调用。Jmp指令主要实现地址的调转。 Call指令和Jmp指令的区别1:Call指...

  • 6.汇编-修改EIP的指令

    6.汇编-修改EIP的指令 EIP寄存器 EIP寄存器表示CPU下次执行的位置 JMP指令 JMP指令相当于给EI...

  • 汇编语言(第三版)-- 检测点9.1

    若要使程序中的jmp指令执行后,CS:IP指向程序的第一条指令,在data段中应该定义哪些数据? 要使jmp指令执...

  • 程序破解及ELF文件格式分析

    程序破解 NOP、JNE、JE、JMP、CMP汇编指令的机器码 NOP:NOP指令即“空指令”。执行到NOP指令时...

  • 16位汇编简记

    汇编: 汇编即是机器指令助记符,机器指令让cpu工作。像是mov、jmp、jcxz等汇编指令都有对应的机器指令。有...

网友评论

      本文标题:汇编语言学习笔记(五)jmp 指令

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