王爽組合語言第二版
一、實驗要求
上一部分實現了把乙個word型別的資料轉換為表示十進位制數的字串,現有需求要實現dword型別資料的轉換,可用類似演算法實現。演算法參考
對dword型別的轉換可能出現除法溢位的問題,解決方法參考
二、程式介面
名稱:dtoc
功能:將dword型數轉變為表示十進位制數的字串,字串以0為結尾符
引數:(ax)=dword型資料的低16位
(dx)=dword型資料的高16位
ds:si指向字串的首位址
返回:無
三、實現**
dtoc:
push ax
push bx
push cx
push dx
push bp
push si
mov bp,0
dtoc_s0:
mov cx,10d
call divdw
push cx
inc bp
mov cx,ax
inc cx
loop dtoc_s0
mov cx,bp
dtoc_s:
pop bx
add bl,30h
mov ds:[si],bl
inc si
loop dtoc_s
mov byte ptr ds:[si],0
pop si
pop bp
pop dx
pop cx
pop bx
pop ax
ret四、測試**
assume cs:code,ds:data,ss:stack
data segment
db 10 dup (0)
data ends
stack segment
dw 16 dup (0)
stack ends
code segment
start:
mov ax,9768h;dx*16+ax=5937000
mov dx,5ah
mov bx,data
mov ds,bx
mov si,0
call dtoc ;呼叫轉換的子程式
mov dh,8
mov dl,3
mov cl,2
call show_str ;呼叫顯示字串的子程式
mov ax,4c00h
int 21h
code ends
end start
五、測試結果
將數值轉換為表示十進位制數的字串
王爽組合語言第二版,實驗10.3 一 實驗要求 編寫乙個子程式,實現將乙個數值轉換為表示十進位制數的字串 二 程式介面 三 演算法概述 1 可以反覆呼叫除法運算除以10d取餘數,直到商為0,可以獲得十進位制各位碼 例如 10 12666 6 10 1266 6 10 126 6 10 12 2 10...
將數值轉換為表示十進位制數的字串2
王爽組合語言第二版 一 實驗要求 上一部分實現了把乙個word型別的資料轉換為表示十進位制數的字串,現有需求要實現dword型別資料的轉換,可用類似演算法實現。演算法參考http blog.csdn.net lingdushanke archive 2009 12 28 5090736.aspx。對...
將十進位制數M轉換為N進製數
題目描述 給定乙個十進位制數m,以及需要轉換的進製數n。將十進位制數m轉化為n進製數。exp 輸入 輸入為一行,m 32位整數 n 2 n 16 以空格隔開,如7,2。輸出 為每個測試例項輸出轉換後的數,每個輸出佔一行。如果n大於9,則對應的數字規則參考16進製制 比如,10用a表示,等等 如111...