汇编语言怎样实现ASCII码转换为二进制数
来源:学生作业帮 编辑:神马作文网作业帮 分类:综合作业 时间:2024/10/06 08:36:05
汇编语言怎样实现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
--------------------------------------------------------------
程序是这个
调用程序与子程序之间的任务分工是:调用程序提供待转换的数据,数据位数(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
--------------------------------------------------------------
程序是这个
bcd码怎样转换为二进制
大写字母A的ASCII码为十进制数65,则二进制数1000100是字母( )的ASCII码.
matlab 编写一个程序实现十进制数转换为二进制数?
一个ASCII码有多少个二进制数
进制数转换5位十进制数23456,在用压缩BCD码、二进制数及ASCII码表示时,占用内存字节最少应分别为多少,请着重解
十进制数25.25怎样转换成二进制?
字符“a”的ASCII码二进制值是1100001,则字符“c”的ASCII码二进制数是
讲二进制数25.3125转换为二进制.要求计算过程.
如何把实数转换为二进制数
二进制0.1转换为十进制数是多少?
如何将汉字转换为Ascii码
数字符“0”的ASCII码值为0110000B转换为48D