Модульный принцип – разбиение программы на отдельные процедуры. Процедуры образуют модули объектного кода, которые хранятся в файлах с расширением OBJ. Программа формируется путем сборки из отдельных боков кода при линковании.
Пример «сборки» программы в TASM:
tlink myprg.obj+module1.obj+module2.obj+…
Особенности разработки модульных программ:
1. Главный модуль должен иметь ссылку на процедуры внешних модулей
виде: extrn Myproc:proc
2. Модули программы должны содержать описание процедур в виде: public Myproc
3. Сегменты кода в основной части и в модулях должны иметь атрибут public.
4. Процедуры в модулях должны иметь атрибут типа вызова far или near.
5. Точка входа задается в главном модуле.
Пример двух модульной программы
Главная программа.
;EXE program
codesg segment public 'CODE'
assume CS:codesg,DS:datasg,SS:codesg
extrn sub1:proc ;указание внешней процедуры
begin:
;----------------------------
mov ax,datasg
mov ds,ax
mov bx,offset mes ;передача данных через регистр BX
call sub1 ;вызов процедуры
;----------------------------
mov AX,4C00h
int 21h
;---------------------------
codesg ends
datasg segment 'DATA'
mes db ‘TEST’,10,13,’$’
datasg ends
stacksg segment stack 'STACK'
dw 128 dup(0)
stacksg ends
end begin
1. Внешний модуль.
;module
codesg segment public 'CODE'
public sub1
sub1 proc near
mov ah,09h
mov dx,bx
int 21h
ret
sub1 endp
codesg ends
end
Модульный подход позволяет создавать библиотеки объектного кода, для многократного его использования при разработке программ.