Skocz do zawartości

[ASM] Rejestr 8bit na 16bit


edzio20

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ć.

Odnośnik do komentarza
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.

Odnośnik do komentarza
Udostępnij na innych stronach

  • 4 tygodnie później...

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ą.

Odnośnik do komentarza
Udostępnij na innych stronach

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

Jedynie 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ę poniżej.

Zaloguj się
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...