汇编程序进制转化问题~

来源:百度知道 编辑:UC知道 时间:2024/05/22 19:54:04
汇编程序可以自动把输入的各种进制转换为二进制,如mov ax,10就是把10默认为十进制形式以0000 0000 0000 1010存进了寄存器,那么汇编有没有提供一种可以把存储的二进制自动转化为相应的进制输出在屏幕上的功能,这样的话就不用在搞什么输入十进制,输出十六进制等用一大堆代码实现的程序了,另外dos 1,2,9功能调用是不是接收或者输出的只能是跟字符有关,如果我想把一些数据通过键盘输入到程序中,就像高级语言中的scanf一样,该怎么用啊?
回答差不多即给分

其实你的理解一开始就不对,
mov ax,10 这个指令,经过编译时就已经变成了你所谓的二进制形式。
编译器可以 识别 十进制、2进制、8进制、16进制。
编译器(汇编器)本身就是一个庞大的程序。
其实汇编程序是可以直接调用printf/scanf的,但是你还需要学习链接器的
相关知识。
对于特别大的数,比如有上千万位的数,一般做进制转换都是靠汇编,会比C
语言快一倍左右,基本上就是做除法,输出余数其实很简单。
printf/scanf的汇编码是可以通过连接器和反汇编器得到的。
一般你说的功能会在一个叫做doprintf的函数里,或者itoa函数里。

那么汇编有没有提供一种可以把存储的二进制自动转化为相应的进制输出在屏幕上的功能,这样的话就不用在搞什么输入十进制,输出十六进制等用一大堆代码实现的程序了,
----------------
有的,高级的操作人员,就不用搞什么输入十进制,输出十六进制等等了。
因为,已经由计算机专业人员编写出来了底层的二进制等转化为十进制输出在屏幕上的程序。
要是想成为计算机的专业人员,就应该研究进制的互换。