ВУЗ:
Составители:
6
В рассматриваемо программе сегмент стека содержит один эле-
мент
dw 16 dup(?), с помощью которого формируется стек
размером в 16 машинных слов. В данном случае стек используется
в программе для обеспечения корректного завершения программы с
передачей управления операционной системе ПЭВМ.
Сегмент данных состоит из шести псевдооператоров
dw, из ко-
торых первые четыре определяют исходные данные, а два послед-
них – резервируют место для результатов.
В составе кодового сегмента можно выделить несколько функ-
циональных групп операторов. В тексте программы они разделены
строками комментария. Директива assume обеспечивает
“привязку” сегментов к конкретным сегментным регистрам. Сле-
дующие три оператора позволяют сохранить текущее содержимое
сегментного регистра данных в стеке, а два других – настроить сег-
ментный регистр на работу с сегментном данных нашей програм-
мы. Четвертая группа, состоящая из четырех арифметических опе-
раторов, реализует вычисления, заданные формулой
dcbay /)( +
=
.
Далее следуют два оператора
mov, необходимые для сохранения
полученных результатов в памяти. Наконец, последний “исполняе-
мый” оператор программы
ret обеспечивает возврат управления
операционной системе.
Содержимое кодового сегмента оформлено в виде процедуры
(подпрограммы). Это сделано с помощью двух специальных псев-
дооператоров, форматы которых выглядят так:
“<имя-процедуры>
proc <операнд>” - заголовок процедуры,
“<имя-процедуры>
endp ” - конец текста процедуры.
Текс программы завершается оператором
end, который в каче-
стве операнда содержит имя “точки входа” в программу.
В приложении содержится ещё один пример программы, который
фактически является существенно усовершенствованным и услож-
нённым вариантом рассмотренной выше программы.
В рассматриваемо программе сегмент стека содержит один эле- мент dw 16 dup(?), с помощью которого формируется стек размером в 16 машинных слов. В данном случае стек используется в программе для обеспечения корректного завершения программы с передачей управления операционной системе ПЭВМ. Сегмент данных состоит из шести псевдооператоров dw, из ко- торых первые четыре определяют исходные данные, а два послед- них – резервируют место для результатов. В составе кодового сегмента можно выделить несколько функ- циональных групп операторов. В тексте программы они разделены строками комментария. Директива assume обеспечивает “привязку” сегментов к конкретным сегментным регистрам. Сле- дующие три оператора позволяют сохранить текущее содержимое сегментного регистра данных в стеке, а два других – настроить сег- ментный регистр на работу с сегментном данных нашей програм- мы. Четвертая группа, состоящая из четырех арифметических опе- раторов, реализует вычисления, заданные формулой y = (a + b)c/d . Далее следуют два оператора mov, необходимые для сохранения полученных результатов в памяти. Наконец, последний “исполняе- мый” оператор программы ret обеспечивает возврат управления операционной системе. Содержимое кодового сегмента оформлено в виде процедуры (подпрограммы). Это сделано с помощью двух специальных псев- дооператоров, форматы которых выглядят так: “<имя-процедуры> proc <операнд>” - заголовок процедуры, “<имя-процедуры> endp ” - конец текста процедуры. Текс программы завершается оператором end, который в каче- стве операнда содержит имя “точки входа” в программу. В приложении содержится ещё один пример программы, который фактически является существенно усовершенствованным и услож- нённым вариантом рассмотренной выше программы. 6
Страницы
- « первая
- ‹ предыдущая
- …
- 5
- 6
- 7
- 8
- 9
- …
- следующая ›
- последняя »