Chinaunix首页 | 论坛 | 博客
  • 博客访问: 485254
  • 博文数量: 164
  • 博客积分: 4024
  • 博客等级: 上校
  • 技术积分: 1580
  • 用 户 组: 普通用户
  • 注册时间: 2009-10-10 16:27
文章分类

全部博文(164)

文章存档

2011年(1)

2010年(108)

2009年(55)

我的朋友

分类: 嵌入式

2009-11-09 17:00:56

助记符 操作数 解释 V N Z C
*ADC [.W]; ADC.B dst dst + C ->dst * * * *
ADD [.W]; ADD.B src,dst src +dst ->dst * * * *
ADDC[.W]; ADDC.B src,dst src + dst +C->dst * * * *
AND[.W]; AND.B src,dst src.and.dst->dst 0 * * *
BIC[.W]; BIC.B src,dst .not.src.and.dst->dst - - - -
BIS[.W]; BIS.B src,dst src.or.dst->dst - - - -
BIT[.W]; BIT.B src,dst src.and.dst->dst 0 * * *
*BR dst 转移到 - - - -
CALL dst PC+2-> 堆栈,dst->PC - - - -
*CLR[.W]; CLR.B dst 清除目的操作数 - - - -
*CLRC 清除进位位 - - - 0
*CLRN 清除负位 - 0 - -
*CLRZ 清除零位 - - 0 -
CMP[.W]; CMP.B src,dst dst-src * * * *
*DADC[.W]; DADC.B dst dst+C->dst(十进制) * * * *
DADD[.W]; DADD.B src,dst src+dst+C->dst (十进制) * * * *
*DEC[.W]; DEC.B dst dst-1 ->dst * * * *
*DECD[.W]; DECD.B dst dst-2 ->dst * * * *
*DINT 禁止中断 - - - -
*EINT 使能中断 - - - -
*INC[.W]; INC.B dst dst+1->dst * * * *
*INCD[.W]; INCD.B dst dst+2->dst * * * *
*INV[.W]; INV.B dst 目的操作数求反 * * * *
JC/JHS 标号 进位位被置时转移到标号语句 - - - -
JGE 标号 (N.XOR.V)=0 时转移到标号语句 - - - -
JL 标号 (N.XOR.V)=1 时转移到标号语句 - - - -
JMP 标号 无条件转移到标号语句 - - - -
JN 标号 负位被置时转移到标号语句 - - - -
JNC/JLO 标号 进位位复位时转移到标号语句 - - - -
JNE/JNZ 标号 零位复位时转移到标号语句 - - - -
MOV[.W]; MOV.B src,dst src->dst - - - -
*NOP 空操作 - - - -
*POP[.W]; POP.B dst 项目从堆栈弹出,SP+2→SP - - - -
PUSH[.W]; PUSH.B src SP-2→SP,src→@SP - - - -
RETI
从中断返回
TOS→SR,SP+2→SP
TOS→PC,SP+2→SZP
* * * *
*RET
从子程序返回
TOS→PC,SP+2>SP
- - - -
*RLA[.W]; RLA.B dst 算术左移 * * * *
*RLC[.W]; RLC.B dst 通过进位左移 * * * *
RRA[.W]; RRA.B dst MSB→MSB→...LSB→C 0 * * *
RRC[.W]; RRC.B dst C→MSB→......LSB→C * * * *
*SBC[.W]; SBC.B dst 从目的操作数中减去进位 * * * *
*SETC 置进位位 - - - 1
*SETN 置负位 - 1 - -
*SETZ 置零位 - - 1 -
SUB[.W]; SUB.B src,dst dst+.not.src +1 →dst * * * *
SUBC[.W]; SUBC.B src,dst dst+.not.src +C →dst * * * *
SWAP dst 交换字节 - - - -
SXT dst 位7-.位8→位9→...→位15 0 * * *
*TST[.W]; TST.B dst 测试目的操作数 0 * * 1
XOR[.W]; XOR.B src,dst src.xor.dst→dst * * * *
 
注意:带有*标志的指令是仿真指令
1. 所有带有标志(*)的指令是仿真指令。仿真指令的使用结合了CPU 的结构
和执行方法的内核指令,使得代码效率更高和速度更快。
2. “.and.”、“.or.”、“.not.”和“.xor.”分别表示逻辑“与”、“或”、
“非”和“异或”操作。
3. “→”表示“写内容到”。
4. “src”和“dst”分别表示源操作数和目的操作数。
5. 状态位中“*”表示影响,“-”表示不影响,“0”和“1”表示清零和置位。
阅读(2090) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~