(1)輸入10字串並且將他們顯示出來
datas
segment
mesg
db'input character string',0dh,0ah,'$'
bufdb
20 ;這裡的20為指定存放字元的個數(理論上的)
db ? ;這的?可變,實際存放字元的個數(系統自動計算)
db20dup(?) ;這裡的20是你在資料段開闢的空間
crlf
db 0ah,0dh,'$'
datas
ends
stacks
segment
db200
dup(?)
stacks
ends
codes
segment
assume
cs:codes,ds
:datas,ss
:stacks
start
:mov
ax,datas
movds,ax
movah,9h
movdx,offset
mesg
int21h ;這段功能的作用是輸出字串mesg
movah,10 ;10號中斷,接收輸入字串,此時dx為存放字串的有效位址
leadx,buf
int21h
leadx,crlf
movah,9
int21h ;這段功能是再一次輸出換行回車
moval,buf+1 ;獲取字串中字元的個數
addal,2
movah,0
movsi,ax
movbuf[si],0h ;暫存器間接定址
leadx,buf+2 ;輸出實際的字串
movah,9
int21h
movah,4ch
int21hcodes
ends
endstart
(2)變形。
輸入10個數並且將他們反向輸出(利用了堆疊的先進先出的特點)
datas segment
;此處輸入資料段**
datas ends
stack segment
dw 50 dup(?)
stack ends
codes segment
assume cs:codes,ds:datas,ss:stack
start:
mov ax,stack
mov ss,ax
mov cx,10
l1:mov ah,01h
int 21h
push ax
loop l1
mov dl,0ah
mov ah,02h
int 21h
mov dl,0dh
mov ah,02h
int 21h
mov cx,10
l2:pop dx
mov ah,02h
int 21h
loop l2
;此處輸入**段**
mov ah,4ch
int 21h
codes ends
end start
字串的輸入輸出 彙編
彙編之字串的輸入輸出 一直只是認為知道彙編是怎麼一回事,沒真正的好好寫過,現在再來好好了解一點 datas segment ent db 13,10,用於輸出回車符 s size db 100 輸入字串的最大長度 s len db 實際輸入字元的長度 string db 101 dup datas ...
彙編之輸出輸入的字串
assume cs code,ds data 宣告 data segment char1 db 11,0,11 dup 0 11,0,11 三個數的意義是限制輸入的字元個數,實際輸入的個數和限制輸出的字元個數 char2 db 0ah,0dh,char2內的內容分別是回車0ah,換行0dh,符 da...
彙編原始碼學習5 輸入字串
輸入9個以內的字元並輸出 data1 segment string db 10,10 dup 編譯時去掉此處括號中的內容 第1個單元存放限制輸入的字元個數,含回車符13 第2個單元存放實際輸入的字元個數,不含回車符13 實際的字串從第3個單元開始 data1 ends stack1 segment ...