Шаг 59 - Описываем статические методы и делаем реализацию

Методы описываются в парных скобках {}, давайте опишем один:

strstr   STRUC METHOD {
	printchar = strstr_printchar
}
	str2     DB 'Step 58 $'
ENDS

Для его реализации создадим файл class.asm и в нем опишем реализацию:

strstr_printchar PROC  
	mov dl,'-'
	mov ah,02h
	int 21h
	mov dl,'->'
	mov ah,02h
	int 21h
	ret
ENDP

Теперь этот файл нужно подключить. Но его код должен быть за пределами программы.

........
DATASEG
	strstruct strstr {}	
CODESEG	
INCLUDE class.asm	
start:	
	mov ax,@data
	mov ds,ax
........

И теперь просто его вызовем:

......
start:	
	mov ax,@data
	mov ds,ax

	CALL strstruct METHOD printchar

	mov dx,offset strstruct.str2
	mov ah,09h
	int 21h

	mov ah,04Ch
	mov al,1h
	int 21h
end start	
.......

Все. После запуска Вы увидите вызов метода.

59_1.gif (2486 b)

Еще раз, метод статический, поэтому нам не нужна таблица виртуальных вызовов.


Загрузить проект | Предыдущий Шаг | Следующий Шаг | Оглавление
Автор Каев Артем.