rootuss

l1z2

Mar 30th, 2020
654
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. ;--- 2 zadanie ---
  2.  
  3. ;dodawanie 16 bitowej liczby 'x''y' + 'z''t' = 'u''w'
  4.     mov r0, #22         ;'y' to 0x0016 (22)  'x' to 0x00 (0)
  5.     mov r1, #0          ; po sklejeniu dwóch czesci liczby 'x''y' = 0x0016 (czyli dziesietnie: 22)
  6.     mov r2, #87         ;'t' to 0x0057 (87)    'z' to 0x001C (28)
  7.     mov r3, #28         ; po sklejeniu dwóch części liczby 'z''t' = 0x1C57 (czyli dziesietnie: 7255)
  8.                         ;                                 SUMA TO:  0x1c6d (czyli dziesietnie: 7277)
  9.     mov a, r0           ; dodanie y oraz t, czyli
  10.     add a, r2           ; mniej znaczących części liczby
  11.     mov r4, a           ; zapis w r4 sumę mniej znaczących cyfr ('w')
  12.    
  13.     mov a, #0           ; zerowania akumulatora
  14.    
  15.     addc a, r1          ; dodanie do akumulatora bardziej znaczących części cyfry
  16.     add a, r3           ; oraz przeniesienia przez adcc
  17.     mov r5,a            ;
  18.                         ; zapis starszej części (po lewo) wyniku w r5
  19.                         ; wynik to sklejenie 'r5''r4'
  20.  
  21.     ;inaczej można to policzyć jako sumę:
  22.     ;(0*2^8 + 22) + (28*2^8 + 87 )=  7277 gdzie nawiasy oznaczają
  23.     ; wartości poszczególnych składników (liczb) do dodania
  24.     ; 2^8 to 16^2 czyli skalowanie
  25.    
  26.    
  27. ;odejmowanie 16 bitowej liczby  'x''y' - 'z''t' = 'u''w'
  28.     mov r0, #166      
  29.     mov r1, #16     ; 16*2^8 + 166  = 4262
  30.     mov r2, #11     ;
  31.     mov r3, #8      ; 8*2^8 + 11    = 2059
  32.                     ; RÓŻNICA TO      2203 (0x089B)
  33.     mov a, r0      
  34.     subb a, r2      ; odjęcie od siebie składników 'y' i 't'
  35.     mov r4, a       ; zapis wyniku różnicy w r4
  36.  
  37.     mov a, r1      
  38.     subb a,r3       ; odjęcie od siebie składników 'x' i 'z'
  39.     mov r5,a        ; zapis wyniku do r5
  40.  
  41.                     ; różnica to sklejenie 'r5''r4'
RAW Paste Data