义隆单片机
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
立即数寻址
这种方式就是操作数为立即数,可直接从指令中获取。
例:MOV A,@0x16
;将常数 0x16 送给寄存器 A
直接寻址
若是使用者要存取寄存器的内容,可以在运算码上直接描述。 例:將寄存器 0X20 的内容,COPY 到寄存器 0X21 中。
MOV A, 0X20 MOV 0X21, A
间接寻址
— R →A
Z 无 P6 口输入,取补后再由 P6 口输出: MOV A,0X6 MOV 0X10,A COMA 0X10 MOV 0X6,A
¾ COM R 取补
语法 编码 操作
对标志位影响
COM R 0 0100 11rr rrrr — R →R Z
深圳市瑞丰汇科技有限公司
TEL:0755-83039202 FAX:0755-83038396
AND R,A 0 0010 11rr rrrr A&R→R Z 无
深圳市瑞丰汇科技有限公司
TEL:0755-83039202 FAX:0755-83038396
举例
语法 编码 操作 对标志位影响 说明 举例
实现 R10=R11&R12: MOV A,0X11 MOV 0X10,A MOV A,0X12 AND 0X10,A
位寻址
这种位寻址是对寄存器中的任一位(bit)进行操作。
例:BS 0x12,2
;将寄存器 0x12 的第 2 位置为“1”。
EM78 指令说明
¾
ADD 加
语法 编码 操作 对标志位影响 说明
ADD A,R 0 0011 10rr rrrr A+R→A D,C,DC 无
深圳市瑞丰汇科技有限公司
TEL:0755-83039202 FAX:0755-83038396
z
2.4............................................................................................................位寻址 7-2
3. EM78 指令说明............................................................................................................ 7-2
语法 编码 操作 对标志位影响 说明 举例
BS R,b
0 101b bbrr rrrr 1→R(b) 无 R 寄存器第 b 位置 1 置 C 标志为 1: BS 0X3,0
¾
CALL
子程序调用
语法 编码 操作
对标志位影响 说明
CALL K
1 00kk kkkk kkkk PC+1→[栈顶],K→PC(9::0), R3(7::5)→PC(12::10) 无 当调用子程序时,首先将返回地址入栈,由 K 指定的 10 位地 址装入 PC(9::0),页面选择位 PS2,PS1,PS0 装入 PC(12::10)
...................................................................................................................................................... 7-1 1. EM78 指令概述............................................................................................................ 7-1
深圳市瑞丰汇科技有限公司
TEL:0755-83039202 FAX:0755-83038396
举例
HERE: CALL SUBRTN CONT: MOV A,@10 指令执行前,PC 为 HERE 地址,执行后,PC 为 SUBRTN 地址, 栈顶为 CONT 地址
¾ CLRA
清累加器 A
语法 编码 操作 对标志位影响 说明 举例
TEL:0755-83039202 FAX:0755-83038396
¾ DECA R 减 1,存于 A
语法 编码 操作 对标志位影响 说明 举例
DECA R 0 0001 10rr rrrr R—1→A Z 将 R 寄存器减 1,结果存于累加器中 说明如何制作一个计数 16 次的循环: STATUS == 3 ;状态寄存器 Z_FLAG == 2
说明 举例
无 Cห้องสมุดไป่ตู้M 0X10
¾ CONTR 读 CONT 寄存器
语法 编码 操作 对标志位影响 说明 举例
CONTR 0 0000 0001 0100 CONT→A 无 无 CONTR
¾ CONTW 写 CONT 寄存器
语法 编码 操作 对标志位影响 说明 举例
CONTW
0 0000 0000 0010 A 寄存器值送入 CONT 寄存器 无 无 MOV A,@0X83 CONTW ;0X83 为 10000011
;分频系数 1:16,预分频器分配给 TCC ;TCC 加 1 由 TCC 引脚低到高变化触 ;发,TCC 信号源为内部时钟,禁止 ;中断,P7 内部上拉禁止。
¾ DAA 十进制调整
语法 编码 操作
对标志位影响 说明
举例
DAA
0 0000 0000 0001 若[A<3::0>>9]或[DC=1] 则 A<3::0>+6-> A<3::0> 若[A<7::4>>9]或[C=1] 则 A<7::4>+6-> A<7::4>
CLR 0 INC 0X04 MOV A, 0X04 XOR A, 0X3F JBS 0X03, 2 JMP AGAIN
;設定 A = 0X20。 ;設定間接寻址寄存器(0X04) ;的內含值為 0X20 ;清除 0X04 所指的寄存器。 ;递增間接寻址寄存器(0X04) ;設定 A=0X04 寄存器的值。 ;比較間接寻址的位址是否 ;以到 0X3F。若是則結束。 ;否則在继续。
z
2.2........................................................................................................直接寻址 7-2
z
2.3........................................................................................................间接寻址 7-2
C
该指令对累加器中的 8 位数值进行调整(该值为两个组合
BCD 数之和)产生两位十进制数,每位由 4 位 2 进制数表
示
执行 6+9 的十进制加法
MOV A,@0X6
MOV 0X10,A
MOV A,@0X9
ADD A,0X10 ;A=0XF
DAA
;A=15H(组合 BCD 数)
深圳市瑞丰汇科技有限公司
AND A,K 1 1010 kkkk kkkk A&K→A Z 无 无
¾ BC
位清 0
语法 编码 操作 对标志位影响 说明 举例
¾
BS
位置 1
BC R,b
0 100b bbrr rrrr 0→R(b) 无 R 寄存器第 b 位清 0 MOV A,@0X0F MOV 0X10,A ;R10=00001111 BC 0X10,3 ;R10=00000111
指令周期外,其他的指令只需一个指令周期,。
EM78 指令寻址方式
关于对寄存器的存取,必須要先说明寄存器的位址,说明暫存的位址的方式称做寻址方式,EM78 的寻址方式 有两种,一种为直接寻址,一种为間接寻址。
深圳市瑞丰汇科技有限公司
TEL:0755-83039202 FAX:0755-83038396
(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),需二个
CLRA 0 0000 1000 0000 0→A 1→Z 无 CLRA
¾ CLR
清寄存器
语法 编码 操作 对标志位影响 说明 举例
CLR R 0 0000 11rr rrrr 0→R 1→Z 无 CLR 0X10
¾
COMA
R 寄存器取补,存于 A
语法 编码 操作
对标志位影响 说明 举例
COMA R 0 0100 10rr rrrr
¾ AND 与
语法 编码 操作 对标志位影响 说明 举例
语法 编码 操作 对标志位影响 说明
AND A,R 0 0010 10rr rrrr A&R→A Z 无 P6 口和 R10 寄存器相与,结果输出至 P6 口: MOV A,0X6 ;P6 口输入 AND A,0X10 ;相与 MOV 0X6,A ;P6 口输出
MOV A,@0X10 MOV 0X10,A LOOP:
DECA 0X10 MOV 0X10,A JBS STATUS,Z_FLAG
2. EM78 指令寻址方式.................................................................................................... 7-1
z
2.1....................................................................................................立即数寻址 7-2
这种寻址方式是通过寄存器 R4 来实现的,R4 的 bit0-5 是用来选择寄存器(地址:00-06,0F-3F) 若是使用者所需要存取的寄存器,有位址相邻的特性,使用間接寻址是很方便的。 例:写一个程序,將寄存器 0X20 ~ 0X3F 的值都填 0。
AGAIN: END:
MOV A, @0X20 MOV 0X04, A
4. 指 令 速 查 表......................................................................................................... 7-19
指令系统
EM78 指令系统
EM78 指令概述
EM78 系列单片机共有的 47 条(EM78P447 和 451、458 有 48 条) 指令,其寬度为 13 位。每一个指令码 可分割成两部份,第一部分为标示指令功能的运算码( OPCODE ),第二部份則指出运算時所需之參数,亦即运 算码( OPERAND )。而指令的类型大致可分为下列四种:
深圳市瑞丰汇科技有限公司
TEL:0755-83039202 FAX:0755-83038396
EM78 系列指令系统
目
录
z ......................................................................................................................................... EM78
举例
语法 编码 操作 对标志位影响 说明 举例
语法 编码 操作 对标志位影响 说明 举例
实现 A=R11+R12: MOV A,0X11 ADD A,0X12
ADD R,A 0 0011 11rr rrrr A+R→R Z,C,DC 无 实现 R10=R11+R12: MOV A,0X11 MOV 0X10,A MOV A,0X12 ADD 0X10,A ADD A,K 1 1111 kkkk kkkk A+K→A Z,C,DC 无 实现 A=0X01+0X01: MOV A,@0X01 ADD A,@0X01