Архитектура ЭВМ. Задания и примеры выполнения лабораторных работ. Докторов А.Е - 29 стр.

UptoLike

Рубрика: 

29
В этом примере в окне дизассемблера видно, что перед вызовом проце-
дуры Proc в регистр EDX передается число 0x409001, являющееся адресом
переменной «y». А в регистр AL пересылается значение переменной «x». Это
соответствует тому, что переменная «x» подставляется на место формального
параметра значения «a», а переменнаяна место формального параметра пе-
ременной «b».
Когда начинает работу процедура, выполняется несколько действий,
показанных в следующем окне дизассемблера:
До выделенной строки в стек записываются содержимое регистров
AL и EDX. Далее выполняется библиотечная подпрограмма языка Паскаль.
И только потом действия, записанные в самой процедуре. Первое присваива-
ние (a := 6) транслируется в пересылку числа 6 в стек. Второе присваивание
(b := 11) делается в два этапа. Сначала в регистр EAX из стека заносится
адрес параметра-переменной (формальный параметр «b»), а потом по этому
адресу делается запись числа 11.
В качестве вариантов контрольных задач предлагается реализовать на
языке ассемблера одну из функций работы со строками языка Паскаль или
Си (Pos, Insert, Delete, strchr, strchrr, strstr и т. д.).
СПИСОК ЛИТЕРАТУРЫ
1. Абель, П. Язык ассемблера для IBM PC и программирования / П. Абель;
пер. с англ. Ю. В. Сальникова. – М. : Высш. шк., 1992. – 447 с.
2.
Цилькер, Б.Я. Организация ЭВМ и систем : учебник для вузов.
/ Б. Я. Цилькер, С. А. Орлов. – СПб. : Питер, 2004. – 668 с.