(1)数据传送类指令(7种助记符)
mov(英文为move):对内部数据寄存器ram和特殊功能寄存器sfr的数据进行传送;
movc(move code)读取程序存储器数据表格的数据传送;
movx (move external ram) 对外部ram的数据传送;
xch (exchange) 字节交换;
xchd (exchange low-order digit) 低半字节交换;
push (push onto stack) 入栈;
pop (pop from stack) 出栈;
(2)算术运算类指令(8种助记符)
add(addition) 加法;
addc(add with carry) 带进位加法;
subb(subtract with borrow) 带借位减法;
da(decimal adjust) 十进制调整;
inc(increment) 加1;dec(decrement) 减1;
mul(multiplication、multiply) 乘法;
div(division、divide) 除法;
(3)逻辑运算类指令(10种助记符)
anl(and logic) 逻辑与;
xrl(exclusive-or logic) 逻辑异或;
clr(clear) 清零;cpl(complement) 取反;
rl(rotate left) 循环左移;
rlc(rotate left throught the carry flag) 带进位循环左移;
rr(rotate right) 循环右移;
rrc (rotate right throught the carry flag) 带进位循环右移;
swap (swap) 低4位与高4位交换;
(4)控制转移类指令(17种助记符)
acall(absolute subroutine call)子程序绝对调用;
lcall(long subroutine call)子程序长调用;
ret(return from subroutine)子程序返回;
reti(return from interruption)中断返回;
sjmp(short jump)短转移;ljmp长转移;
ajmp(absolute jump)绝对转移;
cjne (compare jump if not equal)比较不相等则转移;
djnz (decrement jump if not zero)减1后不为0则转移;
jz (jump if zero)结果为0则转移;
jnz (jump if not zero) 结果不为0则转移;
jc (jump if the carry flag is set)有进位则转移;
jnc (jump if not carry)无进位则转移;
jb (jump if the bit is set)位为1则转移;
jnb (jump if the bit is not set) 位为0则转移;
(3)jbc(jump if the bit is set and clear the bit) 位为1则转移,并清除该位;
nop (no operation) 空操作;
(5)位操作指令(1种助记符)
setb(set bit) 位 置1 。
1.通用数据传送指令。
mov----》 move
movsx----》extended move with sign data
movzx----》extended move with zero data
push----》push pop----》pop
pusha----》push all
popa----》pop all
pushad----》push all data
popad----》pop all data
bswap----》byte swap
xchg----》exchange
cmpxchg----》compare and change
xadd----》exchange and add
xlat----》translate
2.输入输出端口传送指令。
in----》input
out----》output
3.目的地址传送指令。
lea----》load effective address
lds----》load ds
les----》load es
lfs----》load fs
lgs----》load gs
lss----》load ss
4.标志传送指令。
lahf----》load ah from flag
sahf----》save ah to flag
pushf----》push flag popf----》pop flag
pushd----》push dflag popd----》pop dflag
二、算术运算指令
add----》add
adc----》add with carry
inc----》increase 1
aaa----》ascii add with adjust
daa----》decimal add with adjust
sub----》substract
sbb----》substract with borrow
dec----》decrease 1
nec----》negative
cmp----》compare
aas----》ascii adjust on substract
das----》decimal adjust on substract
mul----》multiplication
imul----》integer multiplication
aam----》ascii adjust on multiplication
div----》divide
idiv----》integer divide
aad----》ascii adjust on divide
cbw----》change byte to word
cwd----》change word to double word
cwde----》change word to double word with sign to eax
cdq----》change double word to quadrate word
三、逻辑运算指令
and----》and
or----》or
xor----》xor
not----》not
test----》test
shl----》shift left
sal----》arithmatic shift left
shr----》shift right
sar----》arithmatic shift right
rol----》rotate left
ror----》rotate right
rcl----》rotate left with carry
rcr----》rotate right with carry
四、串指令
movs----》move string
cmps----》compare string
scas----》scan string
lods----》load string
stos----》store string
rep----》repeat
repe----》repeat when equal
repz----》repeat when zero flag
repne----》repeat when not equal
repnz----》repeat when zero flag
repc----》repeat when carry flag
repnc----》repeat when not carry flag
五、程序转移指令
1》无条件转移指令(长转移)
jmp----》jump
call----》call
ret----》return
retf----》return far
2》条件转移指令(短转移,-128到+127的距离内)
jae----》jump when above or equal
jnb----》jump when not below
jb----》jump when below
jnae----》jump when not above or equal
jbe----》jump when below or equal
jna----》jump when not above
jg----》jump when greater
jnle----》jump when not less or equal
jge----》jump when greater or equal
jnl----》jump when not less
jl----》jump when less
jnge----》jump when not greater or equal
jle----》jump when less or equal
jng----》jump when not greater
je----》jump when equal
jz----》jump when has zero flag
jne----》jump when not equal
jnz----》jump when not has zero flag
jc----》jump when has carry flag
jnc----》jump when not has carry flag
jno----》jump when not has overflow flag
jnp----》jump when not has parity flag
jpo----》jump when parity flag is odd
jns----》jump when not has sign flag
jo----》jump when has overflow flag
jp----》jump when has parity flag
jpe----》jump when parity flag is even
js----》jump when has sign flag
3》循环控制指令(短转移)
loop----》loop
loope----》loop equal
loopz----》loop zero
loopne----》loop not equal
loopnz----》loop not zero
jcxz----》jump when cx is zero
jecxz----》jump when ecx is zero
4》中断指令
int----》interrupt
into----》overflow interrupt
iret----》interrupt return
5》处理器控制指令
hlt----》halt
wait----》wait
esc----》escape
lock----》lock
nop----》no operation
stc----》set carry
clc----》clear carry
cmc----》carry make change
std----》set direction
cld----》clear direction
sti----》set interrupt
cli----》clear interrupt
六、伪指令
dw----》define word
proc----》procedure
endp----》end of procedure
segment----》segment
assume----》assume
ends----》end segment(段, 节,片断)
end----》end
CD-ROM接口类型
中山大学研制出超高灵敏度光学超声传感器阵列
如何控制和提高LED全彩显示屏品质
第二代Tensor处理单元TPU 用AI帮你看世界!
英特尔计划将部分SoC生产外包给台积电
51单片机的汇编语言指令中英文对照
电子血压计维修怎么弄?
适合送朋友的蓝牙耳机推荐?年轻人最推荐的礼物清单!
两滴酒精修好一只电位器
如何把握MEMS的黄金十年?
关于集电极开路电路的相关知识
全球电子行业中的进化论
48 支团队“码”上行动 · 6 个赛项展现实力——开放原子开源大赛(第二批)落下帷幕
中航光电即将参加德国汉诺威工业博览会(HANNOVER MESSE)
中国工程院院士邬贺铨:工业互联网构建智慧社会的产业平台
富士康在印度建立AI研发中心 美国布局技术中心
电信级视频监控系统的应用优势及关键因素分析
单片机中红外遥控的基本原理
首届边缘计算开发者大赛获奖名单公布
基于HFSS的线阵综合分析