彙編 輸出 兩位數,彙編輸出數字

2025-02-01 07:45:24 字數 3270 閱讀 7615

1樓:網友

彙編啊,忘得差不多了。

我給你個建議把。

我記得當初寫程式時,一般這樣:ax,不是由高位和低位嗎?

向左移位,把高位部分放到輸出的那個暫存器,忘了。

反正就是這個思想,分別順序的輸出高位和低位。

哎。慚愧,忘乾淨了。

輸入的十進位?存的時候是以二進位存放的,也就是說只有01,對照ascii碼看看。

剛才看看書,輸出的暫存器dx的低位dl,你可以依次把ax的ah和al放到dl,然後輸出。。

分兩次輸出唄,也就多寫兩三行**。

如果是十位數,最好就用迴圈,不過35也就兩位數,分兩次就ok了。

2樓:網友

兩位十進位數的輸出方法:

將要輸出的資料除以10,除法的商既為十位,餘數為個位。將。

十、個位順序輸出即可。

如欲輸出35:

mov ax,35

mov bl,10

div bl;餘數在ah,商在al

mov dx,ax

add dx,3030h;轉化成十\個位對應的ascii碼。

mov ah,2

int 21h

mov dl,dh

mov ah,2

int 21h

用組合語言如何將乙個ax中的數輸出

3樓:永恆

以下兩個子程式以10進位形式輸出ax暫存器的值:

******************************==dspaxs proc near ; 輸出帶符號的ax

push ax

test ax,8000h

jns @dspaxs1

push ax

push dx

mov ah,2

mov dl,'-'

int 21h

pop dx

pop ax

neg ax

dspaxs1:

call dspax

pop ax

retdspaxs endp

******************************dspax proc near ; 輸出無符號的ax

push ax

push bx

push cx

push dx

pushfxor cx,cx

mov bx,10

dspax1:

xor dx,dx

div bx

inc cx

or dx,30h

push dx

cmp ax,0

jne @dspax1

mov ah,2

dispax2:

pop dx

int 21h

loop @dispax2

mov dl,32

int 21h

popfpop dx

pop cx

pop bx

pop ax

retdspax endp

4樓:幸運者二號

暫存器根據情況儲存。

a0 db '0123456789abcdef';這句在資料段中,;在**段中呼叫print即可。

即 用call print

print:

push cx

push di

mov ch,4

mov cl,4

mov bx,ax

s1:rol bx,cl

mov al,bl

and ax,0fh

mov dl,a0[di]

mov ah,2

int 21h

dec ch

jnz s1

mov dl,32

mov ah,2

int 21h

pop pi

pop cxret

5樓:藏風之處

這個問題非常簡單,但是解釋起來很困難。

根據呼叫函式的不同提供的引數型別也不同。

如果是指標則需要把ax的資料儲存到指標指向的記憶體如果是資料則直接把ax壓入堆疊。

根據輸出呼叫的不同而不同。

我想你因該問如何輸出暫存器值。

其實很簡單,把暫存器值存入記憶體然後輸出。

或是直接把暫存器數值push到堆疊然後輸出參考一下輸出的函式。

彙編輸出數字

6樓:做而論道

你先把bx內容傳送到ax,然後再呼叫下列過程即可。

--printax proc ;以10進位輸出ax中的無符號整數。

mov bx, 10 ;按10進位輸出。

or ax, ax

jz _0_

loop_p:

xor dx, dx

div bx

mov cx, ax ;商。

or cx, dx

jz _e_ ;若商與餘數都為0則結束遞迴。

push dx ;儲存dx中的餘數。

call loop_p ;遞迴。

pop dx ;恢復餘數。

add dl, '0' ;變成ascii碼。

jmp _1_

0_: mov dl, '0' ;是0則直接輸出。

1_: mov ah, 2

int 21h

e_: ret

printax endp

為什麼輸出是兩位數

7樓:如約而至

%3d表示輸出的長度為3,當小於3時,左端補0,大於時遠樣輸出。

彙編中怎樣輸出乙個數

8樓:中原小壞蛋

運算的時候你可以用56除以10來一位一位的輸出,多位數的時候以此類推或者把他當字元,直接輸出字元。下面是輸出字元的。

datas segment

x db '56$'

datas ends

codes segment

assume cs:codes,ds:datasstart:

mov ax,datas

mov ds,ax

mov dx,offset x

mov ah,09h

int 21h

mov ah,4ch

int 21h

codes ends

end start

兩位數除以兩位數?求豎式的,兩位數除以兩位數?求豎式的?

商有小數,被除數小數點後面加零 例如2 11 0.181818.0.181.11 2.00000.11 9088 20.列豎式的方法 1 先在上面一行寫第一個加數。如果兩加數位數不一樣,就先寫位數多的數 2 再在下面一行寫第二個加數。如果兩加數位數不一樣,就寫位數少的數。第二個數要和第一個數的數位對...

筆算兩位數加兩位數時要注意數位要從

筆算兩位數加兩位數時要注意 相同 數位要 對齊 從 個位加起 要注意進位bai 加法是基本的四du則運算之一,它 zhi是指將兩個dao或者兩個以版上的數 量合起來,權變成一個數 量的計算。表達加法的符號為加號 進行加法時以加號將各項連線起來。在算術中,已經設計了涉及分數和負數的加法規則。加法有幾個...

兩位數,個位數字是n,十位數字是m,這個兩位數可表示為

一個兩位數,個位數字是n,十位數字是m,這個數是 10m n 故答案為 10m n 一個兩位數的十位數字為a,個位上的數字比十位上的大3,這個數是多少?個位上的數字比十位上的大3 所以個位是a 3 十位上的單位是10 所以十位數字的a代表10a 個位是a 3 10a a 3 11a 3 答 這個數是...