之前的笔记搬运
控制转移(跳转)类
控制转移类指令用于实现分支、循环、过程等程序结构,是仅次于传送指令的最常用指令
控制转移类指令通过改变IP(和CS)值,实现程序执行顺序的改变
寻址方式:
直接寻址方式
转移地址象立即数一样,直接在指令的机器代码中,就是直接寻址方式
间接寻址方式
转移地址在寄存器或主存单元中,就是通过寄存器或存储器的间接寻址方式
转移长度:
1 | 段内转移——近转移(near) |
实际编程时,汇编程序会根据目标地址的距离,自动处理成短转移、近转移或远转移
无条件转移指令 JMP
JMP指令分成4种类型:
1 | JMP指令分成4种类型: |
有条件转移指令 Jcc
1 | Jcc指令不影响标志,但要利用标志。根据利用的标志位不同,17条指令分成4种情况: |
条件转移指令中的条件cc:
实际虽然指令只有17条,但却有31个助记符, 采用多个助记符,只是为了方便记忆和使用
1 | 无符号: A大 B小 E等于 |
循环指令(loop)
LOOP label ;CX←CX-1,
;CX≠0,循环到标号label
LOOPZ label ;CX←CX-1,
;CX≠0且ZF=1,循环到标号label
LOOPNZ label ;CX←CX-1,
;CX≠0且ZF=0,循环到标号label
循环指令利用CX计数器自动减1,方便实现计数循环的程序结构
label操作数采用相对寻址方式