一、实验目的
1、掌握比较转移指令;
2 、理解条件转移和无条件转移指令的区别;
3、掌握单分支、双分支、多分支的程序设计方法;
4 、掌握循环程序设计方法
二、实验环境与原理
1、实验软硬件环境
(1)、硬件环境:惠普 64 位一体化计算机及局域网;
(2 )、软件环境:windows 8 ,红蜘蛛管理系统,MASM for Windows 。
2 、实验相关知识
(1)、无条件转移指令 JMP
JMP 是使程序无条件转移至目标处,又分为段内转移、段间转移。
(2 )、条件转移指令 JXX
a、简单条件转移指令,根据单个标志位的状态判断转移条件。
标志位 指令 转移条件 意义
CF JC CF=1 有进位/借位
JNC CF=0 无进位/借位
ZF JE/JZ ZF 1 相等/等于0
JNE/JNZ ZF=0 不相等/不等于0
SF JS SF=1 是负数
JNS SF=0 是正数
OF JO OF=1 有溢出
JNO OF=0 无溢出
PF JP/JPE PF=1 有偶数个1
JNP/JPO PF=0 有奇数个1
b 、无符号数条件转移指令。
假设在条件转移指令前使用比较指令,比较两个无符号数 A ,B ,指令进行的的操作
是
A-B ,其转移指令如下:
无符号数条件转移指令条件
指令 转移条件 意义
JA/JNBE CF=0 AND ZF=0 A>B
JAE/JNB CF=0 OR ZF=1 A ≥B
JB/JNAE CF=1 AND ZF=0 A <B
JBE/JNA CF 1 OR ZF=1 A ≤B
C、有符号数条件转移指令条件
指令 转移条件 意义
JG/JNLE OF ⊕SF 0 AND ZF=0 A>B
JGE/JNE OF ⊕SF 0 OR ZF=1 A ≥B
JL/JNGE OF ⊕SF 1 AND ZF=0 A <B
JLE/JNG OF ⊕SF 1 OR ZF=1 A ≤B
d、循环控制指令
循环指令 循环条件
LOOP 标号 CX=CX-1;若CX 小于0 ,则循环;若CX 0 ,则停止循环
LOOPNZ/LOOPNE CX=CX-1;若CX 0 且ZF 0 ,则循环
LOOPZ/LOOPE 标号 CX CX-1;若CX 0 则ZF 1,则循环
三、