微机原理编程题Z=(6X+2Y)/2,X=65H,Y=15H,用算术移位法 急急急!!!

MOVAX,0065HMOVBX,0015HSALAX,1MOVDX,AXMOVCL,2SALAX,CLSUBAX,DXSALBX,1ADDAX,BXSARAX,1HLT... MOV AX,0065H
MOV BX,0015H
SAL AX,1
MOV DX,AX
MOV CL,2
SAL AX,CL
SUB AX,DX
SAL BX,1
ADD AX,BX
SAR AX,1
HLT
哪错了?
展开
 我来答
tudou0digua
2012-01-06 · TA获得超过375个赞
知道小有建树答主
回答量:269
采纳率:0%
帮助的人:341万
展开全部
mov ax,0065h ;x放到ax中
mov cl,3
shl ax,cl ;ax*8,也就是左移3位
mov bx,0065h ;x放到bx中
shl bx,1 ;bx*2,也就是左移1位
sub ax,bx ;ax减bx,得到x*6
mov bx,0015h ;y放到bx中
shl bx,1 ;bx左移一位,也就是y*2
add ax,bx ;两数相加
shr ax,1 ;右移一位,也就是除2

;;结果就在ax中,还有这题算出来结果没有余数,就没取余数了
-------------------------------------------------------------------------------
MOV AX,0065H
MOV BX,0015H
SAL AX,1
MOV DX,AX
MOV CL,2
SAL AX,CL
SUB AX,DX ;;;;sub改成add
SAL BX,1
ADD AX,BX
SAR AX,1
HLT
百度网友9045b38
2012-01-06 · TA获得超过1972个赞
知道小有建树答主
回答量:984
采纳率:90%
帮助的人:527万
展开全部
逻辑关系没有错,移位代码写错了。SAL和SAR应该是:SHL和SHR.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
acedd2
2012-01-07 · TA获得超过419个赞
知道小有建树答主
回答量:1039
采纳率:0%
帮助的人:472万
展开全部
SHR是逻辑右移,数据往右移动,在左边补零。如:1000 0000->0010 0000(逻辑右移两位)
SAR是算术右移,比较特殊。他的最高位一直是不变的。如1000 0000算术右移7位后就成了1111 1111.
应该用shr
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式