程序集8086字符串到数字的转换



我想将给定的字符串转换为十进制数值,"123〃->123但由于某种原因,我输入的每个数字都是0,我不知道为什么。变量apob是我的字符串,bx应该存储转换的结果。是什么导致我的bx寄存器等于0?

MOV si, 2
MOV ax, 10
XOR bx, bx
wartosc1:
MOV ax, 10
MOV dl, [apob+si]
CMP dl, 13
JE  end         
SUB dl, 48
INC si
MUL bx
MOV bx, ax
ADD bx, dx
JMP wartosc1

尝试使用此

xor bx,bx
lea si,apob

wartosc1:
xor dx,dx
MOV dl, [si]
CMP dl,'$'
JE  endpr         
SUB dl, 48
push dx

mov ax,10
MUL bx
MOV bx, ax
pop dx
ADD bx, dx
INC si
JMP wartosc1

您的答案将存储在bx 中

相关内容

  • 没有找到相关文章

最新更新