当前位置: 代码迷 >> 汇编语言 >> 汇编的程序出错了(帮小弟我看看吧)
  详细解决方案

汇编的程序出错了(帮小弟我看看吧)

热度:706   发布时间:2013-02-26 00:00:00.0
汇编的程序出错了(帮我看看吧)
程序语法没错,但是出来的结果不对,
.model   small
.stack   40h
.data
namepar   label   byte
maxnlen   db   21
namelen   db   ?
namefld   db   21   dup(?)
telpar     label   byte
telmaxlen   db   9
tellen   db   ?
telfld   db   9   dup(?)
crlf     db   13,10, '$ '
endaddr   dw   ?
messg1   db   'Input   name:   ', '$ '
messg2   db   'Input   a   telephone   number: ', '$ '
messg3   db   'Do   you   want   a   telephone   number?(Y/N) ',13,10, '$ '
messg4   db   'name? ', '$ '
messg5   db     'name                                 telphone ',13,10, '$ '
namectr   db   0
tel_tab   db   50   dup(28   dup( '   '))
namesav   db   20   dup(?),13,10, '$ '
telsav   db   8   dup(?),13,10, '$ '
na_telsav   db   28   dup(?),13,10, '$ '
swapped   db   0
;******************************************************************************
.code
begin   proc   far
            mov   ax,@data
            mov   ds,ax
            mov   es,ax
            cld
            lea   di,tel_tab
      a:
            call   input_name
            call   inphone
            cmp     namelen,0
            jz       a30
            cmp     namectr,50
            je       a30
            call   stor_name
            call   stor_tel
            jmp     a
    a30:
            cmp   namectr,1
            jbe   a40
            call   name_sort
            call   println
            call   name_search
    a40:
            mov   ax,4c00h
            int   21h
           
;*****************************************************************************
input_name   proc   near
            mov   ah,09
            lea   dx,messg1
            int   21h
            mov   ah,0ah
            lea   dx,namepar
            int   21h
            mov   ah,09
            lea   dx,crlf
            int   21h
  相关解决方案