| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 974 人关注过本帖
标题:乘法运算可是结果为什么不对
只看楼主 加入收藏
心雨泪
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2008-10-29
收藏
 问题点数:0 回复次数:1 
乘法运算可是结果为什么不对
datas segment
    data1 db 0
    data2 db 0
datas ends

stacks segment
    db 100 dup(?)
stacks ends
codes segment
    assume cs:codes,ds:datas,ss:stacks
start:mov  ax,stacks     ;送堆栈段地址
      mov  ss,ax           
      mov  ax,datas      ;送代码段地址
      mov  ds,ax
      call input         ;输入一个字符并回车,将字符存入data1中
      mov  data1,al
      call input         ;输入一个字符并回车,将字符存入data2中
      mov  data2,al
      mov  bh,data1      ;将data1,data2中的字符放入寄存器,为运算做准备
      mov  bl,data2
      sub  bh,30h        ;将字符转化为数值
      sub  bl,30h
      mov  al,bl         ;两数相乘,乘积保存在ax中
      mul  bh
      call output        ;输出运算结果
      mov  ah,4ch
      int  21h

input proc near          ;输入一个字符并回车
      mov ah,1
      int 21h
      mov ah,2
      mov dl,0dh
      int 21h
      mov ah,2
      mov dl,0ah
      int 21h
      ret
input endp

output proc near         ;输出运算结果
       mov  cx,10
       call divput
       mov  cx,1
       call divput
       ret
divput proc near         ;按位将运算结果输出
       mov  dx,0
       div  cx
       mov  bx,dx
       mov  dx,ax
       add  dx,30h
       mov  ah,2
       int  21h
       mov  ax,bx
       ret
divput endp
output endp

codes ends
end  start

运算结果为什么不对呢?
搜索更多相关主题的帖子: 乘法 运算 结果 
2008-11-21 11:16
心雨泪
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2008-10-29
收藏
得分:0 
我知道了,要在1号调用后立即将al中的数值存放到一个内存当中
2008-11-21 12:20
快速回复:乘法运算可是结果为什么不对
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.013656 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved