mov ax,0A000H mov es,ax mov al,06H mov es:[di],al lewej, górnej
Transkrypt
mov ax,0A000H mov es,ax mov al,06H mov es:[di],al lewej, górnej
Na pierwszej stronie ekranu graficznego wykonano ciąg instrukcji: mov ax,0A000H mov es,ax mov al,06H mov es:[di],al gdzie di = 320 x 150 + 222. Otrzymano kolorowy piksel w następującej ćwiartce ekranu: lewej, górnej lewej, dolnej prawej, górnej prawej, dolnej Aby móc wykonać przerwanie maskowalne: znacznik IF należy wyzerować przy użyciu cli znacznik IF należy wyzerować przy użyciu sti znacznik IF należy ustawić na 1 przy użyciu cli znacznik IF należy ustawić na 1 przy użyciu sti W wyniku instrukcji dd 10 dup (?) zostanie zarezerwowanych: 40 bitów 10 słów 20 bajtów żadna z pozostałych odpowiedzi W ciągu instrukcji: mov dx,B800H mov es,dx mov dl,450 adc ax,59 błędy są w linii: 1, 3, 4 3, 4 1 1, 4 W pliku zapisano wartość zmiennej x z programu w języku C, która szestnastkowo wygląda tak: 03 01. Jaka to liczba? 255 259 769 772 Po wykonaniu ciągu instrukcji: mov al,49 mov bl,50 mov dl,51 mov ah,2 int 21H na ekranie pojawi się: 49 50 51 żadna z pozostałych liczb Po wykonaniu następujących instrukcji koprocesora: fldz fld a fsub fld b fld c fmulp ST(2),ST na stosie będzie (patrząc od wierzchołka stosu): 0 b ac -----b a -c -----b -ac ------ -ac 0 b Gdy w programie asemblerowym występuje procedura typu far to: call zapisuje na stosie CS call zapisuje na stosie CS i IP ret zapisuje na stosie CS i IP ret zapisuje na stosie IP Po wykonaniu ciągu instrukcji: mov ax,2 mov bx,3 mov cx,4 mul bx add cx,bx w rejestrach ax, bx, cx mamy odpowiednio: 2, 3, 7 6, 3, 4 6, 3, 7 2, 3, 4 W trybie tekstowym, ekran może być traktowany jako tablica o rozmiarze: 2000 znaków 6400 bajtów 3200 bajtów 4000 znaków W ciągu instrukcji: pop ax mov bl,si mul ax pop cx błedy są: w 2 i 4 linii w 2 linii w 4 linii nie ma błędów Ile razy wykona się poniższa pętla: mov ax,3 mov cx,5 add cx,ax ptl: ... dec cx loop ptl 3 4 5 8 Po wykonaniu shr ax,2 liczba w ax zwiększy się 2-krotnie liczba w ax zwiększy się 4-krotnie liczba w ax zmniejszy się 4-krotnie liczba w ax może się nie zmienić Po wykonaniu ciągu instrukcji: mov ax,3 mov bx,2 cmp ax,bx ja gotowe je niegotowe wykona się: gotowe niegotowe najpierw gotowe a potem niegotowe najpierw niegotowe a potem gotowe Liczba -1,75 zapisana przez program w C do pliku, w trybie hexadecymalnym wygląda tak: 82 00 00 00 00 D0 82 00 00 00 00 E0 81 00 00 00 00 D0 81 00 00 00 00 E0 Instrukcja stosw jest równoważna: mov es:[di], al mov es:[di], ax mov es:[di], dl mov es:[di], dx Po wykonaniu ciągu instrukcji: mov al,12 mov bl,4 div bl w rejestrze al jest: 3 4 12 nie da się tego określić Po wykonaniu następujących instrukcji koprocesora: fldz fld1 fld a fld b fadd ST,ST(2) na stosie będzie (patrząc od wierzchołka stosu): b+1 a 1 0 -----b a 1 0 -----b+1 a 0 -----b a 0 Mamy następujące zawartości rejestrów: dx=0000..011 i ax=1100...0. Po wykonaniu instrukcji: mov cx,3 ptl: shl ax,1 rcl dx,1 shr dx,1 loop ptl zawartość rejestru dx nie uległa zmianie rejestr ax ma same zera w rejestrze dx są trzy jedynki w rejestrze ax są dwie jedynki Procesor stosuje następujący format zapisu liczb rzeczywistych: zmiennopozycyjny, 80-bitowy, liczby ujemne w U2 zmiennopozycyjny, 48-bitowy, liczby ujemne w U2 zmiennopozycyjny, 48-bitowy, liczby ujemne w systemie znak-moduł zmiennopozycyjny, 80-bitowy, liczby ujemne w systemie znak-moduł