Specifications

MICROPROCESSADORES
O DEBUG, TASM E TLINK
3
Luís Miguel Charrua Figueiredo 3 - 11 E.N.I.D.H.
Declaração do procedimento
Código do procedimento
Diretiva de retorno
Término do procedimento
Por exemplo, se quisermos uma rotina que soma dois bytes armazenados em AH e AL, e o
resultado da soma em BX:
Soma Proc Near ; Declaração do Procedimento
Mov BX, 0 ; Conteúdo do Procedimento...
Mov BL, AH
Mov AH, 00
Add BX, AX
Ret ; instrução de retorno
Soma EndP ; Fim do Procedimento
Na declaração, a primeira palavra, Soma, corresponde ao nome do procedimento. Proc declara-o e
a palavra Near indica que o procedimento é do tipo intrasegmento, ou seja, no mesmo segmento.
A instrução Ret carrega IP com o endereço armazenado na
Stack para retornar ao programa que
chamou. Finalmente, Soma EndP indica o fim do procedimento. Para declarar um procedimento
inter segmento, basta substituir a directiva Near para FAR. A chamada deste procedimento é feito
de modo idêntico.
Macros
As macros como já foi dito permitem a passagem de parametros no momento da sua chamada, e
são chamadas com se de uma instrução
assembly se trata-se, isto permite uma maior flexibilidade,
sendo que as macros podem ser utilizadas por mais do que um só programa,
Normalmente são guardadas em ficheiros separados e incluidos no programa principal através da
directiva
include no inicio do programa.
As partes que compõem uma macro são as seguintes:
Declaração da macro
Código da macro
Diretiva dermino da macro
A declarão da macro é feita como se segue:
NomeMacro MACRO [parâmetro1, parâmetro2...]
Do mesmo modo que temos a funcionalidade dos parâmetros, é possível também a criação de
uma macro que não os possua. A diretiva de término da macro é: ENDM