⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 6_9.asm

📁 编写一个子程序
💻 ASM
字号:
; page 244
; coder : ChenFeng 04128002
; date  : 2006-12-25
;**************************************************************
        data  segment

       mess1  db        'INPUT NAME  ',0dh,0ah,'$'
       mess2  db        'INPUT A TELEPHONE NUMBER',0dh,0ah,'$'
       mess3  db        'NAME        TEL',0dh,0ah,'$'
        mess  db        0dh,0ah,'$'

         ame  label     byte
    name_max  db        10
    name_len  db        ?
       _name  db        10 dup('$')

      number  label     byte
  number_max  db        9
  number_len  db        ?
     _number  db        9 dup('$')

        data  ends
;**************************************************************
        code  segment
        main  proc      far
              assume    cs :code,ds:data
      start:
;set up stack for return
              push      ds
              sub       ax,ax
              push      ax
;set DS REG to current data segment
              mov       ax,data
              mov       ds,ax
;MAIN PART OF PROGRAM
              lea       dx,mess1
              mov       ah,09h
              int       21h

              call      inname

              lea       dx,mess2
              mov       ah,09h
              int       21h

              call      inphone
              call      printline

              ret
        main  endp
;****************************************************************
      inname  proc      near

              lea       dx,ame
              call      getchar

              ret
      inname  endp
;****************************************************************
     inphone  proc      near
              lea       dx,number
              call      getchar

              ret
     inphone  endp
;****************************************************************
   printline  proc      near
              lea       dx,mess3
              mov       ah,09h
              int       21h

              lea       dx,_name    ; 输出姓名
              mov       ah,09h
              int       21h

              mov       cx,5        ;设置光标到指定位置
      loop1:  mov       dl,20h
              mov       ah,02h
              int       21h
              loop        loop1

              lea       dx,_number  ; 输出号码
              mov       ah,09h
              int       21h

              ret
   printline  endp
;****************************************************************
     getchar  proc      near
              mov       ah,0ah
              int       21h

              lea       dx,mess
              mov       ah,09h
              int       21h

              ret
     getchar  endp
;****************************************************************
        code  ends
              end       start



⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -