M68K汇编速查表

更接近AT&T汇编
  • 指令 源操作数,目标操作数
  • ()表示内存,#表示立即数,$表示十六进制
  • BRA与JMP;BRA相对偏移近跳,JMP远跳,可以都用JMP
  • BSR与JSR;子程序调用,BSR近Call,JSR远Call,可以都用JSR
  • Move 影响标志位
一些不熟悉的:dbf,sr,ccr,sp
  • dbf dbra

    相当于一个loop,while(d1>0){d1--};

  • sr ccr flags寄存器前8位sr,后8位ccr

    鼠标位置是中断位,有三个中断依次高位-地位:重启中断,timer,Vblank;

  • sp

    d0 - d6保存到sp寄存器里,保存一个地址-2word再保存;

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 <ea>,Dn
ADD Dn,<ea>
操作数长度:B、W、L
条件码(标志位): X — 置与C位相同。
N — 如果结果为负数则置1;其它情况置0。
Z — 如果结果为零则置1;其它情况置0。
V — 如果发生溢出则置1;其它情况置0。
C — 如果有进位/借位则置1;其它情况置0。
┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈
ADDA Add Address 求和(地址) [P112~113]
运算: 原操作数+目的操作数 置入 目的操作数
语法: ADDA <ea>,An
操作数长度:W、L
条件码(标志位):不受影响。
┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈
ADDI Add Immediate 求和(立即数) [P114~115]
运算: 立即数+目的操作数 置入 目的操作数
语法: ADDI #<data>,<ea>
操作数长度:B、W、L
条件码(标志位): X — 置与C位相同。
N — 如果结果为负数则置1;其它情况置0。
Z — 如果结果为零则置1;其它情况置0。
V — 如果发生溢出则置1;其它情况置0。
C — 如果有进位/借位则置1;其它情况置0。
┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈
ADDQ Add Quick 求和(???) [P116~117]
运算: 立即数+目的操作数 置入 目的操作数
语法: ADDI #<data>,<ea>
操作数长度: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 <ea>,Dn
AND Dn,<ea>
操作数长度:B、W、L
条件码(标志位): X — 不受影响。
N — 最高(有效)位为1则置1;其它情况置0。
Z — 如果结果为零则置1;其它情况置0。
V — 置0。
C — 置0。
┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈
ANDI AND Immediate 求逻辑与(立即数)[P123~124]
运算: 立即数 “与” 目的操作数 置入 目的操作数
语法: ANDI #<data>,<ea>
操作数长度:B、W、L
条件码(标志位): X — 不受影响。
N — 最高(有效)位为1则置1;其它情况置0。
Z — 如果结果为零则置1;其它情况置0。
V — 置0。
C — 置0。
┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈
ANDI to CCR CCR AND Immediate 标志器存器、立即数求逻辑与 [P125]
运算: 立即数 “与” 标志器存器 置入 标志器存器
语法: ANDI #<data>,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 #<data>,Dy
ASL/ASR <ea>
操作数长度:B、W、L
条件码(标志位): X — 存放最后一位被移出的数字。位移计数为0则不受影响。
N — 最高(有效)位为1则置1;其它情况置0。
Z — 如果结果为零则置1;其它情况置0。
V — 如果在移动过程中最高位发生改变则置1;其它情况置0。
C — 存放最后一位被移出的数字;位移计数为0则置0。
┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈
Bcc Branch Conditionally 条件分支 [P130~131]
运算: 如果条件成立,程序计数器+位移值 置入 程序计数器
语法: Bcc <label>
操作数长度:B、W

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

BHI !C&&!Z High 高于转移
BLS C||Z Low or Same 低于或相同转移
BCC !C Carry Clear 无进/借位转移
BCS C Carry Set 有进/借位转移
BNE !Z Not Equal 不为零(不相等)转移
BEQ Z Equal 为零(相等)转移
BVC !V Overflow Clear 无溢出转移
BVS V Overflow Set 有溢出转移
BPL !N Plus 非负数转移
BMI N Minus 负数转移
BGE N&&V||!N&&!V Greater or Equal 大于等于(不小于)转移
BLT N&&!V||!N&&V Less Than 小于转移
BGT N&&V&&!Z||!N&&!V&&!Z Greater Than 大于转移
BLE Z||N&&!V||!N&&V Less or Equal 小于等于(不大于)转移
┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈
BCHG Test a Bit and Change 测试并改变某个位 [P132~134]
运算: 测试(目的操作数的位号)置入 Z ;
测试(目的操作数的位号)置入 目的操作数的该位
语法: BCHG Dn,<ea>
BCHG #<data>,<ea>
操作数长度:B、L
条件码(标志位): Z — 如果结果为零则置1;其它情况置0。
其它位不受影响。
┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈
BCLR Test a Bit and Clear 测试并置0某个位 [P135~137]
运算: 测试(目的操作数的位号)置入 Z ;
0 置入 目的操作数的该位
语法: BCLR Dn,<ea>
BCLR #<data>,<ea>
操作数长度:B、L
条件码(标志位): Z — 如果结果为零则置1;其它情况置0。
其它位不受影响。
┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈
BRA Branch Always 无条件分支 [P160]
运算: 程序计数器+位移值 置入 程序计数器
语法: BRA <label>
操作数长度:B、W
条件码(标志位):不受影响。
┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈
BSET Test Bit and Set 测试并置1某个位 [P160~162]
运算: 测试(目的操作数的位号)置入 Z ;
1 置入 目的操作数的该位
语法
: BSET Dn,<ea>
BSET #<data>,<ea>
操作数长度:B、L
条件码(标志位
): Z — 如果结果为零则置1;其它情况置0。
其它位不受影响。
┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈
BSR Branch to Subroutine 分支到子程序 [P163~165]
运算: 动态堆栈指示器-4 置入 动态堆栈指示器;
程序计数器 置入 动态堆栈指示器中的地址;
程序计数器+位移值 置入 程序计数器
语法: BSR <label>
操作数长度:B、W
条件码(标志位):不受影响。
┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈
BTST Test a Bit 测试某个位 [P166~168]
运算: 测试(目的操作数的位号)置入 Z
语法: BTST Dn,<ea>
BTST #<data>,<ea>
操作数长度:B、L
条件码(标志位): Z — 如果结果为零则置1;其它情况置0。
其它位不受影响。
┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈
CHK Check Register Against Bounds 检查数据寄存器是否越界 [P174~175]
运算: 如果 Dn<0 或者 Dn>原操作数
语法: CHK <ea>,Dn
操作数长度:W
条件码(标志位): X — 不受影响。
Z — Dn < 0 则置1;Dn > 有效地址 则置0。
其它位未定义。
┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈
CLR Clear an Operand 操作数置0 [P178~179]
运算: 0 置入 目的操作数
语法: CLR <ea>
操作数长度:B、W、L
条件码(标志位): X — 不受影响。
N — 置0。
Z — 置1。
V — 置0。
C — 置0。
┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈
CMP Compare 比较 [P180~181]
运算: 目的操作数-原操作数 置入 条件位
语法: CMP <ea>,Dn
操作数长度:B、W、L
条件码(标志位): X — 不受影响。
N — 如果结果为负数则置1;其它情况置0。
Z — 如果结果为零则置1;其它情况置0。
V — 如果发生溢出则置1;其它情况置0。
C — 如果有进位/借位则置1;其它情况置0。
┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈
CMPA Compare Address 比较(地址)[P182~183]
运算: 目的操作数-原操作数 置入 条件位
语法: CMPA <ea>,Dn
操作数长度:W、L
条件码(标志位): X — 不受影响。
N — 如果结果为负数则置1;其它情况置0。
Z — 如果结果为零则置
1;其它情况置0。
V — 如果发生溢出则置1;其它情况置0。
C — 如果有进位/借位则
置1;其它情况置0。
┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈
CMPI Compare Immediate 比较(立即数)[P184~185]
运算: 目的操作数-立即数 置入 条件位
语法: CMPI #<data>,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,<label>
操作数长度:W
条件码(标志位):不受影响。

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

DBHI !C&&!Z High 高于循环
DBLS C||Z Low or Same 低于或相同循环
DBCC !C Carry Clear 无进/借位循环
DBCS C Carry Set 有进/借位循环
DBNE !Z Not Equal 不为零(不相等)循环
DBEQ Z Equal 为零(相等)循环
DBVC !V Overflow Clear 无溢出循环
DBVS V Overflow Set 有溢出循环
DBPL !N Plus 非负数循环
DBMI N Minus 负数循环
DBGE N&&V||!N&&!V Greater or Equal 大于等于(不小于)循环
DBLT N&&!V||!N&&V Less Than 小于循环
DBGT N&&V&&!Z||!N&&!V&&!Z Greater Than 大于循环
DBLE Z||N&&!V||!N&&V Less or Equal 小于等于(不大于)循环
┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈
DIVS Signed Divide 有符号数除法 [P197~200]
运算: 目的操作数÷原操作数 置入 目的操作数

法: DIVS.W <ea>,Dn32/16 fi 16r-16q
操作数长度:W、L
条件码(标志位): X — 不受影响。
N — 如果商为负数则置1;其它情况置0;如
果发生溢出或除数为0则为定义。
Z — 如果商为零则置1;其它情况置0。如果发生溢出或除数为0则为定义。
V — 如果发生溢出则置1;如果除数为0则为定义;其它情况置0。
C — 置0。
┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈
DIVU Unsighed Divide 无符号数除法 [P201~204]
运算: 目的操作数÷原操作数 置入 目的操作数
语法: DIVU.W <ea>,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,<ea>
操作数长度:B、W、L
条件码(标志位): X — 不受影响。
N — 最高(有效)位为1则置1;其它情况置0。
Z — 如果结果为零则置1;其它情况置0。
V — 置0。
C — 置0。
┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈
EORI Exclusive-OR Immediate 逻辑异或(立即数)[P207~208]
运算: 立即数“异或”目的操作数 置入 目的操作数
语法: EORI #<data>,<ea>
操作数长度: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 #<data>,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 <ea>
操作数长度:Unsized
条件码(标志位):不受影响。
┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈
JSR Jump to Subroutine 跳转到子程序 [P214]
运算: 动态堆栈指示器-4 置入 动态堆栈指示器;
程序计数器 置入 动态堆栈指示器中的地址
语法: JSR <ea>
操作数长度:Unsized
条件码(标志位):不受影响。
┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈
LEA Load Effective Address 载入有效地址 [P215]
运算: 有效地址 置入 地址寄存器
语法: LEA <ea>,An
操作数长度:L
条件码(标志位):不受影响。
┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈
LINK Link and Allocate 链接&分配 [P216~217]
运算: 动态堆栈指示器-4 置入 动态堆栈指示器;
地址寄存器 置入 动态堆栈指示器中的地址;
动态堆栈指示器 置入 地址寄存器;
地址寄存器+位移值 置入 地址寄存器
语法: LINK An,#<displacement>
操作数长度:W
条件码(标志位):不受
影响。
┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈
LSL,LSR Logical Shift 逻辑位移
[P218~220]
运算: 目的操作数按计数位移 置入 目的操作数
语法: LSL/LSR Dx,Dy
LSL/LSR #<data>,Dy
LSL/LSR <ea>
操作数长度: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 <ea>,<ea>
操作数长度:B、W、L
条件码(标志位): X — 不受影响。
N — 如果结果为负数则置1;其它情况置0。
Z — 如果结果为零则置1;其它情况置0。
V — 置0。
C — 置0。
┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈
MOVEA Move Address 传递地址 [P224~225]
运算: 原操作数 置入 目的操作数
语法: MOVEA <ea>,An
操作数长度:W、L
条件码(标志位):不受影响。
┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈
MOVE to CCR Move to CCR 传递到标志寄存器 [P228~229]
运算: 原操作数 置入 标志寄存器
语法: MOVE <ea>,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,<ea>
操作数长度:W
条件码(标志位):不受影响。
┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈
MOVEM Move Multiple Registers 传递(多个寄存器)[P233~235]
运算: 寄存器 置入 目的操作数;
原操作数 置入 寄存器
语法: MOVEM <list>,<ea>
MOVEM <ea>,<list>
操作数长度:W、L

件码(标志位):不受影响。
┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈
MOVEP Move Peripheral Data 传递(外围数据?
??)[P236~238]
运算: 原操作数 置入 目的操作数
语法: MOVEP Dx,(d16,Ay)
MOVEP (d16,Ay),Dx
操作数长度:W、L
条件码(标志位):不受影响。
┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈
MOVEQ Move Quick 传递(???)[P239]
运算: 立即数 置入 目的操作数
语法: MOVEQ #<data>,Dn
操作数长度:L
条件码(标志位): X — 不受影响。
N — 如果结果为负数则置1;其它情况置0。
Z — 如果结果为零则置1;其它情况置0。
V — 置0。
C — 置0。
┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈
MULS Signed Multiply 有符号数乘法 [P240~242]
运算: 原操作数×目的操作数 置入 目的操作数
语法: MULS.W <ea>,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 <ea>,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 <ea>
操作数长度:B
条件码(标志位): X — 置与C位相同。
N — 未定义。
Z — 结果不为零则置0;其它情况不变。
V — 未定义。
C — 如果有进位/借位则置1;其它情况置0。
┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈
NEG Negate 求负 [P248~249]
运算: 0-目的操作数 置入 目的操作数
┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈
NEGX Negate with Extend 求负(扩展)[P250~251]

运算: 0-目的操作数 置入 目的操作数
语法: NEGX <ea>
操作数长度: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 <ea>
操作数长度:B、W、L
条件码(标志位): X — 不受影响。
N — 如果结果为负数则置1;其它情况置0。
Z — 如果结果为零则置1;其它情况置0。
V — 置0。
C — 置0。
┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈
OR Inclusive-OR Logical 逻辑或 [P255~257]
运算: 原操作数“或”目的操作数 置入 目的操作数
语法: OR <ea>,Dn
OR Dn,<ea>
操作数长度:B、W、L
条件码(标志位): X — 不受影响。
N — 最高(有效)位为1则置1;其它情况置0。
Z — 如果结果为零则置1;其它情况置0。
V — 置0。
C — 置0。
┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈
ORI Inclusive-OR Immediate 逻辑或(立即数) [P258~259]
运算: 立即数“或”目的操作数 置入 目的操作数
语法: ORI #<data>,<ea>
操作数长度: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 #<data>,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 <ea>
操作数长度:L
条件码(标志位):不受影响。
┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈
ROL,ROR Rotate (Without Extend) 循环移动 [P265~267]
运算: 目的操作数按计数循环移动 置入 目的操作数
语法: ROL/ROR Dx,Dy
ROL/ROR #<data>,Dy
ROL/ROR <ea>
操作数长度: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 #<data>,Dy
ROXL/ROXR <ea>
操作数长度: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 <ea>
操作数长度: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 <ea>,Dn
SUB Dn,<ea>
操作数长度:B、W、L
条件码(标志位): X — 置入C位的值。
N — 如果结果为负数则置1;其它情况置0。
Z — 如果结果为零则置1;其它情况置0。
V — 如果发生溢出则置1;如果除数为0则为定义;其它情况置0。
C — 如果有进位/借位则置1;其它情况置0。
┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈
SUBA Subtract Address 相减(地址)P282~283]
运算: 目的操作数-原操作数 置入 目的操作数
语法: SUBA <ea>,An
操作数长度:W、L
条件码(标志位):不受影响。
┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈
SUBI Subtract Immediate 相减(立即数)[P284~285]
运算: 目的操作数-立即数 置入 目的操作数
语法: SUBI #<data>,<ea>
操作数长度: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 <ea>
操作数长度:B
条件码(标志位): X — 不受影响。
N — 如果当前操作数最高(有效)位为1则置1;其它情况置0。
Z — 如果操作数为零则置1;其它情况置0。
V — 置0。
C — 置0。
┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈
TRAP Trap 中断 [P293]
运算: 1 置入 堆栈寄存器的S位
管理(控制&中断)堆栈指示器-4 置入 管理堆栈指示器;
程序计数器 置入 管理堆栈指示器中的地址;
管理堆
栈指示器-2 置入 管理堆栈指示器;
堆栈寄存器 置入 管理堆栈指示器中的地址;
地址向量 置入 程序计数器
语法: TRAP #<vector>
操作数长度:Unsized
条件码(标志位):
不受影响。
┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈
TRAPcc Trap on Condition 条件中断 [P294~295]
运算: 条件为真则中断
语法: TRAPcc
TRAPcc.W #<data>
TRAPcc.L #<data>
操作数长度: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 <ea>
操作数长度: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 #<data>,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 #<data>,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 <ea>,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 #<data>,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 #<data>
操作数长度:Unsized
条件码(标志位):按照立即数置数。
┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值