olgierd

ASK_ZAD3

Dec 10th, 2018
102
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. //Zadanie 3: Napisz kod w asemblerze zliczający liczbę zer w bajcie wejscie.
  2. unsigned char a = 0xF0
  3. unsigned char wejscie = 0xF2;
  4.     unsigned char wynik;
  5.     _asm {
  6.         Mov al, wejscie
  7.         Mov bl, al
  8.         Mov cl, 0x0
  9.  
  10.         And bl, 0x1
  11.         Add cl, bl
  12.         Shr al, 0x1
  13.         Mov bl, al
  14.  
  15.         And bl, 0x1
  16.         Add cl, bl
  17.         Shr al, 0x1
  18.         Mov bl, al
  19.  
  20.  
  21.         And bl, 0x1
  22.         Add cl, bl
  23.         Shr al, 0x1
  24.         Mov bl, al
  25.  
  26.         And bl, 0x1
  27.         Add cl, bl
  28.         Shr al, 0x1
  29.         Mov bl, al
  30.  
  31.         And bl, 0x1
  32.         Add cl, bl
  33.         Shr al, 0x1
  34.         Mov bl, al
  35.  
  36.         And bl, 0x1
  37.         Add cl, bl
  38.         Shr al, 0x1
  39.         Mov bl, al
  40.  
  41.         And bl, 0x1
  42.         Add cl, bl
  43.         Shr al, 0x1
  44.         Mov bl, al
  45.  
  46.         And bl, 0x1
  47.         Add cl, bl
  48.         Shr al, 0x1
  49.         Mov bl, al
  50.  
  51.         Mov ah, 0x8
  52.         Sub ah, cl
  53.         Mov wynik, ah
  54.        
  55.     }
  56.     printf("Liczba zer w bajcie:  %x", wynik);
RAW Paste Data