keil跳转指令不跳转_8086微处理器中的跳转指令

keil跳转指令不跳转

Jump Instructions are used for changing the flow of execution of instructions in the processor. If we want jump to any instruction in between the code, then this can be achieved by these instructions. There are two types of Jump instructions:

跳转指令用于更改处理器中指令的执行流程。 如果我们要跳转到代码之间的任何指令,则可以通过这些指令来实现。 跳转指令有两种类型

  1. Unconditional Jump Instructions

    无条件跳转指令

  2. Conditional Jump Instructions

    条件跳转指令

1)无条件跳转指令 (1) Unconditional Jump Instructions)

These instructions are used to jump on a particular location unconditionally, i.e. there is no need to satisfy any condition for the jump to take place. There are three types of procedures used for unconditional jump. They are:

这些指令用于无条件跳转到特定位置,即,无需满足任何条件即可进行跳转。 有三种类型的过程用于无条件跳转。 他们是:

  1. NEAR – This procedure targets within the same code segment. (Intra-segment)

    NEAR –此过程针对同一代码段。 (段内)

  2. SHORT - This procedure also targets within the same code segment, but the offset is 1 byte long. (Intra-segment)

    简短内容 -此过程也以同一代码段为目标,但偏移量为1个字节长。 (段内)

  3. FAR - In this procedure, the target is outside the segment and the size of the pointer is double word. (Inter-segment)

    FAR-在此过程中,目标位于段之外,指针的大小为双字。 (部门间)

    Syntax:     JMP  procedure_namememory_location
    Example:    JMP  short  target

2)有条件的跳跃 (2) Conditional Jumps)

In these types of instructions, the processor must check for the particular condition. If it is true, then only the jump takes place else the normal flow in the execution of the statements is maintained.

在这些类型的指令中,处理器必须检查特定条件。 如果为true,则仅发生跳转,否则将保持语句执行中的正常流程。

The ALU operations set flags in the status word (Flag register). The conditional jump statements tests the flag and jump is the flag is set.

ALU操作在状态字(标志寄存器)中设置标志。 条件跳转语句测试该标志,并且跳转是设置了标志的条件。

There are following types of conditional jump instructions:

有以下几种类型的条件跳转指令:

i) JC : Stands for 'Jump if Carry'

i)JC:代表“随身携带跳跃”

It checks whether the carry flag is set or not. If yes, then jump takes place, that is: If CF = 1, then jump.

它检查是否设置了进位标志。 如果是,则发生跳转,即: 如果CF = 1,则跳转。

ii) JNC : Stands for 'Jump if Not Carry'

ii)JNC:代表“不携带则跳跃”

It checks whether the carry flag is reset or not. If yes, then jump takes place, that is: If CF = 0, then jump.

它检查进位标志是否被重置。 如果是,则发生跳转,即: 如果CF = 0,则跳转。

iii) JE / JZ : Stands for 'Jump if Equal' or 'Jump if Zero'

iii)JE / JZ:代表“等于时跳转”或“零时跳转”

It checks whether the zero flag is set or not. If yes, then jump takes place, that is: If ZF = 1, then jump.

它检查是否设置了零标志。 如果是,则发生跳转,即: 如果ZF = 1,则跳转。

iv) JNE / JNZ : Stands for 'Jump if Not Equal' or 'Jump if Not Zero'

iv)JNE / JNZ:代表“如果不等于则跳”或“如果非零则跳”

It checks whether the zero flag is reset or not. If yes, then jump takes place, that is: If ZF = 0, then jump.

它检查零标志是否被重置。 如果是,则发生跳转,即: 如果ZF = 0,则跳转。

v) JP / JPE : Stands for 'Jump if Parity' or 'Jump if Even Parity'

v)JP / JPE:代表“如果奇偶校验就跳”或“如果偶校验就跳”

It checks whether the Parity flag is set or not. If yes, then jump takes place, that is: If PF = 1, then jump.

它检查是否设置了奇偶校验标志。 如果是,则发生跳转,即: 如果PF = 1,则跳转。

vi) JNP / JPO : Stands for 'Jump if Not Parity' or 'Jump if Odd Parity'

vi)JNP / JPO:代表“如果不是奇偶校验则跳转”或“如果奇校验奇校验则跳转”

It checks whether the Parity flag is reset or not. If yes, then jump takes place, that is: If PF = 0, then jump.

它检查是否重置了奇偶校验标志。 如果是,则发生跳转,即: 如果PF = 0,则跳转。

翻译自: https://www.includehelp.com/embedded-system/jump-instructions-in-8086-microprocessor.aspx

keil跳转指令不跳转

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值