主题:[原创]求助编程问题的试题答案
nzx231385
[专家分:0] 发布于 2006-01-14 13:30:00
请教:
添加两条指令,使下面程序段完成(AX)*7/2的运算。
MOV BX,AX
MOV CL,3
SAL AX,CL
_______________
______________
回复列表 (共5个回复)
沙发
hm1024 [专家分:220] 发布于 2006-01-14 14:39:00
添加两条指令,使下面程序段完成(AX)*7/2的运算。
MOV BX,AX ;(BX) = (AX)
MOV CL,3 ;(AX)*8
SAL AX,CL ;
sub ax,bx ;(AX)*8 - (BX) = (AX)*7
shr ax,1 ;((AX)*8 - (BX))/2
是这样的公式:((AX)*8 - (BX))/2
板凳
nzx231385 [专家分:0] 发布于 2006-01-15 10:36:00
请教,这样做对吗?
添加两条指令,使下面程序段完成(AX)*7/2的运算。
MOV BX,AX
MOV CL,3
SAL AX,CL
add ax,bx
sar ax,1
3 楼
hm1024 [专家分:220] 发布于 2006-01-15 15:54:00
我认为不对。用移动来实现除2运算的仅适用于无符号数。
4 楼
clrscr [专家分:40] 发布于 2006-01-22 19:56:00
我觉得 nzx231385 说得对
因为 没有说AX是带符号的还是不带
5 楼
abcdxjs [专家分:240] 发布于 2006-01-25 21:14:00
无符号数的话,楼上的正解
而且用移位和减法指令,比你用乘法和除法速度快!
我来回复