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
条件码(标志位):按照立即数置数。
┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 215,012评论 6 497
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,628评论 3 389
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 160,653评论 0 350
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,485评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,574评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,590评论 1 293
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,596评论 3 414
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,340评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,794评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,102评论 2 330
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,276评论 1 344
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,940评论 5 339
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,583评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,201评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,441评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,173评论 2 366
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,136评论 2 352

推荐阅读更多精彩内容

  • 计算机通过执行指令序列来使机器得以工作,所以对于每一系列的计算机都有指定的一组指令集供计算机使用,这组指令...
    未来科技工作室阅读 7,984评论 1 10
  • 1.地址总线,数据总线,控制总线在哪里,它们有什么作用?答:它们都是cpu连接外部组件的线路。地址总线:地址总线A...
    MagicalGuy阅读 1,446评论 0 1
  • 80X86微处理器 一、80x86系列微处理器概况: 8086、8088、80286、80386、80486之后型...
    Zhou_qn阅读 4,555评论 0 4
  • 汇编指令速查 汇编中各寄存器的作用4个数据寄存器(EAX、EBX、ECX和EDX)2个变址和指针寄存器(ESI和E...
    星星之火666阅读 170评论 0 0
  • 指令是使计算机执行某种特定操作的二进制编码。8086 CPU指令系统有133条指令,通常分为数据寻址方式和程序寻址...
    刀月水阅读 1,628评论 0 1