|
|||
Цель: Изучить форматы и правила работы с командами манипулирования битами микропроцессора i8086.
Практическая работа №4. Изучение особенностей выполнения логических команд, команд арифметических, логических и циклических сдвигов, их влияния на флаги состояния регистра флагов. Представление перечисленных команд в машинных кодах, декодирование команд . Вариант …. Цель: Изучить форматы и правила работы с командами манипулирования битами микропроцессора i8086.
Задание 1.
sseg segment stack db 256 dup (? ) sseg ends dseg segment smp db 'q' tbl db '0123456789ABCDEF' dseg ends cseg segment assume cs: cseg, ds: dseg, ss: sseg start: mov ax, dseg mov ds, ax mov ah, 2 mov bx, 0 mov bl, smp mov cl, 4 shr bl, cl mov dl, tbl[bx] int 21h mov bl, smp and bl, 00001111b mov dl, tbl[bx] int 21h mov dl, 'h' int 21h cseg ends end start
Задание 2.
data segment source dw 0abh w_mask dw 0f0h oper db 0aah ends code segment assume cs: code, ds: data start: mov ax, data mov ds, ax mov ax, [source] mov bx, ax mov cx, ax and ax, [w_mask] or bx, [w_mask] xor cx, [w_mask] xor bx, bx rol [oper], 1 ror [oper], 1 rcl [oper], 1 rcr [oper], 1 mov al, 0eh sar al, 1 sar al, 1 sar al, 1 sar al, 1 mov al, 2 mov bl, al sal al, 1 shl al, 1 add al, bl shl al, 1 mov ah, 0 int 16h code ends end start
1. data: a1 dw 5 mov ax, a1 mov cl, 3 shl ax, cl 2. Существуют следующие виды сдвигов: команды логического сдвига вправо shr и влево shl; команды арифметического сдвига вправо sar и влево sal; команды циклических сдвигов без переноса(ror-вправо, rol-влево) и с переносом(rcr-вправо, rcl-влево).
3. data: a1 dw 32 mov ax, a1 rcr ax, 1 rcr ax, 1 rcr ax, 1 rcr ax, 1 rcr ax, 1
|
|||
|