組合語言問題,關於輸出字串,組合語言問題,輸出了正確結果,但是下面還輸出了許多亂碼

2021-03-03 21:56:11 字數 1994 閱讀 6367

1樓:匿名使用者

沒大bai毛病,2處錯誤:

decs:

sub ax, dx ; 這裡錯du了, dec不是幹這活zhi的. dec ax,dx ;原數的兩dao個絕對值相版減

loop next

mov ah,4ch ;這裡加上退出指令。

int 21h ; 其它權的沒問題。

code ends

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

2樓:匿名使用者

最後要加入乙個

mov ah,4ch

nt 21h

來返回,否則你的程式會繼續跑下去,也不知道跑到什麼地方去了

3樓:匿名使用者

string db "hello !$"

字串漏了

結束字元

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

4樓:匿名使用者

組合語言實現乙個字串的輸入與輸出,可以呼叫dos功能中斷完成。

示例程式如下:

;組合語言輸入一串字串,可以呼叫dos功能中斷int 21h的06h功能。

;程式功能:輸入一串字元,以回車符結束,輸入字串最大長度200字元;

; 輸入結束在下一行輸出此字串。

data segment

str db 201 dup (0dh)

data ends

code segment

assume cs:code,ds:datamain 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,4chint 21h

retmain endp

code ends

end start

5樓:志強強吧

輸入: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

6樓:灬**灬銘

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

7樓:專業保證

mov ax 0ah

int 21h

mov ax 09h

int 21h

組合語言問題組合語言問題

微控制器中 沒有相等就跳轉的指令 其實,cjne實際上也實現了相等跳轉的功能的 cjne a,data,rel 如果不等跳到rel指令a 如果等就執行下一條指令 指令a.rel 指令b 假如有一條相等就跳轉的指令cje 實際上沒有 cje a,data,rel 相等跳到rel指令b 不等跳到指令b ...

請問怎樣用組合語言刪除字串內指定的字元

你可以把它置為0,這樣讀取就讀不出來了,相當於刪除。組合語言,刪除字串中的字元,求達人標註每步的作用,急用,程式設計達人幫個忙啊!c語言程式設計 由鍵盤任意輸入乙個字串和任乙個字元,要求從該字串中刪除所指定的字元 include int main void str j 0 printf s n st...

組合語言,查表法輸出立方值,組合語言題目 從鍵盤上輸入0 9之間的任意乙個數字,利用查表的方法計算其平方值,並將計算的結果在

mov ah,1 輸入並回顯n int 21h push ax mov ah,2 回車換行 mov dl,0ah int 21h mov dl,0dh int 21h pop ax 有些函式會改變ax暫存器裡的值,你能通過嗎在我電腦上編譯都通不過。組合語言題目 從鍵盤上輸入0 9之間的任意乙個數字,...