Упражнения. 1. Укажите длину следующих элементов данных: а) параграфа, б) слова, в) сегмента, г) байта, д) двойного слова

1. Укажите длину следующих элементов данных: а) параграфа, б) слова, в) сегмента, г) байта, д) двойного слова, е) килобайта.

 

2. Какова самая малая единица памяти компьютера и какие значения она может принимать?

 

3. Поясните следующие термины: сегмент, смещение, граница адреса сегмента.

 

4. Определите абсолютные адреса, формируемые следующими значениями: SS=2AB4, CS=2BC3, IP=3F, SP=24. Все значения адресов указаны в шестнадцатеричной системе счисления.

 

5. Опишите сегмент данных и в нем переменные для трех целочисленных сторон треугольника. Предусмотрите текст запроса для ввода сторон с клавиатуры, а также сообщение о том, что введенные стороны не могут быть сторонами треугольника.

 

6. Укажите различия между компилятором и ассемблером.

 

7. Что такое зарезервированное слово в Ассемблере? Приведите примеры.

 

8. Какие два типа идентификаторов есть в ассемблере?

9. Из приведенных идентификаторов переменных, определенных в сегменте данных, найдите неверные и поясните характер ошибки: а)$50, б)AT&T, в)@$_A, г)23АС, д)DX, е)MOV.

 

10. Формат директивы SEGMENT таков:

имя SEGMENT выравнивание совмещение ‘класс’.

Объясните назначение параметров а) выравнивание, б)совмещение, в)‘класс’.

 

11. Какие предложения относятся к концу а)процедуры, б)сегмента, в)программы?

 

12. Укажите предложение ASSUME, если имена сегментов стека, данных и кода соответственно – STKSEG, DATSEG, CODSEG?

 

13. Укажите длины в байтах для переменных, описанных в сегменте кода директивами а)DD, б)DW, в)DB.

 

14. Опишите символьную строку с именем IS и текстом “Internet service”.

 

15. Определите следующие числовые значения в элементах данных ITEM1, ITEM2,…ITEM5:

а) 1-байтовый элемент, содержащий шестнадцатеричное значение, эквивалентное десятичному 71;

б) 2-байтовый элемент, содержащий неопределенное значение;

в) 4-байтовый элемент, содержащий шестнадцатеричное значение , эквивалентное десятичному числу 7524;

г) однобайтовый элемент, содержащий двоичное значение, эквивалентное десятичному 47;

д) последовательность из 16 нулевых слов.

 

16. Покажите, какой шестнадцатеричный объектный код соответствует а)DB 82, б) DB ‘82’, в)DB 4DUP(‘5’).

 

17. Определите шестнадцатеричный объектный код, сохраняемый ассемблером для а)DB 72, б)DW 2ABE, в)DD 1EB6C3. . Все значения переменных указаны в шестнадцатеричной системе счисления.

 

18. В следующей команде найдите ошибку и предложите способ ее исправления:

MOV [SI],[BX]

 

19. Объясните, почему ассемблер выдает ошибку в команде

MOV [BX],25?

Исправьте ошибку.

 

20. В нижеприведенной таблице укажите в пустом столбце, какой режим адресации используется в командах.

Команда Режим адресации
LEA BX,TABL  
MOV DI,4  
MOV CL,[BX]  
MOV DL,[BX+3]  
MOV AL,[BX+DI]  
MOV CH,2[BX+DI]  

 

21. Какой смысл имеют квадратные скобки в командах ассемблера?

22. Для команды с двумя операндами укажите, какой операнд является источником, а какой приемником?

 

23. Укажите символьные инструкции (команды ассемблера), выполняющие следующие действия: сдвиг СХ на 2 бита вправо; сдвиг АХ на 2 бита влево; помещение значения 426 в СХ; сравнение BYTE1 и 25Н.

 

24. Полагая, что DL содержит 011110001В, а элемент данных BOOL содержит 11100011В, определите результат в DL каждой отдельно взятой инструкции:

а) AND DL,BOOL b) OR DL,BOOL

c) XOR DL,BOOL d) AND DL,00000000B

e) XOR DL,11111111B f) NOT DL

Какими инструкциями будет установлен в 1 флаг ZF?

 

25. Полагая, что DX содержит значение 10111001 10111001В, определите, какое значение будет содержать DX после выполнения следующих отдельно взятых инструкций:

a) SHL DL,1 b) SHL DX,2 c) SHR DX,1

d) SAR DX,2 e) SAL DH,3 f) ROR DX,3

g) ROR DL,3

Задача

1. Найти разницу между минимальным и максимальным элементами в массиве, содержащем 10 беззнаковых чисел.

 

2. Найти номер максимального элемента массива, содержащем 10 беззнаковых чисел.

 

3. Вывести неповторяющиеся символы заданной строки.

 

4. Найти среднее значение 10 чисел (цифр), вводимых с клавиатуры.

 

5. Закодировать заданную строку путем сдвига кодов символов на 2.

 

6. Реализовать запрос пароля, предоставляя право ошибиться не более 3-х раз. После третьей неудачной попытки осуществить выход из программы.

 

7. Задан результат сдачи группой экзамена: 10 оценок. Следует выдать одну из следующих характеристик: «положительных оценок больше»; «все оценки – положительные»; «положительных оценок меньше»; «положительных оценок нет».

 

8. Определить каких букв в заданной строке больше: русских или английских.

 

9. Из двух заданных строк вывести ту, в которой чаще встречаются цифры.

 

10. Задана строка, представляющая собой запись числа. Определить в какой системе счисления (с максимальным основанием) может быть это число: 16-ичной, 10-ичной, 2-ичной.


Рекомендуемый список литературы

1. Пирогов, В. Ассемблер и дизассемблирование (+CD) BHV-CПб, 2006 – 464 c.

2. Пирогов, В. Ассемблер для Windows. BHV-CПб, 2005 – 864 c.

3. Юров, В.И. Ассемблер.Учебник для вузов. СПб.: Питер, 20004 – 637 с.