組合語言學習記錄 輸入輸出字串

2021-08-30 16:15:15 字數 703 閱讀 7874

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

組合語言 逆序輸出字串

data1 segment stri db based addressing data1 ends stack1 segment stack dw 20h dup top label word stack1 ends code segment main proc far assume ds data...

組合語言實現字串的輸入,輸出

1.了解 int 21h 的09h 號中斷呼叫 輸出字串 lea dx,字串的開頭 或 mov dx,offset字串的開頭 mov ah,09h int 21h 2.在定義字串的時候要在末尾加上 作為字串的結束標誌。3.了解 int 21h 的0ah 號中斷呼叫 輸入字串 lea dx,字串的開頭...

組合語言對視訊記憶體直接輸出字串

程式目的 設定輸出字型的格式,具體見程式注釋 程式 d seg segment str1 db hello world 定義字串 d seg ends c seg segment assume cs c seg,ds d seg 定義cs,ds,入口 start mov ax,0b800h mov ...