TA的每日心情 | 开心 2018-10-31 14:26 |
---|
签到天数: 18 天 [LV.4]偶尔看看III
高级会员
- 积分
- 1019
|
常用汇编语言指令及解释
常见汇编语言指令解释:
1.Rn 表示R0~R7中的一个
2.#data 表示8位的数值 00H~FFH
3.direct 表示8位的地址 00H~FFH
4.#data1616位立即数
5.@Ri 表示寄存器间接寻址 只能是R0或者R1
6.@DPTR 表示数据指针间接寻址,用于外部64k的RAM/ROM寻址
7.bit 表示位地址
8.$ 表示当前地址
寄存器寻址 MOV A,R1 将R1中的数值赋予A
直接寻址 MOV A,3AH 将地址3AH中的数值赋予A
立即寻址 MOV A,#3AH 将3AH数值赋予A
mov dptr,#1828h
寄存器间址 MOV A,@Ri 将 Ri中地址的数值赋予A, Ri或是R0或是R1
MOV A,@DPTR
变址寻址 MOVC A,@A+DPTR 以A中的数值为地址偏移量进行查表;变址寻址区是程序存储器ROM,而不是数据存储器RAM
相对寻址 AJMP MAIN 跳转到行号为MAIN处
位寻址 MOV C,7FH 将位地址7FH的数值赋予C
MOV C,2FH.7;
MOV C,ACC.7
MOV A,#3AH 数据传输、赋值命令
PUSH direct 将direct为地址的数值压入堆栈中
POP direct 将direct为地址的数值弹出堆栈
XCH A,direct 将direct中的数值与A进行交换
ADD A,direct 将direct中的数值与A中的数值相加
INC direct 将direct中的数值加1
SUBB A,direct 将A中的数值减去direct中的数值和Cy值,并保存在A中,如果想使用不带Cy减法,可以在运算前对Cy清零 CLR C
DEC direct 将direct中的数值减1
DA A 用于对BCD码加减法后进行10进制调整
MUL AB 将A和B相乘,并把高八位放在B中,低八位放在A中
DIV AB 将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)
CLR 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
CLR 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行号处
JBbit,rel;若BIT=1则转移
JNB bit,rel;若BIT=0则转移
JBC bit,reL;若BIT=1则转移,且BIT置1
1 加法指令:
ADD A,Rn ;ADD A,direct;
ADD A,@Ri;ADD A,#DATA
2 带CY的加法指令:
ADDC A,Rn ;ADDC A,direct ;
ADDC A,@Ri ;ADDC A,#DATA
3 加一指令:
INC A ;INCRn ;
INCdirect ;INC @Ri;INCDPTR
4 减法指令:
SUBBA,Rn;SUBB A,direct ;
SUBB A,@Ri ;SUBB A,#data
5 减一指令: DEC A ;DEC Rn ;DECdirect;DEC @Ri
6 十进制调整指令:DAA
7 乘法和除法指令:MUL AB ;乘积高八位放在B中,低八位放在A中
DIV AB ;商的整数放在A中,余数放在B中
8 逻辑异或: XRLA,Rn
虽然不懂你在说什么,但是好厉害的样子
|
|