data segment
buff db 255 ;缓冲区,用于存放字符串
db ?
db 255 dup (?)
crlf db 0ah, 0dh, "$" ;回车换行
data ends
code segment
assume ds:data, cs:code
start:
mov ax, data ;取数据段存入ds中
mov ds, ax
lea dx, buff ;输入字符串到buff
mov ah, 0ah
int 21h
lea dx, crlf ;输出回车换行
mov ah, 9h
int 21h
lea si, buff + 2h ;取字符串地址到si中
mov cl, buff + 1h ;取字符个数到cl中
next:
cmp cl, 0h
je finish
mov dl, byte ptr [si] ;输出一个字符
mov ah, 2h
int 21h
dec cl ;计数器减1
inc si
jmp next
finish:
mov ah, 4ch
int 21h
code ends
end start
本文介绍了一个使用汇编语言进行字符串输入输出的简单示例。通过设置数据段和代码段,利用INT 21H中断服务实现字符串的接收与逐字符显示,适合初学者了解基本的汇编语言编程技巧。

640

被折叠的 条评论
为什么被折叠?



