第四章EM78指令系统.doc
文本预览下载声明
第四章 EM78指令系统
EM78指令概述
EM78156 EM78P156 单片机共有的 58 条指令,其宽度为 13 位。每一个指令码可分割成两部份,第一部分为标示指令功能的运算码( OPCODE ),第二部份則指出运算时所需之參数,亦即运算码( OPERAND )。而指令的类型大致可分为下列四种:
(1)控制型指令( control operation ): 如
INT...等等。
(2)面向寄存器(字节操作)型指令( register oriented ): 如
MOV A, Reg_B; move Reg_B to A ADD Reg_B, A ; add Reg_B with A, and ; save in Reg_B ... 等等。
(3)位操作型指令( bit oriented ): 如
BC,JBS...等等。
(4)常数型指令( constant operation ):如
MOV A, @0x55 ; move 0x55 to A
XOR @0xFF ;Xor A with 0xFF
一般而言,EM78 系列八位微控制器除一个指令需两个周期之外,其他的指令只需一个指令周期,除了对 PC (Program Counter)做 “写” 的指令,需二个指令周期,如 (MOV PC, A)。
EMC 汇编语言指令集
符号解说:
1.符号‘R’:代表一般用途寄存器中的其中一个。
2.符号‘B’:代表一般用途寄存器中的某一位。
3.符号‘K’:代表8位或10位的常数或内容。
4.符号‘A’:代表累加寄存器。
面向寄存器(字节操作)型指令(26条)
助记符号指令动作标志影响指令周期语言描述ADD A,RA+R-AZ,C,DC1ADDADD R,AA+R-RZ,C,DC1ADDAND A,RAR-AZ1ANDAND R,AAR-RZ1ANDCLR R0-RZ1Clear RegisterCLRA0-AZ1Clear the A registerCOM R/R-RZ1Complement R助记符号指令动作标志影响指令周期语言描述COMA R/R-AZ1Complement R,Place in ADAAA寄存器调整为BCD值C1Decimal AdjustDEC RR-1-RZ1Decrement RDECA RR-1-AZ1Decrement R,Place in ADJZ RR-1-R 结果为零就跳过下一个指令1Decrement R,Skip if 0DJZA RR-1-A 结果为??就跳过下一个指令1Decrement R,Please in A register, Skip if 0INC RR+1-RZ1Increment RINCA RR+1-AZ1Increment R,Please in AJZ RR+1-R, 结果为零就跳过下一个指令1Increment R,Skip if 0JZA RR+1-A, 结果为零就跳过下一个指令1Increment R,Place in the A regiser,Skipif 0MOV R,AA-R1Move DataMOV A,RR-AZ1Move DataMOV R,RR-RZ1Move DataOR A,RA OR R -AZ1Inclusive OROR R,AA OR R-RZ1Inclusive ORSUB A,RR-A-AZ,C,DC1SubtractSUB R,AR-A-RZ,C,DC1SubtractXOR A,RA XOR R-AZ1Exclusive ORXOR R,AA XOR R-RZ1Exclusive OR面向位操作类指令(10条)
助记符号指令动作标志影响指令周期语言描述BC R,B0-R(B)1Bit ClearBS R,B1-R(B)1Bit SetJBC R,B如果R(B)=0,则跳过下一个指令1Bit Test, Skip if ClearJBS R,B如果R(B)=1,则跳过下一个指令1Bit Test, Skip if SetRLC RR(N)-R(N+1)
R(7)-C
C-R(0)C1Rotate Left R through CarryRLCA RR(N)-A(N
显示全部