汇编语言怎样实现ASCII码转换为二进制数这是前一段时间碰到的一个难题,由于初学微机原理,对汇编一块相当头大,还请各位大虾多多指教. 先谢了

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/06 12:46:37

汇编语言怎样实现ASCII码转换为二进制数这是前一段时间碰到的一个难题,由于初学微机原理,对汇编一块相当头大,还请各位大虾多多指教. 先谢了
汇编语言怎样实现ASCII码转换为二进制数
这是前一段时间碰到的一个难题,由于初学微机原理,对汇编一块相当头大,还请各位大虾多多指教.
先谢了

汇编语言怎样实现ASCII码转换为二进制数这是前一段时间碰到的一个难题,由于初学微机原理,对汇编一块相当头大,还请各位大虾多多指教. 先谢了
题目:将两个二进制数转换为二进制数码的ASCII码.
调用程序与子程序之间的任务分工是:调用程序提供待转换的数据,数据位数(8位,16位)和转换后存放ASCII码的首址等三个参量的地址,子程序完成二进制数的ASCII码转换.
-----------------------------------------------------------
DATA SEGMENT
BIN1 DB 35H
BIN2 DW 0AB48H
NUM DB 8,16
ASCBUF DB 20H DUP(0)
TABLE DW 3 DUP(0)
DATA ENDS
.
COSEG SEGMENT
...
MOV TABLE,OFFSET BIN1
MOV TABLE+2,OFFSET NUM
MOV TABLE+4,OFFSET ASCBUF
MOV BX,OFFSET TABLE
CALL BINASC8
...
MOV TABLE,OFFSET BIN2
MOV TABLE+2,OFFSET NUM+1
MOV TABLE+4,OFFSET ASCBUF+10H
MOV BX,OFFSET TABLE
CALL BINASC16
--------------------------------------------------------------
--------------------------------------------------------------
子程序如下:
BINASC PROC
BINASC8:MOV DI,[BX]
MOV DH,[DI]
JMP TRAN
BINASC16:MOV DI,[BX]
MOV DX,[DI]
TRAN:MOV DI,[BX+2]
MOV CL,[DI]
XOR CH,CH
MOV DI,[BX+4]
LOP:ROL DX,1
MOV AL,DL
AND AL,01H
ADD AL,30H
MOV [DI],AL
INC DI
LOOP LOP
RET
BINASC ENDP
--------------------------------------------------------------
程序是这个

好久不用汇编了,你是说把0~F这16个字母转化为对应的二进制数么?
思路是,如果这个数减掉30H的话,还大于9,就说明是A~F,需要再减7才对,否则就不用减了。
我在网上找了个程序,是这个意思
ASCBCD: PUSH PSW;保护现场
PUSH B
CLR C;清Cy
SUBB A,#30H;ASCII码减30H
MOV B,A;结...

全部展开

好久不用汇编了,你是说把0~F这16个字母转化为对应的二进制数么?
思路是,如果这个数减掉30H的话,还大于9,就说明是A~F,需要再减7才对,否则就不用减了。
我在网上找了个程序,是这个意思
ASCBCD: PUSH PSW;保护现场
PUSH B
CLR C;清Cy
SUBB A,#30H;ASCII码减30H
MOV B,A;结果暂存B中
SUBB A,#0AH;结果减10
JC SB10;如果Cy=1,表示该值≤9
XCH A,B;否则该值>9,必须再减7
SUBB A,#07H
SJMP FINISH
SB10: MOV A,B
FINISH: POP B;恢复现场
POP PSW
RET

收起

汇编语言怎样实现ASCII码转换为二进制数这是前一段时间碰到的一个难题,由于初学微机原理,对汇编一块相当头大,还请各位大虾多多指教. 先谢了 bcd码怎样转换为二进制 进制数转换5位十进制数23456,在用压缩BCD码、二进制数及ASCII码表示时,占用内存字节最少应分别为多少,请着重解释一下ASCII!是解释十进制如何用ASCII表示 怎样转换十进制?怎样将二进制转换为十进制? 大写字母A的ASCII码为十进制数65,则二进制数1000100是字母( )的ASCII码. 如何将汉字转换为Ascii码是C# 互转 五进制怎样转换成二进制 matlab 编写一个程序实现十进制数转换为二进制数? 字母c的ASCII码为99,字母f的ASCII码是多少?怎样计算? ASCII码是7位二进制代码表示的,汉字编码能否采用类似方式呢?为什么?实现汉字编码的关键在哪里? 字母r的ASCII码值的十进制表示是114如果用二进制可表示为 用两片74138怎么实现二进制转换成格雷码和BCD码那请问怎么实现啊,就是用138的基础上 数字符“0”的ASCII码值为0110000B转换为48D怎么转化? 十进制数25.25怎样转换成二进制? vb中怎么把字母的ascii码转换为字母 讲二进制数25.3125转换为二进制.要求计算过程. 紧急!明天要交的,n位二进制数能够表示_________个不同的代码什么是“数字化”过程?A/D、D/A转换的关键是什么?ASCII码是用7位二进制代码表示的,汉字编码能否采用类似方式呢?为什么?实现汉字 ASCII编码是一种汉字字符编码吗?判断并解释说明理由:1、ASCII编码是一种汉字字符编码2.一般采用补码运算的二进制减法器,来实现定点二进制数加减法的运算.3.在浮点数表示法中,阶码的位数