汇编语言怎么实现一个字符串的输入与输出

 我来答
NJGQZF
推荐于2017-09-25 · TA获得超过1.1万个赞
知道大有可为答主
回答量:3165
采纳率:0%
帮助的人:1253万
展开全部
汇编语言实现一个字符串的输入与输出,可以调用DOS功能中断完成。
示例程序如下:
;汇编语言输入一串字符串,可以调用DOS功能中断INT 21H的06H功能。
;程序功能:输入一串字符,以回车符结束,输入字符串最大长度200字符;
; 输入结束在下一行输出此字符串。
data segment
str db 201 dup (0dh)
data ends

code segment
assume cs:code,ds:data
main proc far
start:
mov ax,data
mov ds,ax
lea si,str
mov cx,200
inpstr: mov ah,06h
int 21h
jnz inpstr;无字符可读
mov [si],a1
inc si
xor al,0dh
jz endinp
loop inpstr

endinp: mov al,0dh
mov [si],a1

mov dl,0ah;回车换行
mov ah,02h
int 21h
mov dl,0dh
mov ah,02h
int 21h

lea si,str;输出字符串
output: mov dl,[si]
cmp dl,0dh
jz endout;已到字符串尾
mov ah,02h
int 21h
inc si
jmp output

endout: mov ah,4ch
int 21h
ret
main endp
code ends
end start
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
志强强吧
2011-05-26
知道答主
回答量:44
采纳率:100%
帮助的人:19.9万
展开全部
输入:
DATA SEGMENT
BUFF DB 100
DB ?
DB 100 DUP(?)
DATA ENDS
MOV AX,DATA
MOV DS,AX
LEA DX,BUFF
MOV AH,0AH
INT 21H
输出:HELLO
MES DB 'HELLO $'
MOV AX,DATA
MOV DS,AX
LEA DX,MES
MOV AH,9
INT 21H
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友a22d356
2011-05-24 · TA获得超过190个赞
知道答主
回答量:81
采纳率:0%
帮助的人:68.4万
展开全部
用21号中断的10号功能输入。。9号功能输出。。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
专业保证
2011-05-24 · TA获得超过473个赞
知道小有建树答主
回答量:552
采纳率:0%
帮助的人:256万
展开全部
mov ax 0Ah
int 21h
mov ax 09h
int 21h
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式