1、指令格式
(1)举例:将立即数0x30送入累加器A
MOV A, #0x30
标号 操作码 目标地址,数据源 ;注解
(2)标号,注解可选项,不一定有。
2、指令执行时间和指令存储空间
(1)指令执行时间为指令周期,一条指令需要1~4个机器周期。
(2)指令存储空间:指令转换为机器码所占的字节数。
(3)指令字节数:不包含立即数和直接地址指令只有一个字节,包含其一的话就是两个字节,都包含的话就是三个字节。
3、寻址方式(针对数据源而言)
寻址方式是每一种计算机的指令集中不可缺少的部分。寻址方式规定了数据的来源和目的地。对不同的程序指令,来源和目的地的规定也会不同。
3.1、立即寻址
(1)立即寻址也称立即数,它是在指令操作数中直接给出参加运算的操作数。
(2)举例: MOV A,#30H ;将立即数30H传送到累加器A中。
(3)汇编中0x30等价于30H。
(4)汇编文件以.asm结尾。
3.2、直接寻址
(1)在直接寻址方式中,指令操作数域给出的是参加运算操作数的地址。
(2)举例: MOV A,0x30 ;把0x30这个地址中的值赋值给寄存器A。
(3)“D:”表示Data数据段,"C:"表示Code代码段。
3.3、寄存器寻址
(1)寄存器寻址是对选定的寄存器中的数进行操作。
(2)举例: MOV A,R0 ;把R0寄存器中的值赋值给寄存器A。
3.4、寄存器间接寻址
(1)寄存器间接寻址采用R0或R1前添加"@"符号来表示。
(2)举例: MOV A,@R0 ;把R0中的数据取出,当作一个地址,把地址对应的数据赋值给寄存器A
(3)@后面跟的寄存器只能是R0或R1。
3.5、基址变址寻址
(1)在变址寻址方式中,指令操作数指定一个存放变址基值的变址寄存器。变址寻址时,偏移量于变址基值相加,其结果作为操作数的地址。变址寄存器有程序计数器PC和地址寄存器DPTR。
(2)举例: MOVC A,@A+DPTR
(3)表示累加器A为偏移量寄存器,DPTR为存放基值的变址寄存器;A寄存器中的内容与地址寄存器DPTR中的内容相加,其结果作为操作数的地址,取出该单元中的数送入累加器A。
3.6、相对寻址
略
3.7、位寻址
略