Jak wyświetlić zawartość rejestru.
Dryobates
Kod do wyświetlania liczby z rejestru 16-bitowego (kod w FASM):
;konwersja liczby na tekst z ax na tekst
;ax - liczba do wyświetlenia
;bx - wskaźnik do bufora, gdzie ma być umieszczony wynik
IntToStr:
add bx, 4 ;ustawiamy się na koniec bufora
mov cx, 10 ;będziemy dzielić przez 10, aby otrzymać poszczególne cyfry
konwertuj:
xor dx, dx
div cx ; dx:ax / cx
or dl, 30h ;zamieniamy cyfrę na jej odpowiedni kod ASCII
mov [bx], dl ;umieść znak w buforze
dec bx ;przesuń wskaźnik w buforze
test ax, ax ;jeżeli ax <> 0
jnz konwertuj ;to wyciągaj kolejne cyfry
ret
A to przykład użycia:
org 100h
use16
mov ax, 12345 ;załadujmy liczbę do wyświetlenia
mov bx, buf ;ustawmy wskaźnik do bufora na tekst
call IntToStr
mov ah, 09h
mov dx, buf
int 21h
mov ah, 01h ;zatrzymajmy się na chwilę, żeby zobaczyć wynik
int 21h
ret
buf: times 5 db 20h, '$'
czemu to nie działa pod biosem ?
Super! Czegoś takiego potrzebuję, a sam nie umiałem wykombinować