文档库 最新最全的文档下载
当前位置:文档库 › 68K指令集 临时速查

68K指令集 临时速查

MOTOROLA M68000 指令集 临时速查

指令名 相关属性&解释~
┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈
ABCD Add Decimal with Extend 求和(扩展BCD码)[P107~108]
运算: 原操作数(10进制)+目的操作数(10进制)+X 置入 目的操作数
语法: ABCD Dy,Dx
ABCD -(Ay),-(Ax)
操作数长度:B
条件码(标志位): X — 置与C位相同。
N — 未定义。
Z — 结果不为零则置0;其它情况不变。
V — 未定义。
C — 如果有进位/借位则置1;其它情况置0。
┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈
ADD Add 求和 [P109~111]
运算: 原操作数+目的操作数 置入 目的操作数
语法: ADD ,Dn
ADD Dn,
操作数长度:B、W、L
条件码(标志位): X — 置与C位相同。
N — 如果结果为负数则置1;其它情况置0。
Z — 如果结果为零则置1;其它情况置0。
V — 如果发生溢出则置1;其它情况置0。
C — 如果有进位/借位则置1;其它情况置0。
┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈
ADDA Add Address 求和(地址) [P112~113]
运算: 原操作数+目的操作数 置入 目的操作数
语法: ADDA ,An
操作数长度:W、L
条件码(标志位):不受影响。
┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈
ADDI Add Immediate 求和(立即数) [P114~115]
运算: 立即数+目的操作数 置入 目的操作数
语法: ADDI #,
操作数长度:B、W、L
条件码(标志位): X — 置与C位相同。
N — 如果结果为负数则置1;其它情况置0。
Z — 如果结果为零则置1;其它情况置0。
V — 如果发生溢出则置1;其它情况置0。
C — 如果有进位/借位则置1;其它情况置0。
┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈
ADDQ Add Quick 求和(???) [P116~117]
运算: 立即数+目的操作数 置入 目的操作数
语法: ADDI #,
操作数长度:B、W、L
条件码(标志位):当目的操作数是地址寄存器的时候不受影响。
X — 置与C位相同。
N — 如果结果为负数则置1;其它情况置0。
Z — 如果结果为零则置1;其它情况置0。
V — 如果发生溢出则置1;其它情况置0。
C — 如果有进位/借位则置1;其它情况置0。
┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈

┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈
ADDX Add Extended 求和(扩展) [P118~119]
运算: 原操作数+目的操作数 置入 目的操作数
语法: ADDX Dy,Dx
ADDX -(Ay),-(Ax)
操作数长度:B、W、L
条件码(标志位): X — 置与C位相同。
N — 如果结果为负数则置1;其它情况置0。
Z — 如果结果为零则置1;其它情况置0。
V — 如果发生溢出则置1;其它情况置0。
C — 如果有进位/借位则置1;其它情况置0。
┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈
AND AND Logical 求逻辑与 [P120~122]
运算: 原操作数 “与” 目的操作数 置入 目的操作数
语法: AND ,Dn
AND Dn,
操作数长度:B、W、L
条件码(标志位): X — 不受影响。
N — 最高(有效)位为1则置1;其它情况置0。
Z — 如果结果为零则置1;其它情况置0。
V — 置0。
C — 置0。
┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈
ANDI AND Immediate 求逻辑与(立即数)[P123~124]
运算: 立即数 “与” 目的操作数 置入 目的操作数
语法: ANDI #,
操作数长度:B、W、L
条件码(标志位): X — 不受影响。
N — 最高(有效)位为1则置1;其它情况置0。
Z — 如果结果为零则置1;其它情况置0。
V — 置0。
C — 置0。
┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈
ANDI to CCR CCR AND Immediate 标志器存器、立即数求逻辑与 [P125]
运算: 立即数 “与” 标志器存器 置入 标志器存器
语法: ANDI #,CCR
操作数长度:B
条件码(标志位): X — 如果立即数的4位为0则置0;其它情况不变。
N — 如果立即数的3位为0则置0;其它情况不变。
Z — 如果立即数的2位为0则置0;其它情况不变。
V — 如果立即数的1位为0则置0;其它情况不变。
C — 如果立即数的0位为0则置0;其它情况不变。
┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈
ASL,ASR Arithmetic Shift 算术位移 [P126~129]
运算: 目的操作数按计数位移 置入 目的操作数
语法: ASL/ASR Dx,Dy
ASL/ASR #,Dy
ASL/ASR
操作数长度:B、W、L
条件码(标志位): X — 存放最后一位被移出的数字。位移计数为0则不受影响。
N — 最高(有效)位为1则置1;其它情况置0。
Z — 如果结果为零则置1;其它情况置0。
V — 如果在移动过程中最高位发生改变则置1;其它情况置0。

C — 存放最后一位被移出的数字;位移计数为0则置0。
┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈
Bcc Branch Conditionally 条件分支 [P130~131]
运算: 如果条件成立,程序计数器+位移值 置入 程序计数器
语法: Bcc

): Z — 如果结果为零则置1;其它情况置0。
其它位不受影响。
┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈
BSR Branch to Subroutine 分支到子程序 [P163~165]
运算: 动态堆栈指示器-4 置入 动态堆栈指示器;
程序计数器 置入 动态堆栈指示器中的地址;
程序计数器+位移值 置入 程序计数器
语法: BSR

置1;其它情况置0。
┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈
CMPI Compare Immediate 比较(立即数)[P184~185]
运算: 目的操作数-立即数 置入 条件位
语法: CMPI #,Dn
操作数长度:W、L
条件码(标志位): X — 不受影响。
N — 如果结果为负数则置1;其它情况置0。
Z — 如果结果为零则置1;其它情况置0。
V — 如果发生溢出则置1;其它情况置0。
C — 如果有进位/借位则置1;其它情况置0。
┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈
CMPM Compare Memory 比较(内存)[P186]
运算: 目的操作数-原操作数 置入 条件位
语法: CMPM (Ay)+,(Ax)+
操作数长度:B、W、L
条件码(标志位): X — 不受影响。
N — 如果结果为负数则置1;其它情况置0。
Z — 如果结果为零则置1;其它情况置0。
V — 如果发生溢出则置1;其它情况置0。
C — 如果有进位/借位则置1;其它情况置0。
┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈
DBcc Test Condition,Decrement,and Branch 测试条件-自减-分支,即循环控制 [P195~196]
运算: 如果条件为“假”,Dn-1 置入 Dn ;
如果 Dn>-1,程序计数器+位移值 置入 程序计数器
语法: DBcc Dn,

果发生溢出或除数为0则为定义。
Z — 如果商为零则置1;其它情况置0。如果发生溢出或除数为0则为定义。
V — 如果发生溢出则置1;如果除数为0则为定义;其它情况置0。
C — 置0。
┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈
DIVU Unsighed Divide 无符号数除法 [P201~204]
运算: 目的操作数÷原操作数 置入 目的操作数
语法: DIVU.W ,Dn32/16 fi 16r-16q
操作数长度:W、L
条件码(标志位): X — 不受影响。
N — 如果商为负数则置1;其它情况置0;如果发生溢出或除数为0则为定义。
Z — 如果商为零则置1;其它情况置0。如果发生溢出或除数为0则为定义。
V — 如果发生溢出则置1;如果除数为0则为定义;其它情况置0。
C — 置0。
┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈
EOR Exclusive-OR Logical 逻辑异或 [P205~206]
运算: 原操作数“异或”目的操作数 置入 目的操作数
语法: EOR Dn,
操作数长度:B、W、L
条件码(标志位): X — 不受影响。
N — 最高(有效)位为1则置1;其它情况置0。
Z — 如果结果为零则置1;其它情况置0。
V — 置0。
C — 置0。
┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈
EORI Exclusive-OR Immediate 逻辑异或(立即数)[P207~208]
运算: 立即数“异或”目的操作数 置入 目的操作数
语法: EORI #,
操作数长度:B、W、L
条件码(标志位): X — 不受影响。
N — 最高(有效)位为1则置1;其它情况置0。
Z — 如果结果为零则置1;其它情况置0。
V — 置0。
C — 置0。
┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈
EORI to CCR Exclusive-OR Immediate to Condition Code 标志器存器、立即数求逻辑异或 [P209]
运算: 立即数“异或”标志器存器 置入 标志器存器
语法: EORI #,CCR
操作数长度:B
条件码(标志位): X — 如果立即数的4位为0则置0;其它情况不变。
N — 如果立即数的3位为0则置0;其它情况不变。
Z — 如果立即数的2位为0则置0;其它情况不变。
V — 如果立即数的1位为0则置0;其它情况不变。
C — 如果立即数的0位为0则置0;其它情况不变。
┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈
EXG Exchange Registers 寄存器数据交换 [P210]
运算: 两个操作数交换
语法

: EXG Dx,Dy
EXG Ax,Ay
EXG Dx,Ay
操作数长度:L
条件码(标志位):不受影响。
┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈
EXT Sign-Extend 符号扩展 [P211]
运算: 目的操作数符号扩展 置入 目的操作数
语法: EXT.W Dnextend byte to word
EXT.L Dnextend word to long word
操作数长度:B、W、L
条件码(标志位): X — 不受影响。
N — 如果结果为负数则置1;其它情况置0。
Z — 如果结果为零则置1;其它情况置0。
V — 置0。
C — 置0。
┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈
ILLEGAL Take Illegal Instruction Trap 非法指令中断 [P212]
运算: 管理(控制&中断)堆栈指示器-4 置入 管理堆栈指示器;
程序计数器 置入 管理堆栈指示器中的地址;
管理(控制&中断)堆栈指示器-2 置入 管理堆栈指示器;
非法指令向量地址 置入 程序计数器
语法: ILLEGAL
操作数长度:Unsized
条件码(标志位):不受影响。
┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈
JMP Jump 跳转 [P213]
运算: 目的操作数地址 置入 程序计数器
语法: JMP
操作数长度:Unsized
条件码(标志位):不受影响。
┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈
JSR Jump to Subroutine 跳转到子程序 [P214]
运算: 动态堆栈指示器-4 置入 动态堆栈指示器;
程序计数器 置入 动态堆栈指示器中的地址
语法: JSR
操作数长度:Unsized
条件码(标志位):不受影响。
┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈
LEA Load Effective Address 载入有效地址 [P215]
运算: 有效地址 置入 地址寄存器
语法: LEA ,An
操作数长度:L
条件码(标志位):不受影响。
┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈
LINK Link and Allocate 链接&分配 [P216~217]
运算: 动态堆栈指示器-4 置入 动态堆栈指示器;
地址寄存器 置入 动态堆栈指示器中的地址;
动态堆栈指示器 置入 地址寄存器;
地址寄存器+位移值 置入 地址寄存器
语法: LINK An,#
操作数长度:W
条件码(标志位):不受影响。
┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈
LSL,LSR Logical Shift 逻辑位移

[P218~220]
运算: 目的操作数按计数位移 置入 目的操作数
语法: LSL/LSR Dx,Dy
LSL/LSR #,Dy
LSL/LSR
操作数长度:B、W、L
条件码(标志位): X — 存放最后一位被移出的数字。位移计数为0则不受影响。
N — 最高(有效)位为1则置1;其它情况置0。
Z — 如果结果为零则置1;其它情况置0。
V — 置0。
C — 存放最后一位被移出的数字;位移计数为0则置0。
┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈
MOVE Move Data from Source to Destination 传递数据(原操作数->目的操作数)[P221~223]
运算: 原操作数 置入 目的操作数
语法: MOVE ,
操作数长度:B、W、L
条件码(标志位): X — 不受影响。
N — 如果结果为负数则置1;其它情况置0。
Z — 如果结果为零则置1;其它情况置0。
V — 置0。
C — 置0。
┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈
MOVEA Move Address 传递地址 [P224~225]
运算: 原操作数 置入 目的操作数
语法: MOVEA ,An
操作数长度:W、L
条件码(标志位):不受影响。
┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈
MOVE to CCR Move to CCR 传递到标志寄存器 [P228~229]
运算: 原操作数 置入 标志寄存器
语法: MOVE ,CCR
操作数长度:W
条件码(标志位): X — 如果立即数的4位为0则置0;其它情况不变。
N — 如果立即数的3位为0则置0;其它情况不变。
Z — 如果立即数的2位为0则置0;其它情况不变。
V — 如果立即数的1位为0则置0;其它情况不变。
C — 如果立即数的0位为0则置0;其它情况不变。
┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈
MOVE from SR Move from the SR 传递(从堆栈寄存器)[P230]
运算: 堆栈寄存器 置入 目的操作数
语法: MOVE SR,
操作数长度:W
条件码(标志位):不受影响。
┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈
MOVEM Move Multiple Registers 传递(多个寄存器)[P233~235]
运算: 寄存器 置入 目的操作数;
原操作数 置入 寄存器
语法: MOVEM ,
MOVEM ,
操作数长度:W、L
条件码(标志位):不受影响。
┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈
MOVEP Move Peripheral Data 传递(外围数据?

??)[P236~238]
运算: 原操作数 置入 目的操作数
语法: MOVEP Dx,(d16,Ay)
MOVEP (d16,Ay),Dx
操作数长度:W、L
条件码(标志位):不受影响。
┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈
MOVEQ Move Quick 传递(???)[P239]
运算: 立即数 置入 目的操作数
语法: MOVEQ #,Dn
操作数长度:L
条件码(标志位): X — 不受影响。
N — 如果结果为负数则置1;其它情况置0。
Z — 如果结果为零则置1;其它情况置0。
V — 置0。
C — 置0。
┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈
MULS Signed Multiply 有符号数乘法 [P240~242]
运算: 原操作数×目的操作数 置入 目的操作数
语法: MULS.W ,Dn16×16 fi 32
操作数长度:W、L
条件码(标志位): X — 不受影响。
N — 如果结果为负数则置1;其它情况置0。
Z — 如果结果为零则置1;其它情况置0。
V — 如果有溢出则置1;其它情况置0。
C — 置0。
┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈
MULU Unsigned Multiply 无符号数乘法 [P243~245]
运算: 原操作数×目的操作数 置入 目的操作数
语法: MULU.W ,Dn16×16 fi 32
操作数长度:W、L
条件码(标志位): X — 不受影响。
N — 如果结果为负数则置1;其它情况置0。
Z — 如果结果为零则置1;其它情况置0。
V — 如果有溢出则置1;其它情况置0。
C — 置0。
┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈
NBCD Negate Decimal with Extend 求负(扩展BCD码)[P246~247]
运算: 0-目的操作数(10进制)-X 置入 目的操作数
语法: NBCD
操作数长度:B
条件码(标志位): X — 置与C位相同。
N — 未定义。
Z — 结果不为零则置0;其它情况不变。
V — 未定义。
C — 如果有进位/借位则置1;其它情况置0。
┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈
NEG Negate 求负 [P248~249]
运算: 0-目的操作数 置入 目的操作数
┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈
NEGX Negate with Extend 求负(扩展)[P250~251]
运算: 0-目的操作数 置入 目的操作数
语法: NEGX
操作数长度:B、W、L
条件码(标志位): X — 置与C位相同。
N — 如果结果为负数则置1;其它情况

置0。
Z — 如果结果不为零则置0;其它情况不变。
V — 如果发生溢出则置1;其它情况置0。
C — 如果有进位/借位则置1;其它情况置0。
┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈
NOP No Operation 空指令 [P252]
运算: None
语法: NOP
操作数长度:Unsized
条件码(标志位):不受影响。
┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈
NOT Logical Complement 求补 [P253~254]
运算: 目的操作数求补 置入 目的操作数
语法: NOT
操作数长度:B、W、L
条件码(标志位): X — 不受影响。
N — 如果结果为负数则置1;其它情况置0。
Z — 如果结果为零则置1;其它情况置0。
V — 置0。
C — 置0。
┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈
OR Inclusive-OR Logical 逻辑或 [P255~257]
运算: 原操作数“或”目的操作数 置入 目的操作数
语法: OR ,Dn
OR Dn,
操作数长度:B、W、L
条件码(标志位): X — 不受影响。
N — 最高(有效)位为1则置1;其它情况置0。
Z — 如果结果为零则置1;其它情况置0。
V — 置0。
C — 置0。
┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈
ORI Inclusive-OR Immediate 逻辑或(立即数) [P258~259]
运算: 立即数“或”目的操作数 置入 目的操作数
语法: ORI #,
操作数长度:B、W、L
条件码(标志位): X — 不受影响。
N — 最高(有效)位为1则置1;其它情况置0。
Z — 如果结果为零则置1;其它情况置0。
V — 置0。
C — 置0。
┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈
ORI to CCR Inclusive-OR Immediate to CCR 标志器存器、立即数求逻辑或 [P260]
运算: 原操作数“或”标志器存器 置入 标志器存器
语法: ORI #,CCR
操作数长度:B
条件码(标志位): X — 如果立即数的4位为0则置0;其它情况不变。
N — 如果立即数的3位为0则置0;其它情况不变。
Z — 如果立即数的2位为0则置0;其它情况不变。
V — 如果立即数的1位为0则置0;其它情况不变。
C — 如果立即数的0位为0则置0;其它情况不变。
┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈
PEA Push Effective Address 有效地址压栈 [P264]
运算: 动态堆栈指示器

-4 置入 动态堆栈指示器;
有效地址 置入 动态堆栈指示器中的地址
语法: PEA
操作数长度:L
条件码(标志位):不受影响。
┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈
ROL,ROR Rotate (Without Extend) 循环移动 [P265~267]
运算: 目的操作数按计数循环移动 置入 目的操作数
语法: ROL/ROR Dx,Dy
ROL/ROR #,Dy
ROL/ROR
操作数长度:B、W、L
条件码(标志位): X — 不受影响。
N — 最高(有效)位为1则置1;其它情况置0。
Z — 如果结果为零则置1;其它情况置0。
V — 置0。
C — 存放最后一位被移出的数字;位移计数为0则置0。
┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈
ROXL,ROXR Rotate with Extend 循环移动(扩展) [P268~270]
运算: 目的操作数按计数循环移动 置入 目的操作数
语法: ROXL/ROXR Dx,Dy
ROXL/ROXR #,Dy
ROXL/ROXR
操作数长度:B、W、L
条件码(标志位): X — 存放最后一位被移出的数字。位移计数为0则不受影响。
N — 最高(有效)位为1则置1;其它情况置0。
Z — 如果结果为零则置1;其它情况置0。
V — 置0。
C — 存放最后一位被移出的数字;位移计数为0则置入扩展位的值。
┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈
RTR Return and Restore CCR 返回并恢复标志寄存器,即出栈 [P273]
运算: 动态堆栈指示器中的地址 置入 标志寄存器;
动态堆栈指示器+2 置入 动态堆栈指示器;
动态堆栈指示器中的地址 置入 程序计数器;
动态堆栈指示器+4 置入 动态堆栈指示器
语法: RTR
操作数长度:Unsized
条件码(标志位):由堆栈中取值。
┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈
RTS Return from Subroutine 从子程序中返回,即回到主程序 [P274]
运算: 动态堆栈指示器中的地址 置入 程序计数器;
动态堆栈指示器+4 置入 动态堆栈指示器
语法: RTS
操作数长度:Unsized
条件码(标志位):不受影响。
┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈
SBCD Subtract Decimal with Extend 相减(扩展BCD码)[P275~276]
运算: 目的操作数(10进制)-原操作数(10进制)-X 置入 目的操作数
语法: SBCD Dx,Dy
SBCD -(Ax),-(Ay)
操作数长度:B
条件码(标志位): X — 置与C位相同。
N — 未定义。
Z

— 结果不为零则置0;其它情况不变。
V — 未定义。
C — 如果有进位/借位则置1;其它情况置0。
┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈
Scc Set According to Condition 按条件置位 [P277~278
运算: 如果条件成立,目的操作数置1;否则置0
语法: Scc
操作数长度:B
条件码(标志位):不受影响。

相应指令 分支条件(0:顺序执行、1:转移) 英文解释 中文解释

SHI !C&&!Z High 高于置1
SLS C||Z Low or Same 低于或相同置1
SCC !C Carry Clear 无进/借位置1
SCS C Carry Set 有进/借位置1
SNE !Z Not Equal 不为零(不相等)置1
SEQ Z Equal 为零(相等)置1
SVC !V Overflow Clear 无溢出置1
SVS V Overflow Set 有溢出置1
SPL !N Plus 非负数置1
SMI N Minus 负数置1
SGE N&&V||!N&&!V Greater or Equal 大于等于(不小于)置1
SLT N&&!V||!N&&V Less Than 小于置1
SGT N&&V&&!Z||!N&&!V&&!Z Greater Than 大于置1
SLE Z||N&&!V||!N&&V Less or Equal 小于等于(不大于)置1

┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈
SUB Subtract 相减 [P279~281]
运算: 目的操作数-原操作数 置入 目的操作数
语法: SUB ,Dn
SUB Dn,
操作数长度:B、W、L
条件码(标志位): X — 置入C位的值。
N — 如果结果为负数则置1;其它情况置0。
Z — 如果结果为零则置1;其它情况置0。
V — 如果发生溢出则置1;如果除数为0则为定义;其它情况置0。
C — 如果有进位/借位则置1;其它情况置0。
┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈
SUBA Subtract Address 相减(地址)P282~283]
运算: 目的操作数-原操作数 置入 目的操作数
语法: SUBA ,An
操作数长度:W、L
条件码(标志位):不受影响。
┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈
SUBI Subtract Immediate 相减(立即数)[P284~285]
运算: 目的操作数-立即数 置入 目的操作数
语法: SUBI #,
操作数长度:B、W、L
条件码(标志位): X — 置入C位的值。
N — 如果结果为负数则置1;其它情况置0。
Z — 如果结果为零则置1;其它情况置0。
V — 如果发生溢出则置1;如果除数为0则为定义;其它情况置0。
C — 如果有进位/借位则置1;其它情况置0。
┈┈┈┈┈┈┈┈

┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈
SUBQ Subtract Quick 相减(???)[P286~287]
运算: 目的操作数-立即数 置入 目的操作数
语法: SUBQ
操作数长度:B、W、L
条件码(标志位): X — 置入C位的值。
N — 如果结果为负数则置1;其它情况置0。
Z — 如果结果为零则置1;其它情况置0。
V — 如果发生溢出则置1;如果除数为0则为定义;其它情况置0。
C — 如果有进位/借位则置1;其它情况置0。
┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈
SUBX Subtract with Extend 相减(扩展)[P288~289]
运算: 目的操作数-原操作数-X 置入 目的操作数
语法: SUBX Dx,Dy
SUBX -(Ax),-(Ay)
操作数长度:B、W、L
条件码(标志位): X — 置入C位的值。
N — 如果结果为负数则置1;其它情况置0。
Z — 如果结果为零则置1;其它情况置0。
V — 如果发生溢出则置1;如果除数为0则为定义;其它情况置0。
C — 如果有进位/借位则置1;其它情况置0。
┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈
SWAP Swap Register Halves 数据寄存器高低位数据交换 [P290]
运算: 数据寄存器的 31~16位 与 15~0 位交换
语法: SWAP Dn
操作数长度:W
条件码(标志位): X — 不受影响。
N — 如果32位的最高(有效)位为1则置1;其它情况置0。
Z — 如果32位的结果为零则置1;其它情况置0。
V — 置0。
C — 置0。
┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈
TAS Test and Set an Operand 测试并置数 [P291~292]
运算: 目的操作数测试 置入 标志寄存器;
1 置入 目的操作数的7位
语法: TAS
操作数长度:B
条件码(标志位): X — 不受影响。
N — 如果当前操作数最高(有效)位为1则置1;其它情况置0。
Z — 如果操作数为零则置1;其它情况置0。
V — 置0。
C — 置0。
┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈
TRAP Trap 中断 [P293]
运算: 1 置入 堆栈寄存器的S位
管理(控制&中断)堆栈指示器-4 置入 管理堆栈指示器;
程序计数器 置入 管理堆栈指示器中的地址;
管理堆栈指示器-2 置入 管理堆栈指示器;
堆栈寄存器 置入 管理堆栈指示器中的地址;
地址向量 置入 程序计数器
语法: TRAP #
操作数长度:Unsized
条件码(标志位):

不受影响。
┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈
TRAPcc Trap on Condition 条件中断 [P294~295]
运算: 条件为真则中断
语法: TRAPcc
TRAPcc.W #
TRAPcc.L #
操作数长度:Unsized 或 W、L
条件码(标志位):不受影响。

相应指令 分支条件(0:顺序执行、1:转移) 英文解释 中文解释

TRAPHI !C&&!Z High 高于中断
TRAPLS C||Z Low or Same 低于或相同中断
TRAPCC !C Carry Clear 无进/借位中断
TRAPCS C Carry Set 有进/借位中断
TRAPNE !Z Not Equal 不为零(不相等)中断
TRAPEQ Z Equal 为零(相等)中断
TRAPVC !V Overflow Clear 无溢出中断
TRAPVS V Overflow Set 有溢出中断
TRAPPL !N Plus 非负数中断
TRAPMI N Minus 负数中断
TRAPGE N&&V||!N&&!V Greater or Equal 大于等于(不小于)中断
TRAPLT N&&!V||!N&&V Less Than 小于中断
TRAPGT N&&V&&!Z||!N&&!V&&!Z Greater Than 大于中断
TRAPLE Z||N&&!V||!N&&V Less or Equal 小于等于(不大于)中断
┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈
TRAPV Trap on Overflow 溢出中断 [P296]
运算: V=1时中断
语法: TRAPV
操作数长度:Unsized
条件码(标志位):不受影响。
┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈
TST Test an Operand 测试一个操作数 [P297~298]
运算: 目的操作数测试 置入 标志寄存器
语法: TST
操作数长度:B、W、L
条件码(标志位): X — 不受影响。
N — 如果操作数为负数则置1;其它情况置0。
Z — 如果操作数为零则置1;其它情况置0。
V — 置0。
C — 置0。
┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈
UNLK Unlink 解除链接 [P299]
运算: 地址寄存器 置入 动态堆栈指示器;
动态堆栈指示器中的地址 置入 地址寄存器;
动态堆栈指示器+4 置入 动态堆栈指示器
语法: UNLK An
操作数长度:Unsized
条件码(标志位):不受影响。
┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈
ANDI to SR AND Immediate to the Status Register 立即数、堆栈寄存器求逻辑与 [P457]
运算: 如果管理堆栈为真值,原操作数“与”堆栈寄存器 置入 堆栈寄存器;否则中断
语法: ANDI #,SR
操作数长度:W
条件码(标志位): X — 如果立即数的4位为0则置0;其

它情况不变。
N — 如果立即数的3位为0则置0;其它情况不变。
Z — 如果立即数的2位为0则置0;其它情况不变。
V — 如果立即数的1位为0则置0;其它情况不变。
C — 如果立即数的0位为0则置0;其它情况不变。
┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈
EORI to SR Exclusive-OR Immediate to the SR 立即数、堆栈寄存器求逻辑异或 [P465]
运算: 如果管理堆栈为真值,原操作数“异或”堆栈寄存器 置入 堆栈寄存器;否则中断
语法; EORI #,SR
操作数长度:W
条件码(标志位): X — 如果立即数的4位为0则置0;其它情况不变。
N — 如果立即数的3位为0则置0;其它情况不变。
Z — 如果立即数的2位为0则置0;其它情况不变。
V — 如果立即数的1位为0则置0;其它情况不变。
C — 如果立即数的0位为0则置0;其它情况不变。
┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈
MOVE to SR Move to the SR 传递(到堆栈寄存器)[P474~475]
运算: 如果管理堆栈为真值,原操作数 置入 堆栈寄存器;否则中断
语法: MOVE ,SR
操作数长度:W
条件码(标志位):按照原操作数置数。
┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈
MOVE to USP Move User Stack Pointer 传递(用户堆栈寄存器)[P476]
运算: 如果管理堆栈为真值,用户堆栈寄存器 置入 地址寄存器
或地址寄存器 置入 用户堆栈寄存器;否则中断
语法: MOVE USP,An
MOVE An,USP
操作数长度:L
条件码(标志位):不受影响。
┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈
ORI to SR Inclusive-OR Immediate to the SR 立即数、堆栈寄存器求逻辑或 [P482]
运算: 如果管理堆栈为真值,原操作数“或”堆栈寄存器 置入 堆栈寄存器;否则中断
语法: ORI #,SR
操作数长度:W
条件码(标志位): X — 如果立即数的4位为0则置0;其它情况不变。
N — 如果立即数的3位为0则置0;其它情况不变。
Z — 如果立即数的2位为0则置0;其它情况不变。
V — 如果立即数的1位为0则置0;其它情况不变。
C — 如果立即数的0位为0则置0;其它情况不变。
┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈
RESET Reset External Devices 重置外部设备 [P538]
运算: 如果管理堆栈为真值,……;否则中断
语法: RESET
操作数长度

:Unsized
条件码(标志位):不受影响。
┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈
RTE Return from Exception 从异常中返回 [P539]
运算: 如果管理堆栈为真值,
动态堆栈指示器中的地址 置入 堆栈寄存器;
动态堆栈指示器+2 置入 动态堆栈指示器;
动态堆栈指示器中的地址 置入 程序控制器;
动态堆栈指示器+4 置入 动态堆栈指示器;
Restore State and Deallocate Stack According to (SP) ???
否则中断
语法: RTE
操作数长度:Unsized
条件码(标志位):Set according to the condition code bits
in the status register value restored from the stack.
┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈
STOP load Status Register and Stop [P540]
运算: 如果管理堆栈为真值,立即数 置入 堆栈寄存器,STOP;否则中断
语法: STOP #
操作数长度:Unsized
条件码(标志位):按照立即数置数。
┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈

相关文档
相关文档 最新文档