登录  
 加关注
查看详情
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

我的博客

电子信息学习 资料共享

 
 
 

日志

 
 

用汇编程序实现输入姓名和号码  

2010-01-24 21:56:45|  分类: 默认分类 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

;**************************************************
datarea  segment
inbuf    label   byte                         ;name parameter list:
maxnlen    db      9                          ;max.length
namelen    db      ?                          ;no. char entered
namefld    db      9 dup(?)  
crlf       db      13,10,'$'
messg1     db      'INPUT  NAME:',13,10,'$'
messg2     db      'INPUT  A  TELEPHONE  NUMBER:',13,10,'$'
messg3     db      'NAME                 TEL',13,10,'$'
OUTNAME    db      21  dup(?),'$'
OUTPHONE   db      8 dup(?),'$'
datarea  ends
prognam  segment
;*************************************************
assume cs:prognam,ds:datarea
 start:    push   ds
           sub    ax,ax
           push   ax
           mov    ax,datarea
           mov    ds,ax
           mov    es,ax
;************************************************
;MAIN PART PF PROGRAM GOES HERE  
TELIST     proc   far   
           mov    ah,09
           lea    dx,messg1
           int    21h
           call   INPUT_NAME
           mov    ah,09
           lea    dx,messg2
           int    21h
           call   INPHONE
           call   PRINTLINE
           ret
TELIST     endp
;****************************************
;   Accept name  as intput:
INPUT_NAME proc   near
           call   GETCHAR
           mov   bh,0
           mov   bl,namelen
           mov   cx,21
           sub   cx,bx
b20:       mov   namefld[bx],20h
           inc   bx
           loop  b20
           lea   si,namefld        
           lea   di,OUTNAME
           mov   cx,9
           cld
           rep   movsb
           ret
INPUT_NAME endp
;*****************************************
;   Accept number  as intput:
INPHONE    proc   near
           call   GETCHAR
           mov   bh,0
           mov   bl,namelen
           mov   cx,9
           sub   cx,bx
b30:       mov   namefld [bx],20h
           inc   bx
           loop  b30
           lea   si,namefld 
           lea   di,OUTPHONE
           mov   cx,8
           cld
           rep   movsb
           ret
INPHONE    endp
;******************************************
PRINTLINE  proc   near
           mov    ah,09h
           lea    dx,messg3
           int    21h
           mov    ah,09
           lea    dx,OUTNAME
           int    21h
           mov    ah,09
           lea    dx,OUTPHONE
           int    21h
           ret
PRINTLINE  endp
;***************************************
GETCHAR    proc   near
           mov    ah,0ah
           lea    dx,inbuf
           int    21h
           mov    ah,09
           lea    dx,crlf
           int    21h
           ret       
GETCHAR    endp
;******************************************
prognam    ends
           end    start

 

 

 

 

  评论这张
 
阅读(137)| 评论(1)

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018