常见汇编语言指令解释:

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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行号处

相关文档
最新文档