永发信息网

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

答案:4  悬赏:40  手机版
解决时间 2021-12-02 00:32
  • 提问者网友:杀手的诗
  • 2021-12-01 02:04
汇编语言怎么实现一个字符串的输入与输出
最佳答案
  • 五星知识达人网友:蓝房子
  • 2021-12-01 03:08
汇编语言实现一个字符串的输入与输出,可以调用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
全部回答
  • 1楼网友:忘川信使
  • 2021-12-01 05:05
mov ax 0Ah
int 21h
mov ax 09h
int 21h
  • 2楼网友:春色三分
  • 2021-12-01 04:43
输入:
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
  • 3楼网友:末日狂欢
  • 2021-12-01 04:06
用21号中断的10号功能输入。。9号功能输出。。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯