基本汇编语言程序设计
顺序结构
分支结构
- 分支程序:使用条件转移指令来完成的分支
JMP
不会产生分支
单分支结构
双分支结构
多分支结构
- 两种处理方法
- 多条件转移指令实现(if ... else if ... else if)
- 地址表(switch case)
- 地址表(Switch Case)
1. 首先,设计分支条件,使第n个分支映射为数n
2. 然后,在存储器的数据段中定义一张入口地址表
- AddressTable DW L0, L1, L2...
3. 最后,根据条件转入对应的分支
- n号分支的地址=[入口地址表首地址 + n * 2]
:JMP AddressTable[2*n]
*2
的原因是1word=2bytes
循环结构
- 循环的一般结构:
- 初始化
- 建立循环计数器:MOV CX, n
- 初始化地址指针(假设循环是用来遍历某个表):LEA BX, BUFFER/MOV BX, OFFSET BUFFER
- 建立下标计数器:XOR SI, SI
- 清空或设置某些寄存器:XOR
- 循环体部分的编写
- 触发下一次循环的代码
- 对地址指针或下标计数器进行加
- 循环计数器减(自动进行):DEC CX
- 循环退出的确定
- 计数结束->正常退出
- 条件退出->中途退出(break
)