data segment
buf db 32
db ?
db 32 dup(?)
count dw ?
data ends
code segment
assume cs:code,ds:data,es:data
start:
mov ax,data
mov ds,ax
lea dx,buf
mov ah,0ah
int 21h
lea si,buf
inc si
mov cx,[si]
mov count,cx
add si,cx
mov dl,0dh
mov ah,2
int 21h
mov dl,0ah
mov ah,2
int 21h
jmp output
output:
mov dl,[si]
mov ah,2
int 21h
dec si
loop output
mov ah,4ch
int 21h
code ends
end start