Вопросы по Ассемблеру на тест по госэкзамену:
Изменяет содержимое операнда ОП1, на значение операнда ОП2 Изменяет содержимое операнда ОП2, на значение операнда ОП1 Меняет местами содержимое операндов ОП1 и ОП2 Заменяет операнд ОП1 операндом ОП2 Заменяет операнд ОП2 операндом ОП1
mov <ОП1>,<ОП2> xchg <ОП1>,<ОП2> out <ОП1>,<ОП2> add <ОП1>,<ОП2> cmp <ОП1>,<ОП2>
mov sx, mx mov al, 5 mov al, [bx] mov al, dh mov mx, al
mov ds, @data mov ax, ds mov ds, ax push ds pop ds
mov es, ds mov ax, ss mov es, ax push fs pop gs
mov cs, ax mov bx, ds mov ds, si push es pop ds
mov [bx], 0 mov bx, 0 mov ax, ax mov [bx], ax mov word ptr [dx], 12h
mov si, al mov bx, 0 mov ax, ax mov [bx], ax mov word ptr [dx], 12h
------------------------------------------------------------------------------------------
Меняет местами содержимое операндов ОП1 и ОП2 Изменяет содержимое операнда ОП1, на значение операнда ОП2 Изменяет содержимое операнда ОП2, на значение операнда ОП1 Заменяет операнд ОП1 операндом ОП2 Заменяет операнд ОП2 операндом ОП1
xchg <ОП1>,<ОП2> mov <ОП1>,<ОП2> out <ОП1>,<ОП2> shr <ОП1>,<ОП2> test <ОП1>,<ОП2>
xchg sx, mx mov al, 5 xchg al, [bx] xchg al, dh mov mx, al
xchg, @data xchg al, [bx] xchg bx, di push bp pop cx
-----------------------------------------------------------------------------------------------
8-разрядный аппаратный регистр, имеющий определенный адрес в пространстве ввода-вывода 16-разрядный аппаратный регистр, имеющий определенный адрес в оперативной памяти 32-разрядный аппаратный регистр процессора 36-разрядный аппаратный регистр, имеющий определенный адрес в пространстве ввода-вывода 32-разрядный аппаратный регистр сопроцессора
in al, 61h in 61h, al out 61h, al mov al, 61h shl al, 61h
out 42h, al out 42, ax in 42h, al mov al, 42 shr al, 42h
in ah, al in al, 5 in al, 60h in al, dx out 43h, al
mov ax, offset msg mov ax, msg mov ax, [msg] les ax, msg lds ax, msg
lea ax, msg mov ax, msg mov ax, [msg] les ax, msg lds ax, msg
область памяти, специально выделяемая для временного хранения данных программы область памяти, специально выделяемая для временной записи данных программы область памяти, специально выделяемая для хранения констант программы область памяти, специально выделяемая для временного хранения сегмента данных программы область памяти, специально выделяемая для временного хранения команд программы
64 Кб 1 Кб 4 Кб 32 Кб 640 Кб
ss ds cs es fs
sp bp dx ebp si
push ax pop ax mov sp, ax mov bp, ax mov [bp], ax
pop bx push bx mov bx, sp mov bx, bp mov [bx], bp
регистры ax, cx, dx, bx, sp, bp, si, di регистры sp, bp, si, di регистры ax, cx, dx, bx, sp, bp регистры ax, cx, dx, bx регистр флагов
регистр флагов регистры ax, cx, dx, bx, sp, bp, si, di регистры sp, bp, si, di регистры ax, cx, dx, bx, sp, bp регистры ax, cx, dx, bx
mov [bp], bx mov [bx], bp mov bp, sp mov [bx], sp mov ax, ss
Содержимое регистра sp, перед командой push, равно 0000h Содержимое регистра sp, перед командой push, равно 0ffffh Содержимое регистра sp, перед командой push, равно регистру ss Содержимое регистра ss, перед командой push, равно 0000h Содержимое регистра ss, перед командой push, равно 0ffffh
sp, ip ax, sp ax, ip ax, ss ss, sp
ss, cs cs, ax, sp dx, ax, ip di, si, sp, ax, ss ss, sp
Увеличивает содержимое операнда ОП1, на значение операнда ОП2 Увеличивает содержимое операнда ОП2, на значение операнда ОП1 Меняет местами содержимое операндов ОП1 и ОП2 Заменяет операнд ОП1 операндом ОП2 Увеличивает содержимое операнда ОП1, на значение операнда ОП2, учитывая перенос единицы из старшего разряда
add <ОП1>,<ОП2> mov <ОП1>,<ОП2> sub <ОП1>,<ОП2> and <ОП1>,<ОП2> adc <ОП1>,<ОП2>
Увеличивает содержимое операнда ОП1, на значение операнда ОП2, учитывая перенос единицы из старшего разряда Увеличивает содержимое операнда ОП2, на значение операнда ОП1 Меняет местами содержимое операндов ОП1 и ОП2 Заменяет операнд ОП1 операндом ОП2 Заменяет операнд ОП2 операндом ОП1
adc <ОП1>,<ОП2> mov <ОП1>,<ОП2> sub <ОП1>,<ОП2> add <ОП1>,<ОП2> cmp <ОП1>,<ОП2>
Увеличивает содержимое операнда ОП, на единицу Увеличивает содержимое аккумулятора на значение операнда ОП Уменьшает содержимое операнда ОП, на единицу Уменьшает содержимое аккумулятора на значение операнда ОП Вызывает прерывание с номером, равным содержимому операнда ОП
inc <ОП> dec <ОП> int <ОП> jnc <ОП> jz <ОП>
add al, 10h add al, 10 add al, 0fh add al, 111b inc al
add al, 0fh add al, 0ffh add al, 100 add al, al add al, aah
add al, 10h add al, 0ffh add al, 100 add al, al inc al
inc al add al, 0dfh add al, 0ffh add al, 88h add al, 0f7h
Уменьшает содержимое операнда ОП1, на значение операнда ОП2 Уменьшает содержимое операнда ОП2, на значение операнда ОП1 Меняет местами содержимое операндов ОП1 и ОП2 Заменяет операнд ОП1 операндом ОП2 Уменьшает содержимое операнда ОП1, на значение операнда ОП2, учитывая значение флага cf
sub <ОП1>,<ОП2> mov <ОП1>,<ОП2> add <ОП1>,<ОП2> and <ОП1>,<ОП2> sbb <ОП1>,<ОП2>
Уменьшает содержимое операнда ОП1, на значение операнда ОП2, учитывая значение флага cf Уменьшает содержимое операнда ОП2, на значение операнда ОП1 Меняет местами содержимое операндов ОП1 и ОП2 Сдвигает операнд ОП1 операндом ОП2 Заменяет операнд ОП2 операндом ОП1
sbb <ОП1>,<ОП2> mov <ОП1>,<ОП2> sub <ОП1>,<ОП2> add <ОП1>,<ОП2> cmp <ОП1>,<ОП2>
Уменьшает содержимое операнда ОП, на единицу Уменьшает содержимое аккумулятора на значение операнда ОП Увеличивает содержимое операнда ОП, на единицу Уменьшает содержимое аккумулятора на значение операнда ОП Меняет знак операнда Уменьшает ОП
dec <ОП> inc <ОП> int <ОП> jnc <ОП> js <ОП>
sub al, 90h sub al, 90 sub al, 0fh sub al, 111b dec al
sub al, 0fh sub al, 0ffh sub al, 100 sub al, 32h sub al, 64h
sub al, 0f0h sub al, 0ffh sub al, 100 add al, al dec al
sub al, 7fh sub al, 0afh sub al, 0bfh sub al, 9fh sub al, 0f7h
Умножает без знаковое содержимое регистра-аккумулятор на содержимое операнда ОП и результат помещает в регистр данных и аккумулятор Умножает содержимое регистра-аккумулятор на содержимое операнда ОП и результат помещает в регистр данных и аккумулятор Умножает знаковое содержимое регистра-аккумулятор на содержимое операнда ОП и результат помещает в регистр данных Умножает без знаковое содержимое регистра-аккумулятор на содержимое операнда ОП и результат помещает в регистр данных Умножает содержимое операнда ОП на содержимое регистра-аккумулятор и результат помещает в ОП
mul <ОП> inc <ОП1> imul <ОП> mul <ОП1>,<ОП2> int <ОП>
Умножает знаковое содержимое регистра-аккумулятор на содержимое операнда ОП и результат помещает в регистр данных и аккумулятор Умножает содержимое регистра-аккумулятор на содержимое операнда ОП и результат помещает в регистр данных и аккумулятор Умножает знаковое содержимое регистра-аккумулятор на содержимое операнда ОП и результат помещает в регистр данных Умножает без знаковое содержимое регистра-аккумулятор на содержимое операнда ОП и результат помещает в регистр данных Умножает содержимое операнда ОП на содержимое регистра-аккумулятор и результат помещает в ОП
imul <ОП> dec <ОП> mul <ОП> inc <ОП> int <ОП>
dx:ax = ax * bx ax = bx *ax dx:bx = bx * dx ax:dx = ax * bx dx = ax * bx
ax = al * cl dx:ax = ax * cl dx:cx = ax * cl al:dl = cl * al dx = al * cl
mul 5 mul bl mul bx mul byte ptr [bx] mul di
mul 5*6 mul bl mul bx mul byte ptr [bx] mul di
Делит без знаковое содержимое регистра данных и аккумулятора на содержимое операнда ОП и результат помещает в регистр-аккумулятор Делит содержимое регистра-аккумулятор на содержимое операнда ОП и результат помещает в регистр базы Делит знаковое содержимое регистра-аккумулятор на содержимое операнда ОП и результат помещает в регистр данных Делит без знаковое содержимое регистра-аккумулятор на содержимое операнда ОП и результат помещает в регистр данных Делит содержимое операнда ОП на содержимое регистра-аккумулятор и результат помещает в ОП
div <ОП> inc <ОП1> idiv <ОП> mov <ОП1>,<ОП2> int <ОП>
Делит знаковое содержимое регистра данных и аккумулятора на содержимое операнда ОП и результат помещает в регистр-аккумулятор Делит содержимое регистра-аккумулятор на содержимое операнда ОП и результат помещает в регистр данных и аккумулятор Делит знаковое содержимое регистра-аккумулятор на содержимое операнда ОП и результат помещает в регистр данных Делит без знаковое содержимое регистра-аккумулятор на содержимое операнда ОП и результат помещает в регистр данных Делит содержимое операнда ОП на содержимое регистра-аккумулятор и результат помещает в ОП
idiv <ОП> dec <ОП> div <ОП> inc <ОП> int <ОП>
ax = dx:ax / bx, остаток dx ax = bx / ax, остаток dx al = ax / bx, остаток dx ax:dx = ax / bx, остаток bx dx = ax / bx, остаток ax
al = ax / cl, остаток ah al = cl / al, остаток dl al = dx / cl, остаток ah ax = ax / cl, остаток dx dl = ax / cl, остаток al
div 5 div bl div bx div byte ptr [bx] div di
div ch div dl div bh div bl div cl
idiv bh idiv dl idiv ch idiv bl idiv cl
si, di, bp ax, bx, cs dx, ds, sp si, sp, ss ip, ds, cx
ds, es, cs si, ds, bp ax, bx, cs si, sp, ss ip, ds, cs
cs:ip cs:di ss:sp es:si ds:ip
cf zf sf of df
zf cf sf of df
sf cf zf of df
of cf zf sf df
model tiny cli num equ 4 k = 6 mov ax, k
jc n1 mov ax, word ptr [7856] mov ax, [bx] mov ax, [dx+3h] mov ax, [si][di]
mov ax, word ptr [0056] jc n1 mov ax, [bp] mov ax, [dx+2h] mov ax, [si][di]
mov ax, [bx] jc n1 mov ax, word ptr [7856] mov ax, [dx+3h] mov ax, [si][di]
mov ax, [dx+3h] jc n1 mov ax, word ptr [7856] mov ax, [bx] mov ax, [si][di]
mov ax, [si][di] mov ax, [dx+3h] jc n1 mov ax, word ptr [7856] mov ax, [bx]
который начинается по адресу кратному 16 32-разрядный без возможности объединения с другими сегментами c именем data опубликованный который содержит только данные
без возможности объединения с другими сегментами c именем data который начинается по адресу кратному 16 32-разрядный опубликованный который содержит только данные
tiny small medium compact large
small tiny medium compact large
medium small tiny compact large
large medium small tiny compact
compact large medium small tiny
db ds dx dw df
dw db ds dx df
dd dw db dx df
cbw, cwd cld, std inc, dec shl, shr test, cmp
shl, sal inc, dec cbw, cwd rol, ror test, cmp
rol, ror shl, sal inc, dec cbw, cwd test, cmp
je m1 jne m1 jb m1 ja m1 js m1
jz m1 jne m1 jb m1 ja m1 js m1
jne m1 je m1 jb m1 ja m1 js m1
копирует содержимое байта по адресу ds:si, в байт по адресу es:di, а содержимое регистра cx уменьшает на единицу копирует содержимое байта по адресу es:si, в байт по адресу ds:di, а содержимое регистра cx уменьшает на единицу копирует содержимое байта по адресу ds:si, в байт по адресу es:di, а содержимое регистра cx увеличивает на единицу копирует содержимое байта по адресу ds:si, в байт по адресу ds:di, а содержимое регистра cx уменьшает на единицу копирует содержимое байта по адресу ds:si, в регистр-аккумулятор, а содержимое регистра cx уменьшает на единицу
копирует содержимое байта по адресу ds:si, в регистр-аккумулятор, а содержимое регистра cx уменьшает на единицу копирует содержимое байта по адресу ds:si, в байт по адресу es:di, а содержимое регистра cx уменьшает на единицу копирует содержимое байта по адресу es:si, в байт по адресу ds:di, а содержимое регистра cx уменьшает на единицу копирует содержимое байта по адресу ds:si, в байт по адресу es:di, а содержимое регистра cx увеличивает на единицу копирует содержимое байта по адресу ds:si, в байт по адресу ds:di, а содержимое регистра cx уменьшает на единицу
копирует содержимое регистрa-аккумулятор в байта по адресу ds:si, а содержимое регистра cx уменьшает на единицу копирует содержимое байта по адресу ds:si, в байт по адресу es:di, а содержимое регистра cx уменьшает на единицу копирует содержимое байта по адресу es:si, в байт по адресу ds:di, а содержимое регистра cx уменьшает на единицу копирует содержимое байта по адресу ds:si, в байт по адресу es:di, а содержимое регистра cx увеличивает на единицу копирует содержимое байта по адресу ds:si, в байт по адресу ds:di, а содержимое регистра cx уменьшает на единицу |
|
© DarkSlaver |