典型指令:
- 数据传送指令:主要包括取数指令、存数指令、传送指令、成组传送指令、字节交换指令、清寄存器指令、堆栈操作指令等。这类指令主要用来实现主存和寄存器间,或寄存器和寄存器之间的数据传送。
- 算术运算指令:包括二进制定点加、减、乘、除指令,浮点加、减、乘、除指令,求反、求补指令,算术位移指令、算术比较指令,十进制加、减运算指令等。这类指令的主要用于定点或浮点的算术运算,大型机中有向量运算指令,直接对整个向量或矩阵进行求和、求积运算。
- 逻辑运算指令:包括逻辑加、逻辑乘、按位加、逻辑位移等指令,主要用于无符号数的位操作、代码的转换、判断及运算。
- 程序控制指令:也称程序转移指令。是为了处理出现不同结果,需要根据不同结果进行转移而该表程序原来的执行顺序。
- 输入输出指令:主要用来启动外围设备,检查测试外围设备的工作状态,并实现外部设备和CPU之间,或外围设备与外围设备之间的信息传送。
- 字符串处理指令:是一种非数值处理指令,一般包括字符传送、字符串转换、字符转比较、字符串查找、字符串抽取、字符串替换等。这类指令在文字编辑中对大量字符串进行处理。
| 指令类型 | 操作名称 | 说明 |
| 数据传送 | MOV 传送 | 由源向目标传送字,源和目标是寄存器 |
| ~ | STO 存数 | 由CPU向存储器传送字 |
| ~ | LAD 取数 | 由存储器向CPU传送字 |
| ~ | EXC 交换 | 源和目标交换内容 |
| ~ | CLA 清零 | 传送全0字到目标 |
| ~ | SET 置1 | 传送全1字到目标 |
| ~ | PUS 进栈 | 由源向堆栈顶传送字 |
| ~ | POP 出栈 | 有堆栈定向目标传送字 |
| 算术运算 | ADD 加法 | 计算两个操作数的和 |
| ~ | SUB 减法 | 计算两个操作数的差 |
| ~ | MUL 乘法 | 计算两个操作数的积 |
| ~ | DIV 除法 | 计算两个操作数的商 |
| ~ | ABS 取绝对值 | 以其绝对值替代操作数 |
| ~ | NEG 变负 | 该变操作数的符号 |
| ~ | INC 增量 | 操作数加1 |
| ~ | DEC 减量 | 操作数减1 |
| 逻辑运算 | AND 与 | 按位完成指定的逻辑操作 |
| ~ | OR 或 | 按位完成指定的逻辑操作 |
| ~ | NOT 求反 | 按位完成指定的逻辑操作 |
| ~ | EOR 异或 | 按位完成指定的逻辑操作 |
| ~ | TES 测试 | 测试指令的条件;根据结果设置标志 |
| ~ | COM 比较 | 对两个操作数进行逻辑或算术比较;根据结果设置标志 |
| ~ | 设置控制变量 | 为保护目的,中断管理,时间控制等设置控制的指令 |
| ~ | SHI 移位 | 左(右)位移操作,一端引入常数 |
| ~ | ROT 循环移 | 左(右)位移操作,两端环绕 |
| 控制指令 | JMP 无条件转移 | 无条件转移;已指定地址装入PC |
| ~ | JMPX 条件转移 | 根据测试条件;将指定地址装入PC,或什么也不做 |
| ~ | JMPC 转子 | 将当前程序控制信息放到一个已知位置,转移到指定地址 |
| ~ | RET 返回 | 由已知位置内容替换PC和其他寄存器内容 |