組合語言呼叫中斷輸入輸出字串問題

時間 2022-02-03 08:20:13

1樓:

改了一下,自己對比下與你原來的有什麼不同吧data segment

buf db 30,0,31 dup("$")ends

code segment

assume cs:code,ds:datastart:

mov ax, data

mov ds, ax

mov ah,0ah

mov dx,offset buf

int 21h

mov ah,09h

mov dx,offset buf+2

int 21h

mov ah, 4ch

int 21h

ends

end start

2樓:

0a號功能使用錯誤。

接受輸入字串緩衝區的定義說明:

1、第乙個位元組為緩衝區的最大容量,可認為是入口引數;

2、第二個位元組為實際輸入的字元數(不包括回車鍵),可看作出口引數;

3、從第三個位元組開始存放實際輸入的字串;

buf db 30,0,30 dup(?)然後就是0a號功能不是以$作為字串結尾的,所以應該自己手動加上,這樣使用9號功能的時候才不會出錯

組合語言怎麼實現乙個字串的輸入與輸出

3樓:志強強吧

輸入:data segment

buff db 100

db ?

db 100 dup(?)

data ends

mov ax,data

mov ds,ax

lea dx,buff

mov ah,0ah

int 21h

輸出:hello

mes db 'hello $'

mov ax,data

mov ds,ax

lea dx,mes

mov ah,9

int 21h

4樓:灬**灬銘

用21號中斷的10號功能輸入。。9號功能輸出。。

5樓:專業保證

mov ax 0ah

int 21h

mov ax 09h

int 21h

[組合語言]由鍵盤輸入任意字串 然後顯示出來

6樓:冠月朗

data segment

keyboard db 256,?,256 dup (?)data ends

code segment

assume cs:code,ds:datamain proc far

mov ax,data

mov ds,ax

lea dx,keyboard

mov ah,0ah;輸入字串

int 21h

lea di,keyboard

mov cl,[di+1];取出實際輸入字元的個數mov ch,0

add di,2;指向第乙個字元

next:mov dl,[di]

mov ah,2;迴圈輸出字元

int 21h

inc di

loop next

mov ah,4ch

int 21h

main endp

code ends

end main

7樓:匿名使用者

這個程式能接受256個字元,如果你還想輸入更多的字元,只需要把空間留的更多一點就行

data segment

keyboard db 256 dup (?) ;為輸入的字串預留空間

data ends

code segment

assume cs:code,ds:data

main proc far

mov ax,data

mov ds,ax

lea dx,keyboard ;這個中斷能使你在輸入時就能看見輸入的字元

mov ah,9

int 21h

mov ah,1 ;這個中斷是為了使程式暫停一下,不然你按回車鍵就立刻結束

int 21h

mov ah,4ch

int 21h

main endp

code ends

end main

組合語言字串輸出問題

組合語言問題,菜鳥請求高手,組合語言問題,輸出了正確結果,但是下面還輸出了許多亂碼??

湯旺河邊 dos功能呼叫9號功能 顯示以ds dx開始的字串,當遇到乙個 時,結束顯示。樓主程式中,lea si,aa add si,5 mov byte ptr si 把字串中第4個字元改為 致使顯示前3個字元之後,結束顯示,這是導致 只是輸出前3個 的癥結所在。把這三條指令的後兩條刪掉即可。下面...

c語言格式輸入輸出函式,C語言中輸入輸出函式有幾種格式?

一 格式輸出函式printf 1 呼叫形式一般為 printf 格式化控制字串 輸出表列 2 格式化控制字串用於指定輸出格式,它有三種形式 1 格式說明符 規定了相應輸出表列內容的輸出格式,以 打頭,如 d o等 2 轉義字元 用來輸出轉義字元所代表的控制 或者特殊字元,比如常用的 n t 3 普通...

c語言程式設計中怎麼輸入輸出姓名漢字

杜哥是個小天才 如果您是用tc進行程式設計,那麼只能顯示英文,如果您是用vc進行程式設計就可以顯示中文了。兩者只是編譯工具不一樣,程式語言的使用是一樣的。如下 include include int main char name 6 20 char temp 20 printf 請輸入6個人的名字 ...