Upload
internet
View
102
Download
0
Embed Size (px)
Citation preview
ANEXO-1 : INSTRUÇÕES(ROTINA)
CALL SEG : OFFSET
CHAMADA DE ROTINA FAR (EM OUTRO SEGMENTO)
CS IPLIPHCSLCSH
IP SP
CPU
PILHA
FC: 1,0,X,?,=
FS: 1,0,X,?,=
FA: 1,0,X,?,=
FD: 1,0,X,?,=
FI: 1,0,X,?,=
FP: 1,0,X,?,=
FO: 1,0,X,?,=
ARQUITETURA DE COMPUTADORES
ANEXO-1 : INSTRUÇÕES(ROTINA)
CALL OFFSET
CHAMADA DE ROTINA NEAR (NO MESMO SEGMENTO)
IPLIPH
IP SP
PILHA
CPU
FC: 1,0,X,?,=
FS: 1,0,X,?,=
FA: 1,0,X,?,=
FD: 1,0,X,?,=
FI: 1,0,X,?,=
FP: 1,0,X,?,=
FO: 1,0,X,?,=
ARQUITETURA DE COMPUTADORES
ARQUITETURA DE COMPUTADORES
ANEXO-1: INSTRUÇÕES (ROTINA)
CHAMADA DE ROTINA RELATIVA NEAR ( MESMO SEGMENTO)
CALL DISP
IP
CPU
+(1 BYTE)
IPLIPH
PILHA
FC: 1,0,X,?,=
FS: 1,0,X,?,=
FA: 1,0,X,?,=
FD: 1,0,X,?,=
FI: 1,0,X,?,=
FP: 1,0,X,?,=
FO: 1,0,X,?,=
ANEXO-1 : INSTRUÇÕES(ROTINA)
RET
RETORNO DE ROTINA FAR (EM OUTRO SEGMENTO)
CS IPLIPHCSLCSH
IP
CPU
PILHA
FC: 1,0,X,?,=
FS: 1,0,X,?,=
FA: 1,0,X,?,=
FD: 1,0,X,?,=
FI: 1,0,X,?,=
FP: 1,0,X,?,=
FO: 1,0,X,?,=
SP
ARQUITETURA DE COMPUTADORES
ANEXO-1 : INSTRUÇÕES(ROTINA)
RET
RETORNO DE ROTINA NEAR (NO MESMO SEGMENTO)
IP IPLIPH
SPCPU
PILHA
FC: 1,0,X,?,=
FS: 1,0,X,?,=
FA: 1,0,X,?,=
FD: 1,0,X,?,=
FI: 1,0,X,?,=
FP: 1,0,X,?,=
FO: 1,0,X,?,=
ARQUITETURA DE COMPUTADORES
ANEXO-1 : INSTRUÇÕES(ROTINA)
RET NL
RETORNO DE ROTINA FAR (EM OUTRO SEGMENTO)
CSPARL PARHPARL PARH
IPLIPHCSLCSH
IP
CPU
PILHA
FC: 1,0,X,?,=
FS: 1,0,X,?,=
FA: 1,0,X,?,=
FD: 1,0,X,?,=
FI: 1,0,X,?,=
FP: 1,0,X,?,=
FO: 1,0,X,?,=
SP
(1 BYTE)
NL: NUMERO DE PARAMETROS ABANDONADOS NA PILHA
ARQUITETURA DE COMPUTADORES
ANEXO-1 : INSTRUÇÕES(ROTINA)
RET NHNL
RETORNO DE ROTINA FAR (EM OUTRO SEGMENTO)
CSPARL PARHPARL PARH
IPLIPHCSLCSH
IP
CPU
PILHA
FC: 1,0,X,?,=
FS: 1,0,X,?,=
FA: 1,0,X,?,=
FD: 1,0,X,?,=
FI: 1,0,X,?,=
FP: 1,0,X,?,=
FO: 1,0,X,?,=
SP
(2 BYTES)
NHNL: NUMERO DE PARAMETROS ABANDONADOS NA PILHA
ARQUITETURA DE COMPUTADORES
ANEXO-1 : INSTRUÇÕES(ROTINA)
RET NL
RETORNO DE ROTINA NEAR (MESMO SEGMENTO)
PARL PARHPARL PARH
IPLIPH
IP
CPU
PILHA
FC: 1,0,X,?,=
FS: 1,0,X,?,=
FA: 1,0,X,?,=
FD: 1,0,X,?,=
FI: 1,0,X,?,=
FP: 1,0,X,?,=
FO: 1,0,X,?,=
SP
(1 BYTE)
NL: NUMERO DE PARAMETROS ABANDONADOS NA PILHA
ARQUITETURA DE COMPUTADORES
ANEXO-1 : INSTRUÇÕES(ROTINA)
RET NHNL
RETORNO DE ROTINA NEAR (MESMO SEGMENTO)
PARL PARHPARL PARH
IPLIPH
IP
CPU
PILHA
FC: 1,0,X,?,=
FS: 1,0,X,?,=
FA: 1,0,X,?,=
FD: 1,0,X,?,=
FI: 1,0,X,?,=
FP: 1,0,X,?,=
FO: 1,0,X,?,=
SP
(2 BYTES)
NHNL: NUMERO DE PARAMETROS ABANDONADOS NA PILHA
ARQUITETURA DE COMPUTADORES
ANEXO-1 : INSTRUÇÕES(PILHA)
PUSH REG
SALVAR NA PILHA REGISTRADORES
REGLREGH
SP
PILHA
FC: 1,0,X,?,=
FS: 1,0,X,?,=
FA: 1,0,X,?,=
FD: 1,0,X,?,=
FI: 1,0,X,?,=
FP: 1,0,X,?,=
FO: 1,0,X,?,=
REG: AH,AL,AX,BH,BL,BX,CH,CL,CX,DH,DL,DX,SI,DI ,SP,BP,CS, DS,ES ,SS
ARQUITETURA DE COMPUTADORES
ANEXO-1 : INSTRUÇÕES(PILHA)
PUSH REGSEG
SALVAR NA PILHA REGISTRADORES
REGSEGLREGSEGH
SP
PILHA
FC: 1,0,X,?,=
FS: 1,0,X,?,=
FA: 1,0,X,?,=
FD: 1,0,X,?,=
FI: 1,0,X,?,=
FP: 1,0,X,?,=
FO: 1,0,X,?,=
REG: AH,AL,AX,BH,BL,BX,CH,CL,CX,DH,DL,DX,SI,DI ,SP,BP,CS, DS,ES ,SS
ARQUITETURA DE COMPUTADORES
ANEXO-1 : INSTRUÇÕES(PILHA)
PUSH PSW
SALVAR NA PILHA FLAGS
FLAGSLFLAGSH
SP
PILHA
FC: 1,0,X,?,=
FS: 1,0,X,?,=
FA: 1,0,X,?,=
FD: 1,0,X,?,=
FI: 1,0,X,?,=
FP: 1,0,X,?,=
FO: 1,0,X,?,=
OUTRO MNEUMONICO: PUSH F
ARQUITETURA DE COMPUTADORES
ANEXO-1 : INSTRUÇÕES(PILHA)
PUSH [REG]
SALVAR NA PILHA CONTEUDO DE MEMORIA
DADOLDADOH
SP
PILHA
FC: 1,0,X,?,=
FS: 1,0,X,?,=
FA: 1,0,X,?,=
FD: 1,0,X,?,=
FI: 1,0,X,?,=
FP: 1,0,X,?,=
FO: 1,0,X,?,=
REG: AH,AL,AX,BH,BL,BX,CH,CL,CX,DH,DL,DX,SI,DI ,SP,BP,CS, DS,ES ,SS
DADOLDADOH
MEM
OBS: REG PODE SER UM NUMERO DE 16 BITS, COMBINAÇÃO DOS REGISTRADORES OU COMBINAÇÃO DE REGISTRADORES COM NUMEROS.
ARQUITETURA DE COMPUTADORES
ANEXO-1 : INSTRUÇÕES(PILHA)
POP REG
RECUPERAR DA PILHA REGISTRADORES
DADOLDADOH
SP
PILHA
FC: 1,0,X,?,=
FS: 1,0,X,?,=
FA: 1,0,X,?,=
FD: 1,0,X,?,=
FI: 1,0,X,?,=
FP: 1,0,X,?,=
FO: 1,0,X,?,=
REG: AH,AL,AX,BH,BL,BX,CH,CL,CX,DH,DL,DX,SI,DI ,SP,BP,CS, DS,ES ,SS
REG
CPU
ARQUITETURA DE COMPUTADORES
ANEXO-1 : INSTRUÇÕES(PILHA)
POP [REG]
RECUPERAR DA PILHA CONTEUDO DE MEMORIA
DADOLDADOH
SP
PILHA
FC: 1,0,X,?,=
FS: 1,0,X,?,=
FA: 1,0,X,?,=
FD: 1,0,X,?,=
FI: 1,0,X,?,=
FP: 1,0,X,?,=
FO: 1,0,X,?,=
REG: AH,AL,AX,BH,BL,BX,CH,CL,CX,DH,DL,DX,SI,DI ,SP,BP,CS, DS,ES ,SS
DADOLDADOH
MEMORIA
OBS: REG PODE SER UM NUMERO DE 16 BITS, COMBINAÇÃO DOS REGISTRADORES OU COMBINAÇÃO DE REGISTRADORES COM NUMEROS.
ARQUITETURA DE COMPUTADORES
ANEXO-1 : INSTRUÇÕES(PILHA)
POP REGSEG
RECUPERAR DA PILHA REGISTRADORES DE SEGMENTO
DADOLDADOH
SP
PILHA
FC: 1,0,X,?,=
FS: 1,0,X,?,=
FA: 1,0,X,?,=
FD: 1,0,X,?,=
FI: 1,0,X,?,=
FP: 1,0,X,?,=
FO: 1,0,X,?,=
REG: AH,AL,AX,BH,BL,BX,CH,CL,CX,DH,DL,DX,SI,DI ,SP,BP,CS, DS,ES ,SS
REGSEG
CPU
ARQUITETURA DE COMPUTADORES
ANEXO-1 : INSTRUÇÕES(PILHA)
POP PSW
RECUPERAR DA PILHA OS FLAGS
DADOLDADOH
PILHA
FC: 1,0,X,?,=
FS: 1,0,X,?,=
FA: 1,0,X,?,=
FD: 1,0,X,?,=
FI: 1,0,X,?,=
FP: 1,0,X,?,=
FO: 1,0,X,?,=SP
OUTRO MNEUMONICO: POP F
ARQUITETURA DE COMPUTADORES
ANEXO-1 : INSTRUÇÕES(FLAG´s)
SETAR FLAG DE CARRY
ARQUITETURA DE COMPUTADORES
STC
FC: 1,0,X,?,=
FS: 1,0,X,?,=
FA: 1,0,X,?,=
FD: 1,0,X,?,=
FI: 1,0,X,?,=
FP: 1,0,X,?,=
FO: 1,0,X,?,=
ANEXO-1 : INSTRUÇÕES(FLAG´s)
RESETAR FLAG DE CARRY
ARQUITETURA DE COMPUTADORES
CLC
FC: 1,0,X,?,=
FS: 1,0,X,?,=
FA: 1,0,X,?,=
FD: 1,0,X,?,=
FI: 1,0,X,?,=
FP: 1,0,X,?,=
FO: 1,0,X,?,=
ANEXO-1 : INSTRUÇÕES(FLAG´s)
INVERTER FLAG DE CARRY
ARQUITETURA DE COMPUTADORES
CMC
FC: 1,0,X,?,=
FS: 1,0,X,?,=
FA: 1,0,X,?,=
FD: 1,0,X,?,=
FI: 1,0,X,?,=
FP: 1,0,X,?,=
FO: 1,0,X,?,=
ANEXO-1 : INSTRUÇÕES(FLAG´s)
SETAR FLAG DE DIREÇÃO
ARQUITETURA DE COMPUTADORES
STD
FC: 1,0,X,?,=
FS: 1,0,X,?,=
FA: 1,0,X,?,=
FD: 1,0,X,?,=
FI: 1,0,X,?,=
FP: 1,0,X,?,=
FO: 1,0,X,?,=
ANEXO-1 : INSTRUÇÕES(FLAG´s)
RESETAR FLAG DE DIREÇÃO
ARQUITETURA DE COMPUTADORES
CLD
FC: 1,0,X,?,=
FS: 1,0,X,?,=
FA: 1,0,X,?,=
FD: 1,0,X,?,=
FI: 1,0,X,?,=
FP: 1,0,X,?,=
FO: 1,0,X,?,=
ANEXO-1 : INSTRUÇÕES(E/S)
ENTRADA DE DADOS, ENDEREÇO DA PORTA FORNECIDO PELA PROPRIA INSTRUÇÃO
ARQUITETURA DE COMPUTADORES
IN REG, PORTA(1 BYTE)
PORTA DE ENTRADA
REG: AH,AL,AX,BH,BL,BX,CH,CL,CX,DH,DL,DX,SI,DI ,SP,BP,CS, DS,ES ,SS
ANEXO-1 : INSTRUÇÕES(E/S)
ENTRADA DE DADOS, ENDEREÇO DA PORTA FORNECIDO NO REGISTRADOR DX
ARQUITETURA DE COMPUTADORES
IN REG
PORTA DE ENTRADA
REG: AH,AL,AX,BH,BL,BX,CH,CL,CX,DH,DL,DX,SI,DI ,SP,BP,CS, DS,ES ,SS
DX
CPU
ANEXO-1 : INSTRUÇÕES(E/S)
SAIDA DE DADOS, ENDEREÇO DA PORTA FORNECIDO PELA PROPRIA INSTRUÇÃO
ARQUITETURA DE COMPUTADORES
OUT REG, PORTA(1 BYTE)
PORTA DE SAIDA
REG: AH,AL,AX,BH,BL,BX,CH,CL,CX,DH,DL,DX,SI,DI ,SP,BP,CS, DS,ES ,SS
ANEXO-1 : INSTRUÇÕES(E/S)
SAIDA DE DADOS, ENDEREÇO DA PORTA FORNECIDO NO REGISTRADOR DX
ARQUITETURA DE COMPUTADORES
OUT REG
PORTA DE SAIDAA
REG: AH,AL,AX,BH,BL,BX,CH,CL,CX,DH,DL,DX,SI,DI ,SP,BP,CS, DS,ES ,SS
DX
CPU
ANEXO-2 : ASSEMBLER / LINKER
ARQUITETURA DE COMPUTADORES
.ASMSEGMENTO DE PILHA
SEGMENTO DE DADOS
SEGMENTO DE CODIGO
SEGMENTO
nome SEGMENT características
nome ENDS
CORPO DO SEGMENTO
ANEXO-2 : ASSEMBLER / LINKER
ARQUITETURA DE COMPUTADORES
CORPO DO SEGMENTO DE PILHA
DB ?DB ?DB ?....DB ?
CRIA UM BYTE DENTRO DO SEGMENTO
ANEXO-2 : ASSEMBLER / LINKER
ARQUITETURA DE COMPUTADORES
CORPO DO SEGMENTO DE DADOS
nome_1 DB valor_inicialnome_2 DB valor_inicialnome_3 DB valor_inicial...nome_N DB ?
ANEXO-2 : ASSEMBLER / LINKER
ARQUITETURA DE COMPUTADORES
CORPO DO SEGMENTO DE CODIGO
PROCEDIMENTO_1
PROCEDIMENTO_2
PROCEDIMENTO_3
............................PROCEDIMENTO_M