Реклама:

1. Каковы значения регистров АН и AL после выполнения команды M0V АХ, 702?

2. Значение регистра CS - 4. Каков диапазон абсолютных адресов памяти в данном сегменте кода?

3. Назовите максимальный адрес памяти, по которому может обратиться 8088.

4. Предположим, что CS = 40, DS = 8000, a IP = 20.

1) Каков абсолютный адрес следующей команды?

2) Какое слово памяти загружается в регистр АХ при выполнении команды M0V АХ, (2)?

5. Подпрограмма с тремя целочисленными аргументами вызывается согласно описанной в этом приложении последовательности вызова - вызывающая программа помещает в стек аргументы в обратном порядке, а затем выполняет команду CALL. Затем вызываемая программа сохраняет прежнее значение BP и вводит новое значение, указывающее на прежнее. Далее в отношении указателя стека выполняется отрицательное приращение; тем самым выделяется пространство под размещение локальных переменных. Принимая во внимание эту последовательность, назовите команду, необходимую для перемещения первого аргумента в регистр АХ.

6. На рис. В.1. в качестве операнда выступает выражение de - hw. Это значение выражает разность двух меток. Возможна ли ситуация, в которой действительным операндом могло бы стать выражение de + hw? Аргументируйте свой ответ.

7. Напишите на языке ассемблера код, позволяющий вычислить следующее выражение:

х = а + Ъ + 2.

8. Некая С-функция вызывается следующим образом:

footbar(x,y);

Напишите на языке ассемблера код, позволяющий выполнить этот вызов.

9. Напишите на языке ассемблера программу, которая на входе получает выражения, состоящие из целого числа, оператора и еще одного целого числа, а на выходе предоставляет значения этих выражений. Допускается применение операторов +, -, ? и /.

БЛАГОДАРНОСТИ -

Ассемблер, к которому мы обращаемся в этом приложении, входит в набор инструментов Amsterdam Compiler Kit. Полную версию этого набора можно найти по адресу www.cs.vu.nl/ аск. Мы признательны людям, принимавшим участие в его первоначальной разработке: Юхану Стивенсону (Johan Stevenson), Хансу Шамини (Hans Schaminee) и Хансу де Раису (Hans de Vries). Мы в большом долгу перед Сирилем Якобсом (Ceriel Jacobs), который, занимаясь сопровождением этого программного пакета, несколько раз по нашей просьбе адаптировал его для применения в образовательном процессе, и Элтом Огстоном (Elth Ogston), читавшим рукопись и проверявшим примеры и задания.

Кроме того, мы хотим поблагодарить Роберта ван Ренессе (Robbert van Renesse) и Яна-Марка Вамса (lan-Mark Wams) - разработчиков трассеров для PDP-11 и Motorola 68000 соответственно. Многие высказанные ими идеи были учтены при разработке нашего трассера. Естественно, самых теплых слов заслуживают все наши ассистенты и операторы систем, в течение многих лет помогавшие нам в преподавании языков ассемблера.

Буферизованный и произвольный доступ к файлам || Оглавление || Список терминов-l