回 帖 发 新 帖 刷新版面

主题:[讨论]作业,急求回复

两个任意长十进制数相加并输出,编译通过,但结果 示对,望 各位大哥大姐帮小弟,代码 如下data segment
 in_msg1 db "please input first number :","$"              
  in_data1 db 30,0,30 dup(?)                                
  in_msg2 db 0ah,0dh,"please input second number:","$"     
  in_data2 db 30,0,30 dup(?)                                
  out_msg db 0ah,0dh,"the sum is:",20h                     
  out_data db 100 dup(?),"$"                                 

data ends
code segment
     assume cs:code,ds:data
start:mov ax,data
      mov ds,ax
      mov dx,offset in_msg1                 
      mov ah,9
      int 21h                              
      mov dx,offset in_data1
      mov ah,0ah
      int 21h                              

      mov dx,offset in_msg2     
      mov ah,9
      int 21h                              
      mov dx,offset in_data2
      mov ah,0ah
      int 21h                              


      mov si,offset in_data1                 
      mov di,offset in_data2                
      mov bx,offset out_data                
      add si,11                            
      add di,11                             
      add bx,9                              

      clc
      mov cx,10                          
lop1: mov al,[si]
      adc al,[di]                          
      aaa                                  
      mov [bx],al                           
      dec si
      dec di
      dec bx                                
      loop lop1

      mov cx,10
      mov bx,offset out_data
lop2: mov al,[bx]
      and al,0fh
      add al,30h                            
      mov [bx],al
      inc bx
      loop lop2

      mov dx,offset out_msg                 
      mov ah,9
      int 21h

      mov ah,4ch
      int 21h
code ends
      end start
   

回复列表 (共1个回复)

沙发

这段程序明显的错误有5个
1、LZ自己规定了指针数,如果我输入超过9位的一个数,就无法执行,无法满足题目要求。
2、没有判断进位。
3、任意2个数,也就是说,我如果输入的不是2个相同位长的数呢?LZ的这段程序也无法满足
4、还有就是没有将除了数字外的其他字符进行屏蔽。
5、用'$',LZ好象有点不太明白。把$放在输出字符串的最后面,并无法真正满足要求。具体LZ可以自己实验下。

既然是作业,LZ最好自己改下,想想怎么办。

我来回复

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