十萬火急!求救!!!


各位大俠,你們好!
    小弟我有一匯編題目(是期末考試題),可惜小弟平時不用功,現在期限臨近,眼看就要交不成作業,悔之晚矣。人命關天,請大俠該出手時就出手,救小弟於水火之中。 

題目:二、十和十六進制數據的轉換。從鍵盤輸入一個數據(二、十、十六進制數),轉換成與其等值的其它兩種數制。輸入輸出時,分別用后綴B、D、H表示二、十和十六進制數(十進制輸入時,允許不用或用后綴)。要求程序能反復操作。 

目的要求:模塊化、結構化、自主運行、簡明易懂、多運用輸入輸出提示和必要的注釋、結構合理、語句使用得當,適當追求算法效率。 

題目雖簡單,但對小弟事關重大。 

大恩不言謝!小弟願結草銜環以報!!~~ 

附:
QQ:49490016
                    致
禮!

                    shimatsu@sina.com

5 个解决方案

#1


我記得有人問過類似的問題,你去已解決處找找吧,這樣快點。。。

#2


幫你找了找,這里是將16變成10的。
http://www.csdn.net/expert/topic/177/177689.shtm

#3


這里面應該有別的吧。
http://www.csdn.net/expert/topic/170/170647.shtm

#4


謝了,不過,如果方便的話,請哪位高手給我源碼。
謝了。

#5


;我整理了一下,下面兩個子程序是10->16,16->10的.
;2進制實際上也是16進制.你自己參考改改.
;顯示部分調用dos的int21h的02功能比較方便.
;得一個一個顯示...

;十進制轉換成十六進制!
DecToHex Proc Near
Pop BX ;保存sp!
Pop AX ;要轉換的數!
Xor CX,CX 
Dec0:
Cmp AX,10
Jb Dec1
Sub AX,10H
Add CX,10
Jmp Dec0
Dec1:
Add CX,AX 
Mov AX,CX ;轉換結束!
Push AX ;保存結果
Push BX ;壓入sp
Ret
DecToHex EndP
;16進制轉換成10進制
HexToDec Proc Near
Pop BX
Pop AX ;要轉換的16進制數.
Push BX ;保存sp
Xor BX,BX 
Hex0:
Cmp AX,0AH 
Jb Hex1 ;已經比10小了,不用再減了!
Sub AX,0AH
Add BX,10H 
Cmp BL,0A0H
Jb Hex0
Add BX,100H
Xor BL,BL
Mov CL,BH
And CL,0FH
Cmp CL,0AH
Jb Hex0
Add BH,010H
And BH,0F0H
Jmp Hex0 
Hex1:
Add BX,AX ;轉換到此結束!
Pop AX
Push BX ;保存結果.
Push AX
Ret
HexToDec EndP
;沒時間了,你自己改改吧。

注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
  © 2014-2022 ITdaan.com 联系我们: