回 帖 发 新 帖 刷新版面

主题:[原创]求助编程问题的试题答案

请教:
    添加两条指令,使下面程序段完成(AX)*7/2的运算。
     MOV     BX,AX
     MOV     CL,3
     SAL     AX,CL
     
     _______________
     
     ______________

回复列表 (共5个回复)

沙发

添加两条指令,使下面程序段完成(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

板凳

请教,这样做对吗?


添加两条指令,使下面程序段完成(AX)*7/2的运算。
     MOV     BX,AX
     MOV     CL,3
     SAL     AX,CL
    
     add     ax,bx
     sar     ax,1

3 楼

我认为不对。用移动来实现除2运算的仅适用于无符号数。

4 楼


我觉得  nzx231385  说得对

因为 没有说AX是带符号的还是不带

5 楼

无符号数的话,楼上的正解
而且用移位和减法指令,比你用乘法和除法速度快!

我来回复

您尚未登录,请登录后再回复。点此登录或注册