回 帖 发 新 帖 刷新版面

主题:一道简单的算术问题

在存储器中有数A,B,C,D(他们连续存放),编一个程序实现:
((a*10+b)*10+c)*10+d

data  segment
     
     a1  db 11,12,13,9
data  ends
code segment
         assume  cs:code,ds:data
 start:mov  ax,data
         mov  ds,ax
         mov  si,offset a1
         mov  bl,10
         mov  cx,2
         mov  ax,[si]
again:   mul  bl
         add  ax,[si+1]
         inc  si
         loop again
     mov bx,ax
         mov  ah,4ch
         int  21h
code ends
         end start
小弟想问的问题是:根据题示可不可以想我编的程序那样定义数据段
 a1  db 11,12,13,9  
然后这个程序到底对没?
我调试了  答案我不知道怎么看  BX最后为0DD1
定义的 AI 中的11等是以什么进制存放的?
谢谢了  刚学 什么都不懂

回复列表 (共3个回复)

沙发

可以 那样定义数据段


板凳

程序没有错误


a1  db 11,12,13,9
你定义的是以二进制存入的

3 楼

堆栈段不是每个程序都要有的吗?我也刚学啊

我来回复

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