Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


Практическая часть. Задание № 3.1.Разработать программу (по вариантам), реализующую указанную формулу, исполнить программу в отладчике Debug с двумя наборами исходных данных




Задание № 3.1. Разработать программу (по вариантам), реализующую указанную формулу, исполнить программу в отладчике Debug с двумя наборами исходных данных, проверить правильность результатов.

1. Х = -4А + (В + С)/4 + 2 5. X = - (С + 2А + 4В + 8)
2. X = (А - В) / 4 - 2С + 5 6. X = -А/2 + 4(В + 1) - ЗС
3. X = (А/2 + В)/4 + С-1 7. X = А - 5(В - 2С) + 2
4. X = (7А - 2В - 100) / 2 + С 8. Х = 6A + (В-С + 1)/2

Заполните таблицу (значения параметров по вариантам):

Вариант A B C X
dec hex dec hex dec hex dec hex
1.   D1 h   5C h   A2 h    
2.   F1 h   3A h   E2 h    
3.   7A h   8D h   7C h    
4.   1C h   5E h   3D h    
5.   6D h   2F h   9E h    
6.   7E h   D4 h   F5 h    
7.   B h   A7 h   2B h    
8.   D2 h   B3 h   4A h    

В процессе трассировки программы заполнить таблицу (для одного набора данных):

Номер шага Команда AX BX CX DX CS IP DS
                 

Контрольные вопросы и задания.

1. Напишите необходимые команды для перемещения чисел 1, 2, и 3 в регистры AX, BX, и CX.

2. Покажите, как хранится в памяти байты 16-разрядного числа 0A6Bh.

3. Какая из команд приведенного ниже фрагмента кода программы записана с ошибкой? Объясните, в чем это ошибка заключается.

; описание данных

var1 DW 0

var2 DW 6

var3 DB 5

; фрагмент кода программы

MOV AX, BX

MOV var2, AL

MOV AX, BL

MOV BH, 4A6FH

MOV DX, 3

MOV AL, var3

MOV CS, 0

MOV IP, AX

MOV var1, var2

MOV DS, 1000H

MOV DS, ES

4. Дан фрагмент программы. Отметьте команды в которых необходимо использовать оператор PTR.

; описание данных

val_1 DB 10h, 20h

val_2 DW 1000h

; фрагмент кода программы

MOV AL, val_1

MOV DL, [BX]

MOV AL, val_1

MOV CL, val_2

5. Какое будет 16-разрядное значение в операнде получателе после выполнения каждой из ниже следующих команд. Если некоторые команды неправильные, запишите в ответе слово «ошибка».

; фрагмент кода программы

; код программ значение перед значение после

MOV AX, BX; AX = 0023, BX = 00A5 AX =?

MOV AH, 3; AX = 06AF AX =?

MOV DL, count; DX = 8F23, count = 1A DL =?

MOV BL, AX; BX = 00A5, AX = 4000 DL =?

MOV DI, 100h; DI = 06B9 DI =?

MOV DS, CX; DS = 0FB2, CX = 0020 DS =?

MOV var1, BX; BX = A000, var1 =?

MOV count, AX; count = 25, AX = 4000 count =?

MOV var1, var2; var1 = 0400, var2 = 0500 var1 =?

6. Определите тип адресации операнда, используемого в каждой из следующих команд:

a. MOV AL, 20;

b. MOV BX, OFFSET mes;

7. Какой будет абсолютный первого слова, помещенного в стек, если указатель SP инициализирован значением 0100, а сегмент кода загружен по абсолютному адресу 18400h?

8. В каждой из команд приведенного фрагмента кода программы отметьте те, где необходимо использовать оператор PTR. Свой выбор обоснуете.

; описание данных

bval DB 10h, 20h

wval DW 1000h

; фрагмент кода программы

MOV AL, bval;

MOV DL, [BX];

MOV CL, wval;

9. В предположении, что array имеет смещение – 0120, заполните значения регистров, указанных с правой стороны, после выполнения каждой из команд приведенного фрагмента кода программы.

; описание данных

array DW 10h, 20h

val1 DW array

val2 DW 0

; фрагмент кода программы

MOV AX, @data;

MOV DS, AX; DS =?

MOV AX, val1; AX =?

MOV BX, array; BX =?

XCHG AX, BX; AX =?

MOV val2, BX; val2 =?

10. Из каких полей состоит строка программы на ассемблере?

11. Какие поля обязательны, а какие можно опустить?

12. Назначение директив stack, dataseg и codeseg.

13. Назначение директив db, dw.

14. Назначение оператора dup в директивах db, dw.

15. Назначение директивы end.

16. В чем различие между командами:

mov АХ, ВХ;

mov AX, [ВХ];

mov [АХ], ВХ?

17. Какая директива завершает текст программы?

18. В чем различие между командой mov А, 1 и директивой A dw 1?

19. Пусть имя файла исходной программы - LAB.ASM. Что будут содержать файлы: LAB.OBJ, LAB.LST, LAB.EXE?

20. Какое значение будет в регистре AX после выполнения следующих команд?

mov ax, 22h

mov cl, 2

mul cl

21. Какое значение будет в регистрах AX и DX после выполнения следующих команд?

mov dx, 0

mov ax, 222h

mov cx, 100h

mul cx

22. Какое значение будет в регистре AX после выполнения следующих команд?

mov ax, 63h

mov bl, 10h

div bl

23. Какое значение будет в регистрах AX и DX после выполнения следующих команд?

mov ax, 1234h

mov dx, 0

mov bx, 10h

div bx

24. Какое значение будет в регистрах AX и DX после выполнения следующих команд?

mov ax, 4000h

mov dx, B00

mov bx, 10h

div bx

25. Напишите команды для умножения числа –5 на 3 и сохраните результат в 16-разрядной переменной val_1.

26. Напишите команды для деления числа –276 на 10 и сохраните результат в 16-разрядной переменной val_2.






Поделиться с друзьями:


Дата добавления: 2015-10-01; Мы поможем в написании ваших работ!; просмотров: 908 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Ваше время ограничено, не тратьте его, живя чужой жизнью © Стив Джобс
==> читать все изречения...

2245 - | 2190 -


© 2015-2025 lektsii.org - Контакты - Последнее добавление

Ген: 0.008 с.