汇编实验作业,将十六进制转换为十进制。
代码如下
DATAS SEGMENT
N DB 0ah,0dh,'input your number:$'
R DB 0ah,0dh,'the result is $'
RC db 0,0,0,0;此处输入数据段代码
DATAS ENDS
STACKS SEGMENT
;此处输入堆栈段代码
STACKS ENDS
CODES SEGMENT
ASSUME CS:CODES,DS:DATAS,SS:STACKS
START:
MOV AX,DATAS
MOV DS,AX
LEA DX,N
MOV AH,09H
INT 21H
MOV DL,8
MOV CX,3
INPUT:
MOV AH,01H
INT 21H
CMP AL,39H
JBE MORE57
SUB AL,30H
JMP TODL
MORE57:
CMP AL,45H
JBE MORE69
SUB AL,37H
JMP TODL
MORE69:
SUB AL,57H
TODL:
CMP DL,0
JZ ADDBL
MOV BL,AL
MOV DH,CL
MOV CL,DL
SHL BX,CL
MOV CL,DH
SUB DL,4
ADDBL:
ADD BL,AL
LOOP INPUT
CHANGE:
MOV AX,BX
MOV BX,OFFSET RC+3
MOV CX,4
MOV SI,10
CHANGE2:
DIV SI
MOV [BX],DL
MOV DX,0
DEC BX
LOOP CHANGE2
LEA DX,R
MOV AH,09H
INT 21H
MOV BX,OFFSET RC
MOV CX,4
OUTPUT:
MOV DL,[BX]
ADD DL,30H
MOV AH,02H
INT 21H
INC BX
LOOP OUTPUT
;此处输入代码段代码
MOV AH,4CH
INT 21H
CODES ENDS
END START
流程图如下:
编译通过 运行报错
希望得到解决的方案
你好,我是有问必答小助手,非常抱歉,本次您提出的有问必答问题,技术专家团超时未为您做出解答
本次提问扣除的有问必答次数,将会以问答VIP体验卡(1次有问必答机会、商城购买实体图书享受95折优惠)的形式为您补发到账户。
因为有问必答VIP体验卡有效期仅有1天,您在需要使用的时候【私信】联系我,我会为您补发。