汇编语言学习整理

命令功能注释举例
addADD DATA[SI],AL 向data的第si位加 AL的值

sub

SUB  AL,37h

dec

减  -1 
inc加  +1 
mov移动、获取

MOV BX,BUFFER

LEA   BX,BUFFER = MOV  BX. OFFSET BUFFER

mov送值,lea送地址

LEA

目的地址传送指令

取有效地址指令

   

JMP

无条件转移
向后引用的标号可以不写运算符 SHORT
target :…               ;先定义标号 target
:                            ;相对位移量不超过-128~+ 127
JMP target              ;后引用标号 target
向前引用的标号应当写明运算符 SHORT
JMP SHORT target   ;先引用标号 target
:                             ;相对位移量不超过-128~+ 127
target :…                ;此处定义标号 target
 

JNE/JNZ

JS

JNS

JP/JPE

JNP/JPO

JO

JNO

JC

JNC

JB/JNAE

JAE/JNB

JA/JNBE

JBE/JNA

JG/JNLE

JGE/JNL

JL/JNGE

JLE/JNG

JCXZ

不等于 / 非零转移 JNE/JNZ (ZF) 1
负转移 JS (SF) 1
正转移 JNS (SF) 0
偶转移 JP/JPE (PF) 1
奇转移 JNP/JPO (PF) 0
溢出转移 JO (OF) 1
不溢出转移 JNO (OF) 0
进位转移 JC (CF) 1
不进位转移 JNC (CF) 0
低于 / 不高于或不等于转移 JB/JNAE (CF) 1 无符号数
高于或等于 / 不低于转移 JAE/JNB (CF) 0 无符号数
高于 / 不低于或不等于转移 JA/JNBE (CF) 0 (ZF) 0 无符号数
低于或等于 / 不高于转移 JBE/JNA (CF) 1 (ZF) 1 无符号数
大于 / 不小于或不等于转移 JG/JNLE (SF) (OF) (2F) 0 带符号数
大于或等于 / 不小于转移 JGE/JNL (SF) (OF) 带符号数
小于 / 不大于或不等于转移 JL/JNGE (SF) (OF) (ZF) 0 带符号数
小于或等于 / 不大于转移 JLE/JNG (SF) (OF) (ZF) 1 带符号数
CX 等于零转移 JCXZ (CX) 0
  
 
   
HLT停止 
   
NEG求负数或绝对值 
CMP比较
执行比较指令 CMP 后,被比较的两个操作数内容均保持不变,而比较结果反映在标志寄存器中
MUL/IMUL有符号/无符号乘法 
DIV/IDIV无符号除法/带符号 
   
CBW字节扩展change byte(8bit) to word(16bit)
CWD字扩展change word to double word(32bit)
   
ADD 

OR

 
XOR异或 
NOR 
   
SHL左移shift left
SHR右移0100 -> 0010
SAR算数右移0100 ->0110
ROL/RCL循环左移 
ROR/RCR循环右移 

循环控制指令
loop            本指令的操作是先将 CX 的内容减 1,如结果不等于零,则转到指令中指定的短标号处;否则,顺序执行下一条指令。
loope/loopz        本指令的操作是先将 CX 的内容减 1,如结果不等于零,且零标志(ZF)=1 则转移到指定的短标号。 值等于零的情况
loopne/loopnz    本指令的操作是先将 CX 的内容减 1,如结果不等于零,且零标志(ZF)=0 则转移到指定的短标号。值不等于零的情况

过程调用指令
call                    相当于调用一个固定的函数
过程返回指令
ret                        类似于函数里的return

串操作指令共有以下五条:串传送指令(MOVS)、串装入指令(LODS)、串送存指令(STOS)、串比较指令(CMPS)和串扫描指令(SCAS)。


一般情况下,汇编语言的语句可以由 1~4 部分构成:
[名字:] 助记符 [操作数] [;注释] 
其中带方括号的部分表示任选项,既可以有,也可以没有。如:
LOOPER: MOV AL,DATA[SI] ;取一个字节数
DATAl DB 0F8H,60H,0ACH,74H,3BH ;定义数组

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值