认识移位指令和位操作指令(第9课)..
- 格式:ppt
- 大小:148.50 KB
- 文档页数:12


移位操作指令移位操作指令控制二进制位向左或向右移动的指令非循环移位指令循环移位指令移位操作指令说明⏹指令格式在形式上为双操作数,本质上为单操作数;⏹指令的目标操作数为被移动对象,源操作数为移动次数⏹当目标为存储器操作数时,需要说明其字长⏹移动移动1位时由指令直接给出;移动两位及以上时,移位次数必须由CL指定。
指令源操作数只能是1或CL1. 非循环移位指令⏹逻辑左移⏹算术左移⏹逻辑右移⏹算术右移算术左移和逻辑左移算术左移指令:SAL OPRD,1SAL OPRD,CL有符号数无符号数0 CF逻辑左移指令:SHL OPRD,1SHL OPRD,CL逻辑右移格式:SHR OPRD,1 SHR OPRD,CLCF 无符号数的右移逻辑右移例:⏹MOV AL ,68H⏹MOV CL ,2 ⏹SHR AL ,CLCF0 1 1 0 1 0 AL0 00 0 1 1 0 1 0 0ALCF0 00 0 0 1 1 0 1 0ALCF第1次移动 第2次移动 移动2次后算术右移格式:SAR OPRD,1 SAR OPRD,CL有符号数的右移CFCF AL1 1 1 0 1 0 0 0011 1 1 0 1 0 0AL0 CF非循环移位指令的应用⏹左移可实现乘法运算⏹右移可实现除法运算2. 循环移位指令不带进位位的循环移位带进位位的循环移位左移 ROL 右移 ROR 左移 RCL 右移RCR指令格式、对操作数的要求与非循环移位指令相同不带进位位的循环移位CFCF带进位位的循环移位CFCF循环移位指令的应用⏹用于对某些位状态的测试;⏹高位部分和低位部分的交换;⏹与非循环移位指令一起组成32位或更长字长数的移位。
例:在内存数据段M1为首地址的4个单元中存放了4个压缩BCD码。
要求:将这4个压缩BCD 码分别转换为ASCII码,并将转换结果存放在同一逻辑段、M2为首的单元中。
┇┇12345678┇M1M2例:⏹题目分析:⏹压缩BCD 码是用4位二进制码表示1位十进制数⏹转换ASCII 码时需要分别转换高4位(十位数)和低4位(个位数)⏹0~9的ASCII 码的高4位均为0011(03H )⏹转换低4位时应先使高4位清零,转换高4位时须先将高4位移动到低4位的位置。
CHONGQING UNIVERSITY
1944年哈佛大学,Mark I
数据传送指令算术运算指令逻辑运算指令数据转换指令输入输出指令系统控制指令程序控制指令
数据传送指令:
算术运算指令:定点数、浮点数运算和十进制数运算逻辑运算指令:
移位指令:
程序控制类指令
几个重要的寄存器:程序计数器
转移指令:无条件转移指令,有条件转移指令
循环控制指令(
子程序调用与返回指令(
程序中断指令及返回(
串操作指令(
I/O
堆栈指令:
数制转换指令主要指将十进制数转换为二进制
执行顺序更改的原因
寄存器
子程序的起始位置栈顶
采用寄存器存放返回地址放在子程序的起始位置
子程序调用和转移指令均可改变程序的执行子程序要求返回,可嵌套和递归调用;转移指子程序用于实现程序与程序之间转移;转移指
直接支持高级语言,加快运算VAX-11“
CHONGQING UNIVERSITY
寄存器寄存器存储器
CHONGQING UNIVERSITY。