1. Zadania A:
a) wpisz do komórki pamięci o adresie DS: 0200 wynik dodawania dwóch liczb dziesiętnych 25 i 27
b) skopiuj zawartość komórki pamięci (adres komórki ma być sumą dwóch liczb dziesiętnych 500 i 100), w której znajduje się suma dwóch liczb dziesiętnych: 12 i 28 do rejestru CX
c) poczynając od adresu ES:0000, wpisz do pamięci łańcuch tekstowy "Ala ma kota". Dodaj 1 bajt z komórki o adresie ES:0000 do 1 bajtu z komórki ES:0003, a wynik zapisz do komórki o adresie ES:0000. Jaki nowy łańcuch tekstowy powstał w pamięci?
d) wykorzystując rozkaz MOV wpisz do kolejnych komórek pamięci (począwszy od adresu 0500) następujące dane (8 bajtów): B8A100BB010001D8 Jaki program (zidentyfikuj kolejne rozkazy) został "zaszyty" w tym obszarze pamięci?
e) wpisz do pamięci łańcuch tekstowy: "Egzamin" poczynając od adresu ES:0100. Dodaj zawartość komórki o adresie ES:0106 do zawartości komórki o adresie ES:0105. Wynik zapisz w rejestrze CH.
6E(110) + 69(105)=D7(215)=CH
f) w programie debug.exe wpisano następujący program:
Jaki tryb (tryby) adresowania zastosowano? Pod jakim adresem został zapisany kod tego programu? Jaka będzie zawartość akumulatora po wykonaniu tego programu?
zastosowano tryby adresowania takie jak:
- adresowanie natychmiastowe (mov bx,0500 ; mov ax,6161 ; mov ax,0500) - adresowanie rejestrowe (mov bx,ax) - adresowanie pośrednie (mov [bx],ax ; mov ax,[bx]) program został zapisany w komórkach pamięci od 010C do 011Bpo wykonaniu programu w akumulatorze będzie wartość 6161
g) wykonaj następujące dwa programy
Jakie wyniki otrzymano i dlaczego? Podaj w zapisie dziesiętnym jakie działania realizują oba programy.
w przypadku wykonania pierwszego programu (mul) otrzymany wynik w akumulatorze to 1FE
w przypadku wykonania drugiego programu (imul) otrzymany wynik w akumulatorze to FFFE różnica
bierze się z faktu iż polecenie mul traktuje obie liczby jako dodatnie i wynikiem jest pomnożenie ich
przez siebie, natomiast polecenie imul liczbę FF traktuje jako ujemna więc wynik zapisany jest jako
liczba ujemna w całym akumulatorze.
MUL realizuje dziesiętne działanie 255(FF) * 2(2) = 510(1FE)
IMUL realizuje dziesiętne działanie -1(FF) * 2(2) = -2(FFFE)