Программирование обработки, преобразования и ввода-вывода данных на ассемблере ПЭВМ. Домнин Л.Н. - 7 стр.

UptoLike

Составители: 

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