daily pastebin goal
65%
SHARE
TWEET

Untitled

a guest Dec 9th, 2018 80 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. ; zamiana z 10 na 16 ------------------------------------------------------------------
  2. ;zamiana z systemu 10 na 16
  3. ; w tym bloku kodu programu rejestr CL pelni role licznika przesuniecia
  4. ;logicznego wartosci liczby, rejestr CH jest ogolnym licznikiem petli
  5. ;natomiast si jest wskazaniem pozycji w lancuchu tekstu ktory ma byc zmieniony
  6. ;przygotowanie rejestrow
  7. ;=======================================================================================
  8.  
  9.     xor cl,cl; zerowanie przesuniecia logicznego
  10.     mov ch,3; ustaw licznik na 3
  11.     mov si,3; ustaw index na 3
  12. hexa:
  13.     mov ax,suma;
  14.     shr ax,cl; przesuniecie rejestru ax o cl miejsc w prawo =>AX:=AX/(2^CL)
  15.     and ax,1111b; maska ktora zeruje czesc liczby wieksza od 15
  16.     cmp al,9; porownanie liczby z 9
  17.     ja litery; jesli liczba > 9 to skocz do etykiety litery
  18.     add al,30h; w przeciwnym wypadku do liczby dodaj kod ASCII znaku '0'
  19. dalej_hexa:
  20.     lea bx,liczba16; w rejestrze bx jest offset zmiennej liczba16;
  21.     mov ds:[bx+si],al; przekazanie znaku do zmiennej lancuchowej
  22.     cmp ch,0; porownaj licznik z 0
  23.     je end_hexa; jesli licznik = 0 to wyjdz z petli
  24.     dec si; si:=si-1;
  25.     dec ch; zmniejsz licznik o 1;
  26.     add cl,4; zwieksz wartosc przesuniecia 0 4
  27.     jmp hexa; nastepna iteracja
  28. litery:
  29.     sub al,10; od liczby odejmnij 10;
  30.     add al,'A'; do liczby dodaj kod ASCII znaku 'A'
  31.     jmp dalej_hexa; skocz do etykiety
  32. end_hexa:
  33.     mov al,'H'; w AL umiesc kod znaku 'H'
  34.     lea bx,liczba16; w rejestrze bx jest offset zmiennej liczba16;
  35.     mov ds:[bx+4],al; przekazanie znaku do zmiennej lancuchowej
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top