【虎彡】编译通过了,但是运行不了,大叔、哥哥速来!
时间:2010-12-14
来源:互联网
主程序TELIST:
(1)显示提示符INPUT NAME:
(2)调用子程序INPUT_NAME 输入姓名
(3)显示提示符INPUT A TELEPHONE NUMBER
(4)调用子程序INPHONE输入电话号码
(5)调用子程序PRINTLINE显示姓名及电话号码
子程序INPUT_NAME
(1)调用键盘输入子程序GETCHAR,把输入的姓名存放在INBUF缓冲区
(2)把INBUF中姓名移入输出行OUTNAME
子程序INPHONE
(1)调用键盘输入子程序GETCHAR,把输入的的8位号码存放在INBUF缓冲区
(2)把INBUF中的电话号码移入输出行OUTPHONE
子程序PRINTLNE
显示姓名及电话号码,格式为:
NAME TEL.
XXX XXX
******************************************************************************
data segment
IPNAME db 'INPUT NAME:','$' ;提示符INPUT NAME:
IPATEL db 'INPUT A TELEPHONE NUMBER','$' ;提示符INPUT A TELEPHONE NUMBER
INBUF db 20 dup (0) ;INBUF缓冲区
OUTNAME db 20 dup (0) ;输出行OUTNAME
OUTPHONE db 20 dup (0) ;输出行OUTPHONE
NA_ME db 'NAME','$'
TEL db 'TEL.','$'
jishu db 0,0 ;记录
data ends
;++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
code segment
assume cs:code,ds:data,es:data
start:
mov ax,data
mov ds,ax
mov es,ax
lea dx,IPNAME
mov ah,09h
int 21h ;显示INPUT NAME:
call INPUT_NAME ;调用子程序INPUT_NAME 输入姓名
lea dx,IPATEL
mov ah,09h
int 21h ;显示提示符INPUT A TELEPHONE NUMBER
call INPHONE ;调用子程序INPHONE输入电话号码
call PRINTLINE ;调用子程序PRINTLINE显示姓名及电话号码
mov ax,4c00h
int 21h
;===================================================================================
INPUT_NAME proc near ;输入姓名
push cx
push si
push di
push bx
call GETCHAR ;调用键盘输入子程序GETCHAR
lea bx,INBUF
inc bx
mov cl,[bx]-1 ;INBUF第二个单元为字节数(包括回车
inc bx
lea si,jishu
mov byte ptr [si],cl ;记录输入字节数
mov si,bx ;SI指向源地址
lea DI,OUTNAME ;DI指向输出行OUTNAME
CLD
rep movsb
pop bx
pop di
pop si
pop cx
ret
INPUT_NAME endp
;-------------------------------------------------------------------------------------
INPHONE proc near ;输入电话号码
push CX
push si
push di
push bx
call GETCHAR ;调用键盘输入子程序GETCHAR
lea bx,INBUF
inc bx
mov cl,[bx]-1
inc bx
lea bx,INBUF
inc bx
mov byte ptr [si+1],cl ;记录输入号码个数
mov si,bx
lea di,OUTPHONE
CLD
rep movsb ;把INBUF中姓名移入输出行OUTNAME
pop bx
pop di
pop si
pop cx
ret
INPHONE endp
GETCHAR proc near ;键盘输入子程序
push ax
push dx
lea dx,INBUF
mov ax,0ah
int 21h
pop dx
pop ax
ret
GETCHAR endp
;------------------------------------------------------------------------------------
PRINTLINE proc near
push ax
push bx
push si
push dx
lea dx,NA_ME
mov ah,09h
int 21h ;显示NAME
mov dl,0DH
mov ah,02h
int 21h ;空格
lea dx,TEL
mov ah,09H
int 21h ;显示TEL.
mov dl,0AH
mov ah,02h
int 21h ;回车
lea si,jishu
lea bx,OUTNAME
add bl,[si]
mov bh,0
mov byte ptr [bx+1],'$'
lea dx,OUTNAME
mov ah,09h
int 21h ;显示名字
mov dl,0DH
mov ah,02h
int 21h ;空格
lea bx,OUTPHONE
add bl,[si+1]
mov byte ptr [bx+1],'$'
lea dx,OUTPHONE
mov ah,09h
int 21h ;显示电话号码
pop dx
pop si
pop bx
pop ax
ret
PRINTLINE endp
code ends
end start
;***********************************************************************************
作者: znxllyuan 发布时间: 2010-12-14
D:MYDOCU~1\noname1.exe
NTVDM CPU遇到无效的指令
CS:CD09 IP:D055 OP:F0 37 05 10 02 选择“关闭”终止应用程序
关闭(C) 忽略(I)
作者: znxllyuan 发布时间: 2010-12-14
mov ax,0ah ;, 应为:mov ah,0ah
键盘如入缓冲区INBUF格式不对。INBUF应该由三部分组成。
即:要输入的字节数,实际输入字节数,输入内容。
目前只看出这些。
作者: masmaster 发布时间: 2010-12-14
键盘输入子程序错误
mov ax,0ah ;, 应为:mov ah,0ah
键盘如入缓冲区INBUF格式不对。INBUF应该由三部分组成。
即:要输入的字节数,实际输入字节数,输入内容。
目前只看出这些。
INBUF该怎样定义?
作者: znxllyuan 发布时间: 2010-12-14
引用 2 楼 masmaster 的回复:
键盘输入子程序错误
mov ax,0ah ;, 应为:mov ah,0ah
键盘如入缓冲区INBUF格式不对。INBUF应该由三部分组成。
即:要输入的字节数,实际输入字节数,输入内容。
目前只看出这些。
INBUF该怎样定义?
inbuf db 20,0,20 dup (0);即:要输入的字节数,实际输入字节数,输入内容。
作者: masmaster 发布时间: 2010-12-14
厉害 !
训练耐心的~~~
作者: nanlingcg 发布时间: 2010-12-14
引用 3 楼 znxllyuan 的回复:
引用 2 楼 masmaster 的回复:
键盘输入子程序错误
mov ax,0ah ;, 应为:mov ah,0ah
键盘如入缓冲区INBUF格式不对。INBUF应该由三部分组成。
即:要输入的字节数,实际输入字节数,输入内容。
目前只看出这些。
INBUF该怎样定义?
inbuf db 20,0,20 dup (0);……
成了!但是我不会玩~
作者: znxllyuan 发布时间: 2010-12-14
写这么长???????????????????????????????????????????????!!!
厉害 !
训练耐心的~~~
吼吼 大叔我写了一个小时你~
刚才试了下, 提示INPUT NAME:
我打完回车
又提示INPUT A TELEPHONE NUMBER
我输入号码
回车就没了 不回显! 555555
作者: znxllyuan 发布时间: 2010-12-14
显示的时候是这样的
TEL.T A TELEPHONE NUMEBR88552233
anxia
作者: znxllyuan 发布时间: 2010-12-14
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28