clonney18 发表于 2020-10-31 22:57:33

王爽 问题 5.2 求助

assume cs:bcc1

bcc1 segment

      mov ax,123
          
          mov cx,256
s:add ax,ax
          loop s
       
      mov ax,4c00h
      int 21h
bcc1 ends
end

请问下 这个程序哪里不对,我是按照书上 编程2X12的那个思路来做的,但是最后算出的答案不对。

wtchou 发表于 2020-10-31 23:16:20

书上的思路是 2^12 (2的12次方)并非 2x12

jackz007 发表于 2020-10-31 23:56:22

本帖最后由 jackz007 于 2020-11-1 00:00 编辑

    如果是计算 2 × 12,代码应该这么写:
assume cs:bcc1

bcc1 segment

      xor ax,ax
      mov bx,2
      mov cx,12
s:    add ax,bx
      loop s
         
      mov ax,4c00h
      int 21h
bcc1 ends
end
    如果是计算 2 ^ 12 ,代码应该这样写:
assume cs:bcc1

bcc1 segment

      mov ax,1
      mov cx,12
s:    shl ax,1
      loop s
         
      mov ax,4c00h
      int 21h
bcc1 ends
end

youth888 发表于 2020-11-1 10:54:29

123的256次方,你算算多大去了,第一次你算的是123+123,第二次就变成了246+246了
修改方法:
s:    add ax,123
      loop s
这样才对

clonney18 发表于 2020-11-1 19:29:26

谢谢各位 。

clonney18 发表于 2020-11-1 19:30:02

clonney18 发表于 2020-11-1 19:29
谢谢各位 。

按照你的 提示,我重写了 , 谢谢
页: [1]
查看完整版本: 王爽 问题 5.2 求助