导图社区 8051指令
8051指令知识总结,包括逻辑指令、控制转移指令(允许跳转后,PC+该指令周期)、位操作指令、伪指令、传送指令、算术指令等等。
社区模板帮助中心,点此进入>>
互联网9大思维
组织架构-单商户商城webAPP 思维导图。
域控上线
python思维导图
css
CSS
计算机操作系统思维导图
计算机组成原理
IMX6UL(A7)
考试学情分析系统
指令
逻辑指令
ANL
将两个操作数的内容按位进行逻辑与运算
ORL
将两个操作数的内容按位进行逻辑或运算
XRL
将两个操作数的内容按位进行逻辑异或运算
简单逻辑指令
CPL
对操作数内容求反
左移
RL
将操作数的内容向左环移一位
RLC
除法 除 2
将操作数的内容带进位位CY向左环移一位
右移
RR
将操作数的内容向右环移一位
RRC
乘法 乘 2
将操作数的内容带进位位CY向右环移一位
SWAP
将操作数的高半字节与低半字节交换
例:0111 1010 SWAP A 1010 0111
控制转移指令(允许跳转后,PC+该指令周期)
短跳转指令
长跳转指令
相对转移指令
散转指令
条件转移指令
比较不相等转移指令
减1不为0转移指令
子程序返回指令
中断返回指令
位操作指令
位数据传送指令: MOV 位变量修改指令: 置“0”: CLR 取反: CPL 置“1”: SETB 位变量逻辑“与”:ANL 位变量逻辑“或”:ORL
伪指令
设置起始地址
ORG
定义字节
DB
定义字
DW
保留存储器空间
DS
伪标号赋值
EQU
源程序结束
END
传送指令
堆栈
PUSH
进栈
首先将堆栈指针SP的内容加 1, 然后将直接地址所指出的内容送进SP指出的内部RAM单元
POP
出栈
将SP所指出的内部RAM单元的内容送入由直接地址所指出的字节单元, 同时将堆栈指针SP的内容减1
有关堆栈
在进栈时,每个进入的数据都由一个对应的地址,即堆栈指针所指的地址 每进入一个数据,堆栈指针就向下移动一次, 在出栈时,每一个数据读出,则堆栈指针发生变化,指针向“上”移动
传送
MOV
与片内RAM进行数据交换 高位用间接寻址 地位用间接寻址或直接寻址
MOVX
片外RAM或I/O口与累加器A之间的数据传递类指令 间接寻址
MOVC
与ROM进行数据交互
交换
XCH
将两个操作数的内容进行交换
XCHD
两个操作数的低半字节进行交换
算术指令
算数运算指令
累加
一般在多字节数相加时, 低字节相加用ADD , 高字节相加就用ADDC。
ADD
将累加器A的内容与第二操作数的内容相加, 结果送回累加器A中
ADDC
在执行加法时,还要将上一次进位标志CY的内容一起加进去
INC
将操作数的内容加1,但不影响标注位
累减
SUBB
将累加器A的内容与第二操作数的内容相减, 同时减去上一次进位标志位CY, 结果送回累加器A中
DEC
将操作数的内容减1,但不影响标注位
乘法
MUL AB
将累加器A与B中的两个8位无符号整数相乘, 乘积为16位整数,乘积第八位存在累加器A中,高八位存在累加器B中, 若乘积大于255(0FFH),则溢出标志位置“1”,否则清“0”。 进位标志位总是被清“0”。
除法
DIV AB
将累加器A与B中的两个8位无符号整数相除, 商的整数部分存在累加器A中,余数部分存在累加器B中, 清“0”进位标志位CY和标志位OV,若原B内容为0,则除法后A和B的内容不确定。 进位标志位总是被清“0”。
十进制调整位
DA
按照十进制规律