汇编语言程序设计
例:设数据段中NUM1,NUM2两字节单元中有无符号整数,编程完成下面的操作:
- 如两数均是偶数,两数加1后分别送入DA1、DA2字节单元
- 如两数均是奇数,两数分别直接送入DA1、DA2字节单元中
- 如一个是奇数,一个是偶数,则奇数直接送 DA1字节单元,偶数直接送DA2字节单元。
分析:依次测试NUM1和NUM2的奇偶性,有4种情况
流程图`:
源程序
DATA SEGMENT
NUM1 DB 45H
NUM2 DB 0AEH
DA1 DB ?
DA1 DB?
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE, DS:DATA
BEING:MOV AX,DATA ;置段基值于DS
MOV DS,AX
MOV AL,NUM1
MOV AH,NUM2
TEST AL,01H ;测试NUM1的奇偶性
JNE END0 ;NUM1为奇数,ZF为0,跳转移到END0,ZF为1,继续执行
TEST AH,01H
JNE L1
INC AL
INC AH
JMP END0
L1: XCHG AL,AH
END0: MOV DA1,AL
MOV DA2,AH
MOV AH,4CH
INT 21H
CODE: ENDS
END BEING
无条件转移指令
格式:
JMP 目标地址
直接寻址:目标地址通常是标号
例如: JMP NEXT;NEXT为标号
间接寻址:
段内转移:JMP CX;目标地址的偏移地址在CX中
JMP WORD PTR [BX];目标地址的偏移地址在一个字单元中
或 JMP [BX]
段间转移:JMP DWORD PTR [BX];目标地址在一个双字单元中
条件转移
:
JXX 目标地址
版权声明:本文为weixin_48437766原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。