ВУЗ:
Составители:
Рубрика:
Рассмотрим пример.
Пример — Составить команду: Stack:=<DX>.
Ответ:
а) Ассемблер: PUSH DX.
б) Машинный код:
Адресную часть dst КОПа составляем по аналогии с примерами,
приведенными в главе 3. Получаем после перевода в H-код: FFF2.
Существуют стековые команды и для сегментных регистров.
1) Запись в стек: Stack:=<RS>.
а) Ассемблер: PUSH RS;
б) Машинный код:
2) Чтение стека: RS:=<Stack>.
а) Асеемблер: POP RS;
б) Машинный код:
Физический адрес стека определяется, как уже отмечалось в главе
2, следующим образом:
A:=SS:SP.
Следовательно, основание стековой памяти (когда еще не было
сделано ни одной записи) назначается так: сначала значение сегмента
SS, а затем значение SP. Как это делается — было уже рассмотрено в
примере с определением физического адреса для пересылки данных
(глава 3, пример 5).
Подводя итог, следует заметить, что далее уже не будет столько
внимания уделяться синтезу КОП, а основное внимание будет уделено
32
Рассмотрим пример. Пример — Составить команду: Stack:=. Ответ: а) Ассемблер: PUSH DX. б) Машинный код: Адресную часть dst КОПа составляем по аналогии с примерами, приведенными в главе 3. Получаем после перевода в H-код: FFF2. Существуют стековые команды и для сегментных регистров. 1) Запись в стек: Stack:= . а) Ассемблер: PUSH RS; б) Машинный код: 2) Чтение стека: RS:= . а) Асеемблер: POP RS; б) Машинный код: Физический адрес стека определяется, как уже отмечалось в главе 2, следующим образом: A:=SS:SP. Следовательно, основание стековой памяти (когда еще не было сделано ни одной записи) назначается так: сначала значение сегмента SS, а затем значение SP. Как это делается — было уже рассмотрено в примере с определением физического адреса для пересылки данных (глава 3, пример 5). Подводя итог, следует заметить, что далее уже не будет столько внимания уделяться синтезу КОП, а основное внимание будет уделено 32
Страницы
- « первая
- ‹ предыдущая
- …
- 30
- 31
- 32
- 33
- 34
- …
- следующая ›
- последняя »