编辑: 雨林姑娘 | 2013-04-15 |
5 中断结构.5-1 5.1 概述 5-1 5.1.1 中断级 (Levels)5-1 5.1.2 中断向量 (Vectors)5-1 5.1.3 中断源 (Sources)5-1 5.1.4 中断类型.5-2 5.1.5 S3F84B8 中断结构.5-3 5.1.5.1 中断向量地址.5-4 5.1.5.2 使能/禁止中断的指令 (EI, DI)5-5 5.1.5.3 系统级中断控制寄存器 5-5 5.1.6 中断处理控制要点 5-6 5.1.7 外围中断控制寄存器.5-7 5.1.8 系统模式控制寄存器 (SYM)5-8 5.1.9 中断屏蔽寄存器 (IMR)5-9 5.1.10 中断优先级控制寄存器 (IPR)5-10 5.1.11 中断请求寄存器 (IRQ)5-12 5.1.12 中断标志位类型.5-13 5.1.12.1 概述 5-13 5.1.12.2 硬件自动清零的标志位 5-13 5.1.12.3 需在中断服务程序里手动清零的标志位.5-13 5.1.13 中断响应的步骤.5-13 5.1.14 中断服务程序 5-14 5.1.15 中断向量地址的生成 5-14 5.1.16 中断嵌套.5-15 5.1.17 指令指针 (IP)5-15 Rev. 0.0, Jan.2009 5.1.18 快速中断处理 5-15 5.1.18.1 快速中断处理 (续)5-15 5.1.18.2 快速中断处理的过程.5-16 5.1.18.3 快速中断服务程序.5-16 5.1.19 编程指导.5-16
6 指令集 6-1 6.1 概述 6-1 6.1.1 数据类型.6-1 6.1.2 寄存器访问.6-1 6.1.3 寻址模式.6-1 6.1.4 标志寄存器 (FLAGS)6-5 6.1.5 标志位描述.6-6 6.1.6 指令集符号.6-7 6.1.7 条件码 6-11 6.1.8 指令集描述.6-12 6.1.8.1 ADC―带进位加法 (Add with Carry)6-13 6.1.8.2 ADD―加法 (Add)6-14 6.1.8.3 AND―逻辑与 (Logical AND)6-15 6.1.8.4 BAND―位与 (Bit AND)6-16 6.1.8.5 BCP―位比较 (Bit Compare)6-17 6.1.8.6 BITC―位反 (Bit Complement)6-18 6.1.8.7 BITR―位清零 (Bit Reset)6-19 6.1.8.8 BITS―位置1 (Bit Set)6-20 6.1.8.9 BOR―位或 (Bit OR)6-21 6.1.8.10 BTJRF―位测试,若为假相对跳转 (Bit Test, Jump Relative on False)6-22 6.1.8.11 BTJRT―位测试,若为真,相对跳转 (Bit Test, Jump Relative on True)6-23 6.1.8.12 BXOR―位异或 (Bit XOR)6-24 6.1.8.13 CALL―程序调用 (Call Procedure)6-25 6.1.8.14 CCF―进位标志位取反 (Complement Carry Flag)6-26 6.1.8.15 CLR―清零 (Clear)6-27 6.1.8.16 COM―取反 (complement)6-28 6.1.8.17 CP―比较 (Compare)6-29 6.1.8.18 CPIJE―比较,增加一,若相等跳转 (Compare, Increment, and Jump on Equal)6-30 6.1.8.19 CPIJNE―比较,增加一,不等跳转 (Compare, Increment, Jump on Non-Equal)6-31 6.1.8.20 DA―十进制调整 (Decimal Adjust)6-32 6.1.8.21 DA―十进制调整 (Decimal Adjust)6-33 6.1.8.22 DEC―字节减1 (Decrement)6-34 6.1.8.23 DECW―字减1 (Decrement Word)6-35 6.1.8.24 DI―屏蔽全局中断 (Disable Interrupts)6-36 6.1.8.25 DIV―无符号除法 (Unsigned Divide)6-37 6.1.8.26 DJNZ―减1,如果非零,跳转 (Decrement and Jump if Non-Zero)6-38 6.1.8.27 EI―使能全局中断 (Enable Interrupts)6-39 6.1.8.28 ENTER―进入 (Enter)6-40 6.1.8.29 EXIT―退出 (Exit)6-41 6.1.8.30 IDLE―空闲指令 (Idle Operation)6-42 6.1.8.31 INC―加1 (Increment)6-43 6.1.8.32 INCW―字加1 (Increment Word)6-44 Rev. 0.0, Jan.2009 6.1.8.33 IRET―中断返回 (Interrupt Return)6-45 6.1.8.34 JP―跳转 (Jump)6-46 6.1.8.35 JR―相对跳转指令 (Jump Relative)6-47 6.1.8.36 LD―传送数据 (Load)6-48 6.1.8.37 LD―传送数据 (Load)6-49 6.1.8.38 LDB―传送位数据 (Load Bit)6-50 6.1.8.39 LDC/LDE―传送程序/外部数据存储器数据 (Load Memory)6-51 6.1.8.40 LDC/LDE―传送程序/外部数据存储器数据 (Load Memory)6-52 6.1.8.41 LDCD/LDED―传送数据之后地址减1 (Load Memory and Decrement)6-53 6.1.8.42 LDCI/LDEI―传送数据后地址加1 (Load Memory and Increment)6-54 6.1.8.43 LDCPD/LDEPD―传送数据前地址减1 (Load Memory with Pre-Decrement)6-55 6.1.8.44 LDCPI/LDEPI―传送数据前地址加1 (Load Memory with Pre-Increment)6-56 6.1.8.45 LDW―传送字数据 (Load Word)6-57 6.1.8.46 MULT―无符号数乘法 (Unisigned Multiply)6-58 6.1.8.47 NEXT―Next 指令.6-59 6.1.8.48 NOP―空操作 (No Operation)6-60 6.1.8.49 OR―逻辑或 (Logical OR)6-61 6.1.8.50 POP―出栈 (Pop from Stack)6-62 6.1.8.51 POPUD―弹出用户栈 (自减) (Pop User Stack (Drementing)6-63 6.1.8.52 POPUI―弹出用户栈 (自增) (Pop User Stack (Incrementing)6-64 6.1.8.53 PUSH―压栈 (Push to Stack)6-65 6.1.8.54 PUSHUD―压入用户栈 (自减) Push User Stack (Decrementing)6-66 6.1.8.55 PUSHUI―压入用户栈 (自增) Push User Stack (Incrementing)6-67 6.1.8.56 RCF―C清0 (Reset Carry Flag)6-68 6.1.8.57 RET―子程序返回 (Return)6-69 6.1.8.58 RL―左移 (Rotate Left)6-70 6.1.8.59 RLC―带进位左移(Rotate Left Through Carry)6-71 6.1.8.60 RR―右移 (Rotate Right)6-72 6.1.8.61 RRC―带进位右移(Rotate Right Through Carry)6-73 6.1.8.62 SB0―选择 Bank