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ł