常见汇编语言指令解释:
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
PC是一个16位的程序计数器。用于存放和指示下一条要执行的指令的地址。寻址范围达64KB。PC有自动加1功能,以实现程序的顺序执行。PC没有地址,是不可寻址的,无法用指令对它进行读写。但在执行转移、调用、返回等指令时能自动改变其内容,以改变程序的执行顺序。
参数代表的意义:
1、Rn 表示R0~R7中的一个
2、#data 表示8位的数值 00H~FFH
3、direct 表示8位的地址 00H~FFH(指的是内部RAM或SFR的地址)
4、@Ri 表示寄存器间接寻址只能是R0或者R1
5、@DPTR 表示数据指针间接寻址
6、bit 表示位地址
7、$ 表示当前地址
常见汇编语言指令解释:
寄存器寻址 MOV A,R1将R1中的数值赋予A
直接寻址 MOV A,3AH将地址3AH中的数值赋予A
立即寻址 MOV A,#3AH将3AH数值赋予A
寄存器间址 MOV A,@R0 将 R0中地址的数值赋予A
变址寻址 MOVC A,@A+DPTR以A中的数值为地址偏移量进行查表
相对寻址 AJMP MATN跳转到行号为MATN处
位寻址 MOV C,7FH 将位地址7FH的数值赋予C
MOV A,#3AH数据传输、赋值命令
PUSH direct将direct为地址的数值压入堆栈中
POP direct将direct为地址的数值弹出堆栈
XCH A,direct将direct中的数值与A进行交换
ADD A,direct将direct中的数值与
INC direct将direct中的数值加1
SUBB A,direct将A中的数值减去direct中的数值和Cy值,并保存在A中,如果想使用不带Cy减法,可以在运算前对Cy清零:CLR C DEC direct将direct中的数值减1
DA A 用于对BCD码加减法后进行10进制调整
MUL A B将A和B相乘,并把高八位放在B中,低八位放在A中
DIV A B将A和B相除,并把商放在A中,余数放在B中
ANL A,direct将A与direct中的数值进行与运算,结果保留在A 中(与运算规律:有0出0,全1出1)
ORL A,direct将A与direct中的数值进行或运算,结果保留在A中(或运算规律:有1出1,全0出0)
XRL A,direct将A与direct中的数值进行异或运算,结果保留在A 中(异或运算规律:全0出0,全1出0,01、10出1)
CRL A 对A清零
CPL A 对A取反
RL A对A中数右移
RR A对A中数左移
RLC A 对A中数带Cy右移
RRC A对A中数带Cy左移
SWAP A 对A中的数高4位和低4位互相交换
LJMP 长跳转指令,64K地址范围
AJMP短跳转指令,2K地址范围
JZ rel如果A为0就跳转到rel行号处
JNZ rel如果A不为0就跳转到rel行号处
CJNE A,#data,rel 如果A不等于data就跳转到rel行号处DJNZ R1,rel如果R1减1后不为0就跳转到rel行号处ACALL rel 调用rel子程序,2K地址以内
LCALL rel调用rel子程序,64K地址以内
RET子程序返回指令
RETI中断程序返回指令
NOP空操作指令
MOV C,bit将位地址bit中的值赋予C
CRL bit将bit位地址清0
SETB bit将bit位地址置1
CPL bit 将bit位地址取反
ANL C,bit 将地址bit中的值和C做与运算,结果存放在C中ORL C,bit将地址bit中的值和C做或运算,结果存放在C中JC rel如果Cy为1,就跳转到rel行号处
JNC rel如果Cy为0,就跳转到rel行号处