Написать программу, в которой в сегменте данных резервируется память под следующие данные:
Имя | Вариант 1 | Вариант 2 | Вариант 3 | Вариант 4 | Вариант 5 |
Т1 | 5 слов без инициал-и (исп. dup) | строка симво-лов «веселый день» | 1 дв.слово без инициал-и | 1 байт без инициал-и | 2 слова без инициал-и (исп. dup) |
Т2 | строка сим-в «кислые щи» | 6 слова без инициал-и (исп. dup) | послед. 4 байт: 82Н,137,А5Н, 1100111В | 4 слова со знач.Е48АН (исп. dup) | послед. 4 слов: А83Н,F47H, 892,101110111B |
Т3 | 3 слова со знач.А584АН (исп. dup) | послед. 6 байт: 89Н,10010010В, 254,ААН, -112, 7FH | 5 слова со знач. ЕF3AH (исп. dup) | строка сим-в «промозглая сырость» | строка сим-в «острова в океане» |
Т4 | послед. 4 байт:4АН,F7H, -54,111101В | послед. 2 слов: 7777Н,8888Н | строка сим-в «Кошкин дом» | послед. 3 байт: 84Н, -111,СЕН | 4 байт со знач. 55Н (исп. dup) |
Имя | Вариант 6 | Вариант 7 | Вариант 8 | Вариант 9 | Вариант 10 |
Т5 | 6 слов без инициал-и (исп. dup) | строка сим-в «бедная овечка» | 1 дв.слово без инициал-и | 1 байт без инициал-и | 2 слова без инициал-и (исп. dup) |
Т6 | строка сим-в «литературный вечер» | 3 слова без инициал-и (исп. dup) | послед. 4 байт: 82Н,137,А5Н, 1100111В | 4 слова со знач.Е48АН (исп. dup) | послед. 4 слов: А83Н,F47H, 892,101110111B |
Т7 | 2 слова со знач.А584АН (исп. dup) | послед. 5 байт: АЕН,1011011В, 135, F4H,-96 | 4 слова со знач. Е73AH (исп. dup) | строка сим-в «паук каракурт» | строка сим-в «муха цокотуха» |
Т8 | послед. 5 байт: 7ЕН,В5Н, -103, 1110100В,250 | послед. 3 слов: ЕЕF7Н,12А8Н, СА34Н | строка сим-в «ночь в опере» | послед. 3 байт: -35Н, -1107, FАН | 6 байт со знач. F4H (исп.dup) |
При выполнении последующих пунктов задания использовать оператор MOV.
|
|
1. Инициализировать сегментные регистры DS,ES
2. Записать по адресу
Вариант 1 | Вариант 2 | Вариант 3 | Вариант 4 | Вариант 5 |
Т3+2 слово 3333Н | Т2+2 слово 4444Н | Т3+4 слово 7777Н | Т1 байт FАH | Т4+1 байт FАH |
Вариант 6 | Вариант 7 | Вариант 8 | Вариант 9 | Вариант 10 |
Т5+4 слово ВССВН | Т6+4 слово FАFАH | Т7+6 слово АА56Н | Т5 байт 7АН | Т8+3 байт FАH |
3. Занести в указанный регистр адрес ячейки, используя синтаксическую конструкцию с “OFFSET”:
Вариант 1 | Вариант 2 | Вариант 3 | Вариант 4 | Вариант 5 |
BX, T1+4 | SI, T2 | DI, T1+2 | BX, T2+6 | SI, T3+1 |
Вариант 6 | Вариант 7 | Вариант 8 | Вариант 9 | Вариант 10 |
BX, T7+2 | SI, T6 | DI, T7+4 | BX, T8+2 | SI, T5+3 |
4. Занести в регистр АХ содержимое указанного сегментного регистра
Вариант 1 | Вариант 2 | Вариант 3 | Вариант 4 | Вариант 5 |
DS | SS | ES | CS | DS |
Вариант 6 | Вариант 7 | Вариант 8 | Вариант 9 | Вариант 10 |
ES | CS | DS | SS | ES |
5. Записать в память значение аккумулятора (слово), адресуемое указанным регистром
Вариант 1 | Вариант 2 | Вариант 3 | Вариант 4 | Вариант 5 |
BX | SI | DI | BX | SI |
Вариант 6 | Вариант 7 | Вариант 8 | Вариант 9 | Вариант 10 |
BX | SI | DI | BX | SI |
6. Инкрементировать дважды значение адреса в регистре, указанном в предыдущем пункте. Инкрементировать значение аккумулятора. Использовать оператор INC reg.
|
|
7. Повторить пункт 5.
8. Используя, оператор MOV изменить 6-ю букву в строке символов на букву “W”.
Пример оформления программы приведен ниже.
assume cs: code, ds: dat
dat segment
t1 bd ’тучи над городом’
t2 dw 7 dup(?)
t3 dw 1f47h,1222h,10011011b,1345h,6789
t4 dw?
t5 dw 0a45h
dat ends
code segment
start:
mov ax, dat
mov ds, ax
mov t4, 2222h
mov ax, ds
mov cx, ofsset t3
MOV bx, cx
mov dx, [bx]
mov t3+6,1111; в память по адресу Т3+6 (т.е.30)
;заносится значение 1111.
mov si, offset t2; в регистр заносится адрес Т2,
;который равен 16
mov ax, 1112h
mov [si], ax; в память по адресу, хранящемуся в SI
;заносится знач. аккум.
inc si; инкрементирование содержимого регистра SI
; (содержимое SI увелич. на 1)
inc si
inc ax
MOV ax, cx
mov [si]
ret
code ends
end start
Лабораторная работа №3