十万火急!求救!!!

时间:2022-02-10 00:43:16
各位大侠,你们好!
    小弟我有一汇编题目(是期末考试题),可惜小弟平时不用功,现在期限临近,眼看就要交不成作业,悔之晚矣。人命关天,请大侠该出手时就出手,救小弟于水火之中。 

题目:二、十和十六进制数据的转换。从键盘输入一个数据(二、十、十六进制数),转换成与其等值的其它两种数制。输入输出时,分别用后缀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
;没时间了,你自己改改吧。

#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
;没时间了,你自己改改吧。