CH559指令周期.doc

Similar documents

微處理機

DPJJX1.DOC

HD61202 HD HD61203 HD61202, HY HY HD61202 HD61202 HD61203 HD =4096 RAMRAM LCD 2HD HD HD /32--

AN-8203 FCM8531 用户手册

untitled

Microsoft PowerPoint - chap4.ppt

1. 介绍 义隆 8 位单片机指令介绍 Application Notes 义隆 8 位单片机指令介绍 EM78/EM88 系列是基于 RISC 的精简指令微控制器, 每条指令是 13 位 15 位, 除 LCALL LJMP MOV R2,A ADD R2,A 改变 PC 指针的指令是 2 个指令

Microsoft PowerPoint - chap5.ppt

» n ¹ú KS0108 x ÍÍÙ q n KS0108 KS KS0107 KS0108 KS *32 128*64 192*64 KS0108 KS0108 KS0107 KS =4096 RAM RAM LCD 2 KS

CA24064B LED LED LED EL EL CCFL EL CCF /

Microsoft PowerPoint - chap2.ppt

µPSD3000 系列

学习MSP430单片机推荐参考书

1-1 SH79F6431 A. 2( ) 9~15V ( 12V) U2 U3 3.3V SH79F B. 1(VCC/GND) SH79F6431 C. VDDIO SH79F6431 P4 P5 P0.6 P0.7 VDDIO VDDIO=5V D. 2 V 1.0

untitled

PowerPoint 簡報

Microsoft Word - P3.doc

??????????????????

微處理機期末專題

1 TPIS TPIS 2 2

单片机学习教程

<4D F736F F D20B3E6B4B9A4F930365F32A443AC71C5E3A5DCBEB9B1B1A8EE2E646F63>

12232A LED LED LED EL EL CCFL EL CCF

目 录

Microsoft Word - 專題封面.doc

TSINGTEK DISPLAY CO.,LTD LCD CONTROLLER & DRIVER ST7920 OR EQUIVALENT (f) 639 2A f B1

() () () () () () () () DDRAM () II

第5章:汇编语言程序设计

dfgdafhdafhdafhdafh

1.1 ML_ONOFF = 1 Q 3 Q 8 C 0.3V M 2 L 1 ML_ONOFF = 0 Q 3 Q 8 C 1. + R31 VCC R21 10K ML_ONOFF R15 0:off 1:on 1K Green Light VCC=5V L1 Q VDD=12V C

Microsoft Word - IRFWX_A051_C_SyncMOS_with_STC_APN_SC_.doc

Microsoft Word - FM12232C.doc

Microsoft Word - ISSFA-0134_A_AP_User-definedDownload_SC_.doc

2 Keil µ vision 2.1 1) Keil µ vision2 V2.34 µ vision3 2) Sino_Keil.exe Keil c:\keil\ 3) JET51 USB PC C:\Keil\ USB PC 4) S-L

Microsoft PowerPoint - chap7.ppt

Microsoft Word - 透析8051之迴圈控制方法.doc

,768 32,767 32K JMP Jnnn (386+) LOOP CALL [Label:] JMP short/near/far address L10: jmp jmp L20: L10 L20

MSP430ϵÁе¥Æ¬»úµÄÖ¸Áîϵͳ.pps [¼æÈÝģʽ]

电 阻 应 变 式 传 感 器 是 将 被 测 量 的 力, 通 过 它 产 生 的 金 属 弹 性 变 形 转 换 成 电 阻 变 化 的 元 件 由 电 阻 应 变 片 和 测 量 线 路 两 部 分 组 成 电 阻 应 变 片 产 生 的 误 差, 主 要 来 源 于 温 度 的 影 响, 本

Microsoft PowerPoint - chap12.ppt

Microsoft PowerPoint - chap3.ppt

W77E58中文手册

杨欣王玉凤刘湘黔编著清华大学出版社 2008 年 1 月 ISBN 单片机应用从零开始 8051Microcontroller: An Applications Based Introduction 第 1 章 身边的单片机 欢迎访问电路飞翔网

6 C51 ANSI C Turbo C C51 Turbo C C51 C51 C51 C51 C51 C51 C51 C51 C C C51 C51 ANSI C MCS-51 C51 ANSI C C C51 bit Byte bit sbit

Microsoft Word - FG12232A.doc

逢 甲 大 學

AT89C2051中文资料.doc

Microsoft Word - ~ doc

Ps22Pdf

AVR单片机指令系统.PDF

<4D F736F F D20B5DAC8FDCBC4D5C2D7F7D2B5B4F0B0B82E646F63>

C8051F330/1 ISP FLASH : (024) :

Microsoft PowerPoint - C15_LECTURE_NOTE_15

untitled

1

Microsoft Word - ZX12232B.doc


微型计算机原理及应用试题 机电96

Microsoft Word - FX-T8048C256A.doc

Microsoft Word - ISSFA-0237_A_SM39R_series_EEPROM_APN_TC_.doc

8051初学实验教程系列五.doc

概 述

untitled

SC91F711v1.2

93C46串行EEPROM数据读写

Microsoft Word - 1-3陳詠琳-近代..

<4D F736F F D20C7B6C8EBCABDCFB5CDB3C9E8BCC6CAA6B0B8C0FDB5BCD1A75FD1F9D5C22E646F63>

Microsoft Word 箕æ−¥ï¼‹å®ı稿;

98年度即測即評學科測試與即測即評即發證技術士技能檢定簡章

江人发2009年第49号突发事件应对法培训.doc

Transcription:

CH55X 汇编指令周期表 CH55X 汇编指令概述 : 型号包含 : a. 指令单周期型号 :CH557 CH558 CH559; b. 指令 4 周期型号 :CH551 CH552 CH553 CH554; c. 非跳转指令的指令周期数与指令字节数相同 ; d. 跳转指令含 MOVC/RET/CALL 通常比字节数多若干个周期 ; e.movc 指令多 4 或 5 个周期 ( 下条指令地址为奇数时多 5 个周期 ); f.ret/reti 指令多 3 或 4 个周期 ( 返回地址为奇数时多 4 个周期 ); g. 其余指令多 2 或 3 个周期 ( 目标地址是奇数时多 3 个周期 ); h. 条件跳转指令如果未发生跳转则周期数与指令字节数相同 ; 注 : 以上周期是指当前 CH55X 的系统主频的倒数 类别 指令格式 功能描述 指令指令字节周期 传送 MOV A, Rn (Rn) (A)Rn 中的内容送到累加器 A 中,Rn=R0-R7 类指 MOV A,data (data) (A) 直接单元地址中的内容送到累加器 A 令 (Ri) (A)Ri 内容指向的地址单元中的内容送到累加 MOV A,@Ri (29 器 A,Ri=R0 或 R1 MOV A,#data #data (A) 立即数送到累加器 A 中 MOV Rn,A (A) (Rn) 累加器 A 中的内容送到寄存器 Rn 中 MOV Rn,data (data) (Rn) 直接寻址单元中的内容送寄存器 MOV Rn,#data #data (Rn) 立即数直接送到寄存器 Rn 中 MOV data,a (A) (data) 累加器 A 中的内容送直接寻址单元 MOV data,rn (Rn) (data) 寄存器中的内容送直接寻址单元 MOV data2,data1 (data1) (data2) 直接寻址单元中的内容 1 送直接寻址单元 2 MOV data,@ri (Rn) (data) 寄存器中的内容送直接寻址单元 MOV data,#data #data (data) 立即数送直接寻址单元 MOV @Ri,A (A) ((Ri)) 累加器 A 中的内容送到以 Ri 中的内容为地址的 RAM 单元 MOV @Ri,data (data) ((Ri)) 直接寻址单元内容送到以 Ri 中的内容为地址的 RAM 单元 MOV @Ri,#data #data ((Ri)) 立即数送到以 Ri 中的内容为地址的 RAM 单元 MOV #datah (DPH),#dataL (DPL)16 位常数的高 8 位送 DPTR,#data16 到 DPH, 低 8 位送到 DPL MOVX A,@DPTR ((DPTR)) (A) 数据指针指向外部 RAM(16 位地址 ) 的内容送到累加器 A MOVX A,@Ri ((Ri)) (A) 寄存器 Ri 指向外部 RAM(8 位地址 ) 的内容送到累加器 A 中 MOVX @DPTR,A (A) ((DPTR)) 累加器中的内容送到数据指针指向外部 RAM(16 位地址 ) MOVX @Ri,A (A) ((Ri)) 累加器中的内容送到寄存器 Ri 指向外

算术运算类指令 (24 部 RAM(8 位地址 ) MOVC A,@A+DPTR ((A))+(DPTR) (A) 表格地址单元中的内容送到累加器 A 中 1 5/6 MOVC A,@A+PC ((PC))+1 (A),((A))+(PC) (A) 表格地址单元中的内容送到累加器 A 中 1 5/6 XCH A,Rn (A) (Rn) 累加器与工作寄存器 Rn 中的内容互换 XCH A,data (data) (A) 累加器 A 的内容与直接寻址单元的内容交换 XCH A,@Ri (A) ((Ri)) 累加器与工作寄存器 Ri 所指的存储单元中的内容互换 XCHD A,@Ri (A3-0) ((Ri)3-0) 累加器与工作寄存器 Ri 所指的存储单元中的内容低半字节互换 SWAP A (A3-0) (A7-4) 累加器中的内容高低半字节互换 PUSH data (SP)+1 (SP),(data) (SP) 堆栈指针首先加 1, 直接寻址单元中的数据送到堆栈指针 SP 所指的单元中 (SP) (data)(sp)-1 (SP), 堆栈指针 SP 所指的单 POP data 元数据送到直接寻址单元中, 堆栈指针 SP 再进行减 1 操作 ADD A,Rn (A)+(Rn) (A) 累加器 A 中的内容与工作寄存器 Rn 中的内容相加, 结果存在 A 中 ADD A,data (A)+(data) (A) 累加器 A 中的内容与直接地址单元中的内容相加, 结果存在 A 中 ADD A,@Ri (A)+((Ri)) (A) 累加器 A 中的内容与工作寄存器 Ri 所指向地址单元中的内容相加, 结果存在 A 中 ADD A,#data (A)+#data (A) 累加器 A 中的内容与立即数 #data 相加, 结果存在 A 中 ADDC A,Rn (A)+Rn+(C) (A) 累加器 A 中的内容与工作寄存器 Rn 中的内容 连同进位位相加, 结果存在 A 中 ADDC A,data (A)+(data)+(C) (A) 累加器 A 中的内容与直接地址单元的内容连同进位位相加, 结果存在 A 中 ADDC A,@Ri (A)+((Ri))+(C) (A) 累加器 A 中的内容与工作寄存器 Ri 指向地址单元中的内容 连同进位位相加, 结 果存在 A 中 ADDC A,#data (A)+#data +(C) (A) 累加器 A 中的内容与立即数连同进位位相加, 结果存在 A 中 INC A (A)+1 (A) 累加器 A 中的内容加 1, 结果存在 A 中 INC Rn (Rn)+1 (Rn) 寄存器 Rn 的内容加 1, 结果送回原地址单元中 INC data (data)+1 (data) 直接地址单元中的内容加 1, 结果送回原地址单元中 INC @Ri ((Ri))+1 ((Ri)) 寄存器的内容指向的地址单元中的内容加 1, 结果送回原地址单元中 INC DPTR (DPTR)+1 (DPTR) 数据指针的内容加 1, 结果送回数据指针中 SUBB A,Rn (A)-(Rn)-(C) (A) 累加器 A 中的内容与工作寄存器

逻辑操作指令 (24 中的内容 连同借位位相减, 结果存在 A 中 SUBB A,data (A)-(data)-(C) (A) 累加器 A 中的内容与直接地址单元中的内容 连同借位位相减, 结果存在 A 中 SUBB A,@Ri (A)-((Ri))-(C) (A) 累加器 A 中的内容与工作寄存器 Ri 指向的地址单元中的内容 连同借位位相减, 结果存在 A 中 SUBB A,#data (A)-#data -(C) (A) 累加器 A 中的内容与立即数 连同借位位相减, 结果存在 A 中 DEC A (A)-1 (A) 累加器 A 中的内容减 1, 结果送回累加器 A 中 DEC Rn (Rn)-1 (Rn) 寄存器 Rn 中的内容减 1, 结果送回寄存器 Rn 中 DEC data (data)-1 (data) 直接地址单元中的内容减 1, 结果送回直接地址单元中 DEC @Ri ((Ri))-1 ((Ri)) 寄存器 Ri 指向的地址单元中的内容减 1, 结果送回原地址单元中 MUL AB (A) (B) (A) 和 (B) 累加器 A 中的内容与寄存器 B 中的内容相乘, 结果存在 A B 中 (A) (B) (A) 和 (B) 累加器 A 中的内容除以寄存器 B DIV AB 中的内容, 所得到的商存在累加器 A, 而余数存在寄 存器 B 中 DA A 累加器进行 10 进制转换 ANL A,Rn ANL A,direct ANL A,@Ri ANL A,#data ANL data,a ANL data,#data ORL A,Rn ORL A,data ORL A,@Ri ORL A,#data ORL data,a 累加器 A 的内容和寄存器 Rn 中的内容执行与逻辑操作, 结果存在累加器 A 中 累加器 A 中的内容和直接地址单元中的内容执行与逻辑操作, 结果存在寄存器 A 中 累加器 A 的内容和工作寄存器 Ri 指向的地址单元中的内容执行与逻辑操作, 结果存在累加器 A 中 累加器 A 的内容和立即数执行与逻辑操作 结果存在累加器 A 中 直接地址单元中的内容和累加器 A 的内容执行与逻辑操作, 结果存在直接地址单元中 直接地址单元中的内容和立即数执行与逻辑操作, 结果存在直接地址单元中 累加器 A 的内容和寄存器 Rn 中的内容执行逻辑或操作, 结果存在累加器 A 中 累加器 A 中的内容和直接地址单元中的内容执行逻辑或操作, 结果存在寄存器 A 中 累加器 A 的内容和工作寄存器 Ri 指向的地址单元中的内容执行逻辑或操作, 结果存在累加器 A 中 累加器 A 的内容和立即数执行逻辑或操作, 结果存在累加器 A 中 直接地址单元中的内容和累加器 A 的内容执行逻辑或操作, 结果存在直接地址单元中 ORL data,#data 直接地址单元中的内容和立即数执行逻辑或操作, 结

控制转移指令 (16 果存在直接地址单元中 XRL A,Rn 累加器 A 的内容和寄存器 Rn 中的内容执行逻辑异或操作, 结果存在累加器 A 中 XRL A,data 累加器 A 中的内容和直接地址单元中的内容执行逻辑异或操作, 结果存在寄存器 A 中 XRL A,@Ri 累加器 A 的内容和工作寄存器 Ri 指向的地址单元中的内容执行逻辑异或操作, 结果存在累加器 A 中 XRL A,#data 累加器 A 的内容和立即数执行逻辑异或操作, 结果存在累加器 A 中 XRL data,a 直接地址单元中的内容和累加器 A 的内容执行逻辑异或操作, 结果存在直接地址单元中 XRL data,#data 直接地址单元中的内容和立即数执行逻辑异或操作, 结果存在直接地址单元中 CLR A 0 (A), 累加器中的内容清 0 CPL A 累加器中的内容按位取反 RL A 累加器 A 中的内容左移一位 RR A 累加器 A 中的内容右移一位 RLC A 累加器 A 中的内容连同进位位 CY 左移一位 RRC A 累加器 A 中的内容连同进位位 CY 右移一位 LJMP addr16 addr16 (PC), 给程序计数器赋予新值 (16 位地址 ) 3 5/6 AJMP addr11 (PC)+2 (PC),addr11 (PC10-0) 程序计数器赋予新值 (11 位地址 ),(PC15-11) 不改变 SJMP rel (PC)+ 2 + rel (PC) 当前程序计数器先加上 2 再加上偏移量给程序计数器赋予新值 JMP @A+DPTR (A)+(DPTR) (PC), 累加器所指向地址单元的值加上数据指针的值给程序计数器赋予新值 1 3/4 JZ rel JNZ rel CJNE A,#data,rel CJNE Rn,#data,rel CJNE @Ri,#data,rel CJNE A,data,rel DJNZ Rn,rel A=0,(PC)+ 2 + rel (PC), 累加器中的内容为 0, 则转移到偏移量所指向的地址, 否则程序往下执行 A 0,(PC)+ 2 + rel (PC), 累加器中的内容不为 0, 则转移到偏移量所指向的地址, 否则程序往下执行 A #data,(pc)+ 3 + rel (PC), 累加器中的内容不 等于立即数, 则转移到偏移量所指向的地址, 否则程 3 4/5 序往下执行 A #data,(pc)+ 3 + rel (PC), 工作寄存器 Rn 中的 内容不等于立即数, 则转移到偏移量所指向的地址, 3 4/5 否则程序往下执行 A #data,(pc)+ 3 + rel (PC), 工作寄存器 Ri 指向 3 4/5 地址单元中的内容不等于立即数, 则转移到偏移量所 指向的地址, 否则程序往下执行 A (data),(pc)+ 3 + rel (PC), 累加器中的内容不 等于直接地址单元的内容, 则转移到偏移量所指向的地址, 否则程序往下执行 3 4/5 (Rn)-1 (Rn),(Rn) 0,(PC)+ 2 + rel (PC) 工作寄 存器 Rn 减 1 不等于 0, 则转移到偏移量所指向的地址, 3 4/5 否则程序往下执行

位操 作指 令 (18 DJNZ data,rel LCALL addr16 ACALL addr11 (Rn)-1 (Rn),(Rn) 0,(PC)+ 2 + rel (PC) 直接地 址单元中的内容减 1 不等于 0, 则转移到偏移量所指 向的地址, 否则程序往下执行 长调用指令, 可在 64kB 空间调用子程序 此时 (PC)+ 3 (PC),(SP)+ 1 (SP),(PC7-0) (SP),(SP)+ 1 (SP),(PC15-8) (SP),addr16 (PC), 即分别从 堆栈中弹出调用子程序时压入的返回地址 绝对调用指令, 可在 2kB 空间调用子程序, 此时 (PC)+ 2 (PC),(SP)+ 1 (SP),(PC7-0) (SP),(SP)+ 1 (SP),(PC15-8) (SP),addr11 (PC10-0) 3 4/5 3 4/5 RET 子程序返回指令 1 4/5 RETI 中断返回指令,RETI 指令不能用 RET 代替 1 4/5 MOV C,bit bit CY, 某位数据送 CY MOV bit,c CY bit,cy 数据送某位 CLR C 0 CY, 清 CY CLR bit 0 bit, 清某一位 SETB C 1 CY, 置位 CY SETB bit 1 bit, 置位某一位 CPL C CY 取反 CPL bit Bit 取反 ANL C,bit CY 和 bit 相与, 结果存放到 CY ANL C,/bit CY 和 bit 的反码相与, 结果存放到 CY ORL C,bit CY 和 bit 相或, 结果存放到 CY ORL C,/bit CY 和 bit 的反码相或, 结果存放到 CY JC rel JNC rel JB bit,rel JNB bit,rel JBC bit,rel NOP (CY)=1 转移,(PC)+2+rel PC, 否则程序往下执行, (PC)+2 PC (CY)=0 转移,(PC)+2+rel PC, 否则程序往下执行, (PC)+2 PC 位状态为 1 转移,(PC)+3+rel PC, 否则程序往下执 行,(PC)+3 PC 位状态为 0 转移,(PC)+3+rel PC, 否则程序往下执 行,(PC)+3 PC 位状态为 1 转移, 并使该位清 0,(PC)+3+rel PC, 否则程序往下执行,(PC)+3 PC 这条指令除了使 PC 加 1, 消耗一个机器周期外, 没有 执行任何操作, 可用于短时间的延时 新增指令 DB #0A5 XRAM 快速复制指令 新增指令使用示例 : ;New Instruction: ;Instruction Code: 0xA5 ;Instruction Cycle: 1 ;Instruction Operation: MOVX @DPTR1,A ;step-1. write ACC @DPTR1 into xdata SRAM embedded chip ;step-2. increase DPTR1

ASM example: INC XBUS_AUX MOV DPTR,#TARGET_ADDR ;DPTR1 DEC XBUS_AUX MOV DPTR,#SOURCE_ADDR ;DPTR0 MOV R7,#xxH LOOP: MOVX A,@DPTR ;DPTR0 INC DPTR ;DPTR0, if need DB 0A5H ;MOVX @DPTR1,A & INC DPTR1 DJNZ R7,LOOP 注 : 标记为灰色, 代表指令字节数不等于执行该指令需要的机器周期 ;