SC8P
ORG的英文全称是"origin"
控制类
NOP, 空操作
STOP, 进入休眠模式
CLRWDT, 清零看门狗计数器
数据传送
LD,在汇编语言中通常指的是Load
LDIA i, 立即数 i 送给 ACC
LDIA的全称是Load Immediate to Accumulator,意思是“将立即数加载到累加器中”。其中,“Immediate”表示立即数,即一个常数值;“Accumulator”表示累加器,即ACC寄存器。因此,LDIA指令的英文理解为:“将一个立即数值加载到累加器ACC寄存器中”。
TESTZ [R], 将数据存储器内容传给数据存储器
TESTZ是Test Zero的缩写,意思是“测试是否为零”。在汇编语言中,TESTZ指令用于测试一个寄存器或内存单元中的值是否为零。如果为零,则设置标志位;否则清除标志位。因此,可以这样用英文理解TESTZ指令:“测试一个寄存器或内存单元中的值是否为零,如果为零则设置标志位,否则清除标志位”。
逻辑运算
CLRA,Clear ACC
SET [R], 置位数据存储器 R
CLR [R], 清零数据存储器 R
ORA [R], R 与 ACC 内容做“或or”运算,结果存入 ACC
ORR [R], R 与 ACC 内容做“或”运算,结果存入 R
ANDA [R], R 与 ACC 内容做“与”运算,结果存入 ACC
ANDR [R], R 与 ACC 内容做“与”运算,结果存入 R
XORA [R], R 与 ACC 内容做“异或”运算,结果存入 ACC
XORR [R], R 与 ACC 内容做“异或”运算,结果存入 R
SWAPA [R], R 寄存器内容的高低半字节转换,结果存入 ACC
SWAPR [R], R 寄存器内容的高低半字节转换,结果存入 R
COMA [R], R 寄存器内容取反,结果存入 ACC
COMR [R], R 寄存器内容取反,结果存入 R
Complement Register A 意为“补码寄存器A”
XORIA i, ACC 与立即数 i 做“异或”运算,结果存入 ACC
ANDIA i, ACC 与立即数 i 做“与”运算,结果存入 ACC
ORIA i, ACC 与立即数 i 做“或”运算,结果存入 ACC
移位操作
RRCA [R], 数据存储器带进位循环右移一位,结果存入 ACC
R: Rotate(旋转)R: Right(右)C: Carry(进位标志位) A: Accumulator(累加器)
RRCR [R], 数据存储器带进位循环右移一位,结果存入 R
RLCA [R], 数据存储器带进位循环左移一位,结果存入 ACC
R: Rotate(旋转)L: Left(左)C: Carry(进位标志位) A: Accumulator(累加器)
RLCR [R], 数据存储器带进位循环左移一位,结果存入 R
RLA [R], 数据存储器不带进位循环左移一位,结果存入 ACC
RLR [R], 数据存储器不带进位循环左移一位,结果存入 R
RRA [R], 数据存储器不带进位循环右移一位,结果存入 ACC
RRR [R], 数据存储器不带进位循环右移一位,结果存入 R
不带进位循环左移,各位同时左移,最高位循环进入最低位和CF
不带进位循环右移,各位同时右移,最低位进入最高位和CF
带进位循环左移,CF作为附加位,各位同时左移,CF进入最低位
带进位循环右移指令,CF作为附加位,各位同时右移,最低位进入CF
递增递减
INCA [R], 递增数据存储器 R,结果放入 ACC
Increase -> INC增加
INCR [R], 递增数据存储器 R,结果放入 R
DECA [R], 递减数据存储器 R,结果放入 ACC
Decrease -> DEC减小
DECR [R], 递减数据存储器 R,结果放入 R
位操作
CLRB [R],b, 将数据存储器 R 中某位清零
SETB [R],b, 将数据存储器 R 中某位置一
查表
TABLE [R], 读取 ROM 内容结果放入 TABLE_DATAH 与 R
TABLEA, 读取 ROM 内容结果放入 TABLE_DATAH 与 ACC
数学运算
ADDA [R], ACC+[R]→ACC
ADDR [R], ACC+[R]→R
ADDCA [R], ACC+[R]+C→ACC
ADDCR [R], ACC+[R]+C→R
ADDIA i, ACC+i→ACC
SUBA [R], [R]-ACC→ACC
SUBR [R], [R]-ACC→R
SUBCA [R], [R]-ACC-C→ACC
SUBCR [R], [R]-ACC-C→R
SUBIA i, i-ACC→ACC
HSUBA [R], ACC-[R]→ACC
HSUBR [R], ACC-[R]→R
HSUBCA [R], ACC-[R]- ~C →ACC
HSUBCR [R], ACC-[R]- ~C →R
HSUBIA i, ACC-i→ACC
Addition -> 加
Subtract -> 减
HSUBA的英文单词是Halfword Substract Accumulator。半字减累加器
无条件转移
RET,从子程序返回
RET i, 从子程序返回,并将立即数 I 存入 ACC
RETI, 从中断返回
CALL ADD, 子程序调用
JP ADD, 无条件跳转
条件转移
SZB [R],b, 如果数据存储器 R 的 b 位为“0”,则跳过下一条指令
SZB的英文单词是Skip if Zero Bit。
SNZB [R],b, 如果数据存储器 R 的 b 位为“1”,则跳过下一条指令
SNZB的英文单词是Skip if Non-Zero Bit。
SZA [R], 数据存储器 R 送至 ACC,若内容为“0”,则跳过下一条指令
SZA的英文单词是Skip if Zero Accumulator。
SZR [R], 数据存储器 R 内容为“0”,则跳过下一条指令
SZINCA [R], 数据存储器 R 加“1”,结果放入 ACC,若结果为“0”,则跳过下一条指令
SZINCR [R], 数据存储器 R 加“1”,结果放入 R,若结果为“0”,则跳过下一条指令
SZDECA [R], 数据存储器 R 减“1”,结果放入 ACC,若结果为“0”,则跳过下一条指令
SZDECR [R],数据存储器 R 减“1”,结果放入 R,若结果为“0”,则跳过下一条指令
更多推荐
SC8P
发布评论