Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ;--- 2 zadanie ---
- ;dodawanie 16 bitowej liczby 'x''y' + 'z''t' = 'u''w'
- mov r0, #22 ;'y' to 0x0016 (22) 'x' to 0x00 (0)
- mov r1, #0 ; po sklejeniu dwóch czesci liczby 'x''y' = 0x0016 (czyli dziesietnie: 22)
- mov r2, #87 ;'t' to 0x0057 (87) 'z' to 0x001C (28)
- mov r3, #28 ; po sklejeniu dwóch części liczby 'z''t' = 0x1C57 (czyli dziesietnie: 7255)
- ; SUMA TO: 0x1c6d (czyli dziesietnie: 7277)
- mov a, r0 ; dodanie y oraz t, czyli
- add a, r2 ; mniej znaczących części liczby
- mov r4, a ; zapis w r4 sumę mniej znaczących cyfr ('w')
- mov a, #0 ; zerowania akumulatora
- addc a, r1 ; dodanie do akumulatora bardziej znaczących części cyfry
- add a, r3 ; oraz przeniesienia przez adcc
- mov r5,a ;
- ; zapis starszej części (po lewo) wyniku w r5
- ; wynik to sklejenie 'r5''r4'
- ;inaczej można to policzyć jako sumę:
- ;(0*2^8 + 22) + (28*2^8 + 87 )= 7277 gdzie nawiasy oznaczają
- ; wartości poszczególnych składników (liczb) do dodania
- ; 2^8 to 16^2 czyli skalowanie
- ;odejmowanie 16 bitowej liczby 'x''y' - 'z''t' = 'u''w'
- mov r0, #166
- mov r1, #16 ; 16*2^8 + 166 = 4262
- mov r2, #11 ;
- mov r3, #8 ; 8*2^8 + 11 = 2059
- ; RÓŻNICA TO 2203 (0x089B)
- mov a, r0
- subb a, r2 ; odjęcie od siebie składników 'y' i 't'
- mov r4, a ; zapis wyniku różnicy w r4
- mov a, r1
- subb a,r3 ; odjęcie od siebie składników 'x' i 'z'
- mov r5,a ; zapis wyniku do r5
- ; różnica to sklejenie 'r5''r4'
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement