STACK1 SEGMENT STACK
DW 256 DUP(?)
STACK1 ENDS
DATA SEGMENT
MES1 DB 'The ascii code of decimal code are:$'
BUF DB 31H,32H,33H
DB 10H DUP(0)
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START: MOV AX,DATA
MOV DS,AX
MOV SI,OFFSET BUF
MOV BX,000AH
MOV CX,0002H
MOV AH,00H
MOV AL,[SI]
SUB AL,30H
A1: IMUL BX
ADD AL,[SI+01]
SUB AL,30H
INC SI
LOOP A1
MOV [SI],AX
MOV DX,OFFSET MES1
MOV AH,09H
INT 21H
INC SI ;显示高字节
CALL SHOW
DEC SI ;显示低字节
CALL SHOW
MOV AX,4C00H
INT 21H
SHOW PROC NEAR
MOV AL,DS:[SI]
AND AL,0F0H ;取高4位
SHR AL,4
CMP AL,0AH ;是否是A以上的数
JB C2
ADD AL,07H
C2: ADD AL
汇编语言,将ASCII码十进制数转换为二进制数
最新推荐文章于 2023-01-06 15:51:49 发布
这篇博客介绍了一个使用汇编语言编写的程序,该程序将ASCII码表示的十进制数(例如31、32、33)转换成二进制形式并进行显示。通过一系列汇编指令,程序首先从BUF中读取ASCII码,减去'0'(30H)进行数值转换,然后通过乘法和加法操作将两个ASCII字符转换为二进制数,并将其存储回BUF。最后,程序调用自定义的SHOW过程显示高字节和低字节的二进制数。
摘要由CSDN通过智能技术生成