JavascriptProva

venerdì 25 maggio 2012

Una gerarchia fra registri di segmento impiegati nella direttiva ASSUME?

Dunque abbiamo assodato che le istruzioni di indirizzamento indiretto con registro non vengono influenzate dalla direttiva ASSUME. Vediamo ora se esiste un ordine di preferenza per i registri di segmento quando questi vengono "assunti" da ASSUME.
text SEGMENT
assume CS:text,DS:text,ES:text
inizio: JMP     Procedura

Var     DW 0FAFAH

Procedura PROC   
 MOV AH,00H
 MOV AL,03H
 INT 10H

        MOV     AX,[Var]
        MOV     BX,Var
        
        
        MOV AH,00H
        INT 16H

        MOV AH,4CH
        INT 21H

Procedura ENDP
text ENDS
END inizio
141D:000B A10300        MOV     AX,[0003]
141D:000E 8B1E0300      MOV     BX,[0003]
AX=0003  BX=0000  CX=001A  DX=0000  SP=0000  BP=0000  SI=0000  DI=0000
DS=140D  ES=140D  SS=141D  CS=141D  IP=000B   NV UP EI PL NZ NA PO NC
141D:000B A10300        MOV     AX,[0003]                          DS:0003=009F
-t

AX=009F  BX=0000  CX=001A  DX=0000  SP=0000  BP=0000  SI=0000  DI=0000
DS=140D  ES=140D  SS=141D  CS=141D  IP=000E   NV UP EI PL NZ NA PO NC
141D:000E 8B1E0300      MOV     BX,[0003]                          DS:0003=009F
Bene: quando sono assunti ambedue i registri ES e DS, quindi, le istruzioni di indirizzamento diretto preferiscono quindi la codifica con il registro di segmento DS, mentre le istruzioni di indirizzamento indiretto con registro non vengono influenzate dalla direttiva ASSUME.

Ora vediamo di creare un programmino con più di un segmento...

Nessun commento:

Posta un commento