(4)除法指令
①DIV
格式: DIV OPRD
功能:无符号除法指令。用指定的源操作数OPRD去除累加器中的值,所得商和余数分别放在AL和AH(字节操作)或AX和DX(字操作)中。
②其他除法指令
●IDIV: 完成带符号数的除法运算。
●AAD: 完成AX中的两位未组合的十进制数在两个数相除之前进行核正。
●CBW: 字节转换为字。具体操作是按AL的符号位扩展到整个AH中。
●CMD: 字转换为双字。按AX的符号扩展到整个DX中。
3.逻辑运算和移位指令
(1)逻辑运算指令①NOT
格式: NOT OPRD
功能:完成对操作数求反,然后送回原处。说明:此指令对标志位无影响。
②AND
格式: AND OPRD1,OPRD2
功能:对两操作数进行按位逻辑“与”运算,结果送目的操作数。目的操作数可为通用寄存器、存储器,源操作数可以是立即数、寄存器、存储器。
③OR
格式: OR OPRD1, OPRD2
功能:对两操作数进行按位“或”运算,结果回送目的操作数。操作数规定与AND相同。
说明:“或”运算令标志位CF=0,OF=0,其“或”操作后的结果反映在标志位PF、SF和ZF上。
④XOR
格式: XOR OPRD1,OPRD2
功能:对两个操作数进行按位“异或”运算,结果回送目的操作数。
说明:XOR执行后,标志位CF=0,OF=0,“异或”操作结果反映在标志位PF、SF和ZF上。
⑤TEST
格式: TEST OPRD1,OPRD2
功能:TEST指令的操作与AND指令完全相同,但结果不送目的操作数,仅反映在状态标志位上,TEST指令的操作数规定与AND相同,对标志位的影响亦与AND相同,即:CF=0,OF=0,结果反映在标志位PF、SF和ZF上。
(2)移位指令
移位指令可将寄存器或存储单元的8位或16位的内容向左或向右移动1位或多位。
①SAL/SHL
格式: SAL/SHL OPRD m
功能:SAL(算述左移)和SHL(逻辑左移)指令将操作数OPRD左移m位,移位后空出的位填零。操作数可以是寄存器、存储器。m是移位次数,为1时取立即数,大于1时先将m赋予CL寄存器。
②SAR
格式: SAR OPRD m
功能:算术右移指令。将指定操作数右移m位,最低位进入标志位CF,其他位依次右移,但符号位(最高位)保持不变。m的规定与SHL相同。③SHR
格式: SHR OPRD m
功能:逻辑右移指令。与SAR类拟,最低位进入标志位CF,但移位后空位的最高位填0。
(3)循环移位指令
8086/8088有四条循环移位指令,它们是:
●ROL OPRD M ;左循环移位
●ROR OPRD M ;右循环移位
●RCL OPRD M ;带进位的左循环移位
●RCR OPRD M ;带进位的右循环移位
相关推荐:
北京 | 天津 | 上海 | 江苏 | 山东 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
广东 | 河北 | 湖南 | 广西 | 河南 |
海南 | 湖北 | 四川 | 重庆 | 云南 |
贵州 | 西藏 | 新疆 | 陕西 | 山西 |
宁夏 | 甘肃 | 青海 | 辽宁 | 吉林 |
黑龙江 | 内蒙古 |