Skocz do zawartości
edzio20

[ASM] Rejestr 8bit na 16bit

Rekomendowane odpowiedzi

Siemka mam pytanie jak przepisać wartość z rejestru 8 bitowego na rejestr 16 bitowy coś w tym stylu:

 

mov ax, al

 

Chodzi mi o to, że chcę ustawić sobie podzielnik, a z tego co doczytałem to podzielnikiem jest rejestr ax, czyli robie takie coś

 

mov ax, [liczba]

 

Gdzie 'liczba' jest w rejestrze 8 bitowym, a ax jest 16 bitowym i tu mi wyskakuje błąd. No i właśnie nie wiem jak przypisać tą wartość z 'liczba' do rejestru ax.

 

Nie wiem czy to jest zrozumiałe co napisałem :D, ale nie wiem jak to dokładniej opisać bo dopiero co zacząłem się go uczyć.

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Nie znam się na asemblerze, ale AX składa się z AL i AH

AH - starsze 8 bitów (najbardziej znaczące)

AL - młodsze 8 bitów (najmniej znaczące)

 

Więc zapisując cokolwiek do rejestru AL lub AH, zmieniasz po prostu starsze lub młodsze bity rejestru AX, zatem nie ma sensu przerzucać tych samych danych w to samo miejsce.

 

Reasumując: Zapisujesz 8-bitową liczbę do rejestru AL, a rejestr AH zerujesz. Liczbę tą (wyrażoną w 16 bitach) możesz wtedy spokojnie odczytać z rejestru AX.

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Rzeczywiście :D w końcu mi się udało dzięki za pomoc.

 

 

A wie ktoś może jak wypisać liczbę 8 bitową na ekran w postaci dziesiętnej? :D

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Wiem, że odkopuje ale piszę na przyszłość dla potomnych.

Mając bajtową cyfre w AX musisz dzielic przez dziesięc i wyswietlać reszte w odwrotnej kolejności.

Wyświetlając reszte dodajesz 30 co daje nam cyfre z kodu ASCII.

Potem przerwanie/outportb i masz cyferke wyświetloną.

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się tutaj.

Zaloguj się tutaj

  • Przeglądający   0 użytkowników

    Brak zarejestrowanych użytkowników, przeglądających tę stronę.

×