第7章 整数运算(位操作)

汇编语言最大优势之一:二进制移位和循环移位技术

7.1 *移位和循环移位指令

1、逻辑左移、逻辑右移(位元乘除法
2、算术左移、算术右移
3、循环左移、循环右移
4、带进位的循环左移、带进位的循环右移
在这里插入图片描述

include Irvine32.inc
;使用移位指令,实现((AX)*5+2)/8的功能

.data
var1 WORD 0

.code
main PROC
	mov ax,6
	mov bx,6
	shl ax,2
	add bx,ax
	add bx,2
	shr bx,3
	mov var1,bx
main ENDP

END main

7.3 *乘法和除法指令

1、无符号数乘法
2、有符号数乘法
3、无符号数除法
4、有符号数乘法

7.4 扩展加减法

对基本没有大小限制的数进行加减法的技术
1、ADC(带进位加法)
2、SBB(带借位减法)

附:练习题

判断下列指令执行后,eax,ecx,esi的值分别是多少?(5分)
mov eax, 6
shl eax,3
mov ebx,eax
shl ebx,1
sub ebx,eax
mov ecx,8
mov edx,30
shl ecx,3
sub ecx,edx
mov esi,eax
add esi,ecx

include Irvine32.inc

.code
main PROC
	mov eax,6     ;eax=6
	shl eax,3     ;eax=48 
	mov ebx,eax   ;ebx=48
	shl ebx,1     ;ebx=96
	sub ebx,eax   ;ebx=48
	mov ecx,8     ;ecx=8
	mov edx,30    ;edx=30
	shl ecx,3     ;ecx=64
	sub ecx,edx   ;ecx=34
	mov esi,eax   ;esi=48
	add esi,ecx   ;esi=82
main ENDP

END main
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值