Символы в консоли
Мне необходимо посчитать выражение (22/c+3*b)/(36-a*c/3). Вроде бы все считает, но в консоли выдает символы вместо цифр. Что делать? (пишу на TASM).
.model large
DATA SEGMENT
enterA db 'enter A:$'
enterB db 'enter B:$'
enterC db 'enter C:$'
showresult db 'Result = $'
shownum db 'Znam = $'
showdenom db 'Denom = $'
otst db '', 0Dh,0Ah,'$'
result db ' ','$'
num dw ' ','$'
denom db ' ','$'
nameparA label byte
maxlenA db 4
actlenA db ?
namefldA db 4 dup ('$')
nameparB label byte
maxlenB db 4
actlenB db ?
namefldB db 4 dup('$')
nameparC label byte
maxlenС db 4
actlenС db ?
namefldC db 4 dup('$')
DATA ENDS
STK SEGMENT STACK
db 256 dup('')
STK ENDS
CODE SEGMENT
ASSUME CS:CODE, DS:DATA, SS:STK
START:
mov ax,Data
mov DS,AX
lea dx,enterA
mov ah,09
int 21h
lea dx,nameparA
mov ah,0ah
int 21h
lea dx,otst
mov ah,09
int 21h
lea dx,enterB
mov ah,09
int 21h
lea dx,nameparB
mov ah,0ah
int 21h
lea dx,otst
mov ah,09
int 21h
lea dx,enterC
mov ah,09
int 21h
lea dx,nameparC
mov ah,0ah
int 21h
lea dx,otst
mov ah,09
int 21h
;________________Numerator______________________
;22/c (22/c+3*b)/(36-a*c/3)
mov ax,22
mov bl,namefldC
sub bl,48
idiv bl
cbw
mov cx,ax
;3*b
mov al,namefldB
sub al,48
mov bl,3
imul bl
;22/c + 3*b
add ax,cx
mov cx,ax ; raschet result
add ax,48
mov [num],45
mov [num + 1],ax
lea dx,shownum
mov ah,09
int 21h
lea dx,num
int 21h
lea dx,otst
int 21h
;____________________Denom_________________(36-a*c/3)
mov al, namefldA
sub al,48
mov bl, namefldC
sub bl,48
mov ah,0
imul bl
mov bl,3
idiv bl
mov bl,al
mov al,36
sub al,bl
add al,48
mov bl,al ; raschet result
mov ah,09
lea dx,showdenom
int 21h
mov [denom],al
lea dx,denom
int 21h
lea dx,otst
int 21h
;________________Result___________
mov ax,cx
idiv bl
add al,48
mov [result],45
mov [result + 1],al
mov ah,09
lea dx,showresult
int 21h
lea dx,result
int 21h
lea dx,otst
int 21h
mov ah,4ch
int 21h
ret
code ends
end