汇编进制转换 的代码 问题
求 详细 的进制转化(十进制 二进制 十六进制 之间的 转换)代码 的详细 解释 是代码 解释 不是手算 因为 里面的代码 很多不知道 是什么意思所以在 这里 向广大 鱼油 求帮助 !!!!!!!!!!!!!! 自己 先顶一下 我没看明白,你的问题,到底你是会不会进制转换啊,我觉得刚学的时候先自己手算的啊,后来基本上就不用了,自己一看就明白了 啊。举个例子:100(十进制)=6*16+4=64(十六进制) 对于二进制就更好算了,每一个十六进制转化为二进制对应的四位。例子:12H=00010010(二进制) 孙九 发表于 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:04 static/image/common/back.gif
5 码制转换程序实验
将ASCⅡ码数据转换成二进制数据。要求从键盘上输入十进制整数(假定范围0~3 ...
就是实际 代码 里 的一些指令不清楚 埃。。。。。 曙光微雅 发表于 2012-6-10 22:06 static/image/common/back.gif
就是实际 代码 里 的一些指令不清楚 埃。。。。。
代码指令都还没看懂,基础不够扎实。 这种问题,百度吧,进制转换。。或者是谭浩强的那本C语言,前面讲的很清楚,自己看。 过来学习一下。。。。。。。。
页:
[1]