Zdravim
Mam takuto ulohu:
Mam nacitatat 16 bitovu hexadecimalnu hodnotu a ulozit ju do zvoleneho registra a nasledne ju mavypisat v 10 a 16 sustave.
Problem mam stym nacitanim 16 bitovej hodnotu, cize nacitanie retazca a nasledne jeho prerobenie, aby sa dal pouzit na ten prevod.
Zatial mam toto :
-v registri ax ma byt hodnota, ktora ma byt nasledne skonvertovana do inej sustavy
-v bx ma byt cislo, do akej sustavy, napr.2,8,10,16
Zatial mam spravene len nacitanie jedneho cisla a to nasledne skonvertuje.
Prosim o pomoc s retazcom.
Kód:
CODE SEGMENT
ASSUME CS:CODE, DS:DATA
transfer1 proc near ;procedura na vypis cisla v roznych sustavach
push ax ;ax - cislo na zobrazenie
xor cx,cx ;bx - zaklad sustavy
wn0: xor dx,dx
div bx
push dx
inc cx
test ax,ax
jnz wn0
wn2: pop dx
or dl,'0'
cmp dl,'9'
jbe wn3
add dl,7
wn3: mov ah,2
int 21h
loop wn2
pop ax
ret
;transfer 1
endp
zmaz macro ;procedura na mazanie obrazovkz
mov ax,0003h
int 10h
endm
START:
zmaz
mov ah,1 ;nacitanie jedneho znaku
int 21h
mov cl,48 ;odcitanie hodnoty podla ASCII tabulky, zatial funguje len pre cisla, nie pre pismena
sub al, cl
xor cl,cl
mov bx, 2
xor ah,ah
call transfer1
mov ah,4ch
int 21h
CODE ENDS
END START