5.1 顺序程序设计
从键盘获取一个字节
- 说明:存入AL
- 代码
MOV AH, 01H INT 21H
输出一个字节
- 说明:输出DL的对应ASCII值
- 代码
MOV DL, * MOV AH, 02H INT 21H
输出字符串
- 说明:输出偏移地址存入DX
代码
MOV DX, OFFSET LABLE MOV AH, 09H INT 21H
5.2 分支程序设计
CMP的详细解释
ZF标志位
- ZF = 1:DST = SRC
- ZF = 0:DST != SRC
CF标志位(无符号数)
- CF = 0 且 ZF = 0:DST > SRC
- CF = 1:DST < SRC
OF标志位(带符号数)
- OF = 0 且 SF = 0:DST > SRC
- OF = 0 且 SF = 1:DST < SRC
- OF = 1 且 SF = 0:DST < SRC
- OF = 0 且 SF = 1:DST > SRC
单标志条件转移指令
- JC/JNC
- JZ/JNZ:结果为0/不为0
- JS/JNS:结果为负/为正
无符号数条件转移指令
- JA/JNBE:A > B
- JAE/JNB:A >= B
- JB/JNAE:A < B
- JBE/JNA:A <= B
带符号数条件转移指令
- JG/JNLE:A > B
- JGE/JNL:A >= B
- JL/JNGE:A < B
- JLE/JNG:A <= B
CX寄存器条件转移指令
- JCXZ/JECX:CX/ECX = 0 时转移
- OF = 0 的情况比较方便记忆,OF = 1的情况可以相反记忆
- JS是值为负时转移,应当特别关注
SET*条件设置指令
跳转表
- 方式:标号 + 跳转指令
- 重要代码