組合語言實現一個字串的輸入與輸出,可以呼叫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 dl,0ah;回車換行
mov ah,02h
mov dl,0dh
lea si,str;輸出字串
output: mov dl,[si]
cmp dl,0dh
jz endout;已到字串尾
jmp output
endout: mov ah,4ch
ret
main endp
code ends
end start
組合語言實現一個字串的輸入與輸出,可以呼叫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