Содержание
- 2. Модульное программирование Структурное программирование – методология программирования, базирующаяся на системном подходе к анализу, проектированию и реализации
- 3. Модульное программирование Модульное программирование: Функциональная декомпозиция задачи – разбиение задачи на ряд более мелких, функционально самостоятельных
- 4. Модульное программирование Формы организации управляющих связей: Использование механизма макроподстановок. Использование механизма процедур, напи-санных на ассемблере. Использование
- 5. Модульное программирование Формы организации информационных связей: Использование общих областей памяти и общих программно-аппаратных ресурсов микропроцессора. Унифицированная
- 6. Модульное программирование Директива EXTRN предназначена для объявления некоторого имени внешним по отношению к данному модулю. Директива
- 7. Модульное программирование ;Модуль 1 MASM .MODEL SMALL .STACK 256 .DATA … .CODE proc_1 PROC … proc_1
- 8. Модульное программирование ;Модуль 2 MASM .MODEL SMALL .STACK 256 .DATA … .CODE EXTRN proc_1 ;объявляем процедуру
- 9. Модульное программирование Трансляция: TASM.EXE PR1 результат — PR1.OBJ TASM.EXE PR2 результат — PR2.OBJ Компоновка: TLINK PR2+PR1
- 10. Модульное программирование Аргумент – это ссылка на некоторые данные, которые требуются для выполнения возложенных на модуль
- 11. Модульное программирование Передача аргументов через регистры: небольшое количество регистров, доступных для пользователя; необходимость постоянно контролировать содержимое
- 12. Модульное программирование Передача аргументов через общую область памяти Недостатком этого способа в реальном режиме работы МП
- 13. Модульное программирование ;prg1.asm include mac.inc ;подключение файла с макросами stk segment stack db 256 dup (0)
- 14. Модульное программирование ;prg2.asm include mac.inc ;подключение файла с макросами stk segment stack db 256 dup (0)
- 15. mov si,0 mov buffer[si],'Р' inc si mov buffer[si],'а' inc si mov buffer[si],'б' inc si mov buffer[si],'о'
- 16. ;mac.inc OutStr macro str ;Вывод строки на экран. ;На входе - идентификатор начала выводимой строки. ;Строка
- 17. OutChar macro ;Вывод символа на экран. ;На входе - в dl выводимый символ. push ax mov
- 18. GetStr macro buf,max_len ;ввод строки произвольной длины (функция 0ah int 21h) ;на входе: ;buf - адрес
- 19. init_ds macro ;макрос настройки ds на сегмент данных mov ax,data mov ds,ax xor ax,ax endm delay
- 20. Модульное программирование Передача аргументов через стек При передаче управления процедуре МП автоматически записывает в вершину стека
- 21. MASM MODEL SMALL proc_1 PROC NEAR ;”близкая” процедура (NEAR) с n аргументами ;начало пролога PUSH BP
- 22. .CODE main PROC MOV AX,@data MOV DS,AX … PUSH arg_1 ;запись в стек 1-го аргумента PUSH
- 23. Модульное программирование Использование директив EXTRN и PUBLIC При передаче управления процедуре МП автоматически записывает в вершину
- 24. ;prg4.asm ;Вызывающий модуль include mac.inc extrn my_proc2:far public per1,per2 stk segment stack db 256 dup (0)
- 26. Скачать презентацию