[assembley] 8086

Nody

Banido
pessoal tou aqui a fazer um trabalho e é-me perguntado o objectivo e importancia das directivas SEGMENT e ASSUME e para explicar as directivas DB DW e DD.

alguem sabe alguma coisa?
abraço
 
DB -> Define Byte (Reserva espaço e ocupa-o com bytes)
DW -> Define Word (Reserva espaço e ocupa-o com words)
DD -> Define Double (Reserva espaço e ocupa-o com Bouble's)

Segment e assume:
As directivas SEGMENT e ENDS são usadas para identificar o grupo de dados ou de instruções que pretendemos que façam parte do mesmo segmento. Todas os dados ou instruções que aparecem entre a directiva SEGMENT e a directiva ENDS fazem parte do mesmo segmento lógico.

Um programa em linguagem Assembly do 8086 pode ter vários segmentos de dados e vários segmentos de código, no entanto no momento em que o executamos só trabalha com 4 segmentos físicos. São eles o code segment, o data segment, o stack segment e o extra segment. A directiva ASSUME indica ao assembler quais dos segmentos lógicos correspondem a cada um destes segmentos.
@link

Dados:
Os programas trabalham com três tipos de dados: constantes, variáveis e endereços. O Assembly do 8086 permite dar nomes a qualquer um destes tipos de dados, o que permite referenciá-los de forma muito mais fácil.

As directivas DB, DW e DD são usadas para atribuir nomes a variáveis. A directiva DB depois de um nome significa que esse nome corresponde a uma variável do tipo byte (8 bits), a directiva DW significa que o nome corresponde a uma variável do tipo word (16 bits) e a directiva DD significa que o nome corresponde a uma variável do tipo double word (32 bits).

No programa exemplo.asm a instrução MULTIPLICANDO DW 204AH declara uma variável do tipo word e inicializa-a com 204AH. A instrução MULTIPLICADOR DW 3B2AH declara uma variável também do tipo word e inicializa-a com o valor 3B2AH. A declaração PRODUTO DW 2 DUP(0) guarda espaço para duas words em memória, dá ao endereço do inicio da primeira word o nome PRODUTO, e inicializa as duas words com o valor zero.
@link
 
Back
Topo