曙光微雅 发表于 2012-6-6 22:47:44

汇编进制转换 的代码 问题

求 详细 的进制转化(十进制 二进制 十六进制 之间的 转换)代码 的详细 解释    是代码 解释   不是手算   因为 里面的代码 很多不知道 是什么意思所以在 这里   向广大 鱼油 求帮助 !!!!!!!!!!!!!!

曙光微雅 发表于 2012-6-6 22:48:23

自己 先顶一下

孙九 发表于 2012-6-10 14:37:24

我没看明白,你的问题,到底你是会不会进制转换啊,我觉得刚学的时候先自己手算的啊,后来基本上就不用了,自己一看就明白了 啊。举个例子:100(十进制)=6*16+4=64(十六进制) 对于二进制就更好算了,每一个十六进制转化为二进制对应的四位。例子:12H=00010010(二进制)

曙光微雅 发表于 2012-6-10 22:04:51

孙九 发表于 2012-6-10 14:37 static/image/common/back.gif
我没看明白,你的问题,到底你是会不会进制转换啊,我觉得刚学的时候先自己手算的啊,后来基本上就不用了, ...

5   码制转换程序实验
     将ASCⅡ码数据转换成二进制数据。要求从键盘上输入十进制整数(假定范围0~32767),然后转换成二进制格式存储。
DATA        SEGMENT
                STRING1        DB               'PLEASE INPUT A NUMBER(0~32767):$'
                STRING2         DB                 'THE ASCII IS:$'
                STRING3        DB               'THE BINARY IS:$'
DATA        ENDS

CODE        SEGMENT
                ASSUME        CS:CODE,DS:DATA
MAIN        PROC        FAR

START:        MOV        AX,DATA
                MOV        DS,AX
                MOV        DX,OFFSET STRING1
                MOV        AH,09H
                INT                21H
                CALL        CRLF
INPUT:        MOV        AH,01H                                ;输入数据
                INT                21H
                CMP        AL,0DH
                JZ                NEXT
                SUB                AL,30H
                JL                INPUT
                CMP        AL,39H
                JG                INPUT
                CBW
                XCHG        AX,BX                                ;AX为输入值,BX保存结果,两个对调为MUL做准备
                MOV        DX,10D                                ;将上一次结果乘10
                MUL        DX
                XCHG        AX,BX                                ;AX为本次输入的值,BX为之前的结果
                ADD        BX,AX
                JMP                INPUT
NEXT:   CALL        CRLF      
                MOV        CL,4D      (这里可以解释下 是什么 意思吗?)
                MOV        CH,4D      (还有这里我一直没看懂   现在 还是新手 )

                MOV        DX,OFFSET STRING2
                MOV        AH,09H
                INT                21H
                CALL        CRLF
LOOP0:        ROL        BX,CL                                ;循环左移,将最高为存到BL的低四位
                MOV        AL,BL
                AND        AL,0FH                                ;
                ADD        AL,30H
                CMP        AL,3AH
                JL                OUTPUT
                ADD        AL,07H
OUTPUT:MOV        AH,02H
                MOV        DL,AL
                INT                21H
                DEC        CH
                JNZ                LOOP0
                CALL        CRLF
                MOV        DX,OFFSET STRING3
                MOV        AH,09H
                INT                21H
                CALL        CRLF
                MOV        CH,16D
                MOV        CL,1D
LOOP1:        ROL        BX,CL
                MOV        AL,BL
                AND        AL,01H
                ADD        AL,30H
                MOV        AH,02H
                MOV        DL,AL
                INT                21H
                DEC        CH
                JNZ                LOOP1
       
                MOV        AH,4CH
                INT                21H
MAIN        ENDP

OUTS        PROC        NEAR                                ;字符串输出子程序
                MOV        AH,09H
                INT                21H
                RET
OUTS        ENDP

CRLF        PROC        NEAR                                ;回车换行子程序
                MOV        AH,02H                                ;回车
                INT                21H
                MOV        DL,0AH                                ;换行
                INT                21H
                RET
CRLF        ENDP

CODE        ENDS
                END        START

曙光微雅 发表于 2012-6-10 22:06:07

曙光微雅 发表于 2012-6-10 22:04 static/image/common/back.gif
5   码制转换程序实验
     将ASCⅡ码数据转换成二进制数据。要求从键盘上输入十进制整数(假定范围0~3 ...

就是实际 代码 里 的一些指令不清楚 埃。。。。。   

最后的精彩 发表于 2012-6-15 09:08:06

曙光微雅 发表于 2012-6-10 22:06 static/image/common/back.gif
就是实际 代码 里 的一些指令不清楚 埃。。。。。

代码指令都还没看懂,基础不够扎实。

小J 发表于 2012-6-15 21:12:23

这种问题,百度吧,进制转换。。或者是谭浩强的那本C语言,前面讲的很清楚,自己看。

gsda 发表于 2013-6-15 09:38:32

过来学习一下。。。。。。。。
页: [1]
查看完整版本: 汇编进制转换 的代码 问题