ah temp arquitetura de computadores linguagem c x linguagem assembly condiÇÃo inicial...

Post on 17-Apr-2015

106 Views

Category:

Documents

2 Downloads

Preview:

Click to see full reader

TRANSCRIPT

AHTEMP

ARQUITETURA DE COMPUTADORES

LINGUAGEM C X LINGUAGEM ASSEMBLY

CONDIÇÃO INICIAL

BH BL CH CL DH DL SPX

DIBASE DE X

VOID STRCPY( CHAR X[ ], CHAR Y[ ])

{

INT I;

I=0;

WHILE (X[I] = Y[I] != 0)

I = I + 1;

}

C

COPIA DE STRING

STRCPY:

PUSH AX

SUB AL,AL

VOLTA:

MOV AH,[SI]

CMP AH,AL

JP Z FIM

MOVS

JMP VOLTA

FIM:

POP AX

RET

ALTEMP1

SIBASE DE YA

[DI] <- [SI]DI <- DI + 1SI <- SI + 1

ARQUITETURA DE COMPUTADORES

EXERCICIO 12

1. “COMPILE” USANDO APENAS UMA INSTRUÇÃO DE DESVIO

AXJ

CONDIÇÃO INICIAL

BXBASE DO VETOR

CHTEMP

CL DH DLK

SP DISII

WHILE (SAVE[I] = = K)

I = I + J;

C

A

ARQUITETURA DE COMPUTADORES

EXERCICIO 12 – CONTINUAÇÃO

1. “COMPILE” A FUNÇÃO

AH

CONDIÇÃO INICIAL

BXBASE DO VETOR

CH CL DH DL SP DIK

SI

SWAP ( INT V[ ], INT K )

{

INT TEMP;

TEMP = V[K]

V[K] = V[K +1]

V[K+1] = TEMP;

}

C

A

AL

ARQUITETURA DE COMPUTADORES

EXERCICIO 12 – CONTINUAÇÃO

1. “COMPILE” A FUNÇÃO

AH

CONDIÇÃO INICIAL

BXBASE DO VETOR

CXN

DH DL SP DIJ

SII

SORT ( INT V[ ], INT N )

{

INT I,J;

FOR (I = 0; I < N; I = I +1)

{

FOR ( J = I –1, J 0 && V[J] > V[J+1], J = J-1)

{

SWAP (V,J)

}

}

}

C

A

ALTEMP

ARQUITETURA DE COMPUTADORES

CPU ACESSANDO INSTRUÇÕES E DADOS

ESPAÇO ENDEREÇAVEL1 M BYTES

SEGMENTO DE 64K BYTES

END. INICIAL DO SEGMENTO

TIPOS DE SEGMENTOS

CODIGO DADOSPILHA EXTRA DE DADOS

OBS: OS SEGMENTOS PODEM SER SUPERPOSTOS , OU NÃO.

ARQUITETURA DE COMPUTADORES

CPU ACESSANDO INSTRUÇÕES E DADOS

CODIGO DADOSPILHA EXTRA DE DADOS

END. INICIAL DO SEGMENTO

CODIGO DADOSPILHA EXTRA DE DADOS

CS DSSS ESX 16 X 16 X 16 X 16

OFFSET NO SEGMENTO

IP SP

BP

DIBX

SI

DI

DESL

ARQUITETURA DE COMPUTADORES

FLAGS DE STATUS

ALU

C

O

A

Z

S

P

ARQUITETURA DE COMPUTADORES

REGISTRADORES VISIVEIS PELO PROGRAMADOR

AX

H L BX

H L CX

H L DX

H L

BP SP IP SI DI

CS DS SS ES

ARQUITETURA DE COMPUTADORES

OUTROS FLAGS

D

I

T

DIREÇÃO

INTERRUPÇÃO

TRAP

D =0 MOVSB

D =1 MOVSB

[DI] <- [SI]DI <- DI + 1SI <- SI + 1

[DI] <- [SI]DI <- DI - 1SI <- SI - 1

ARQUITETURA DE COMPUTADORES

FORMATO DAS INSTRUÇÕES

10 BYTE

20 BYTE

30 BYTE

40 BYTE

50 BYTE

60 BYTE

CODIGO DA INSTRUÇÃO

BYTE DE ENDEREÇAMENTO

DADO IMEDIATO (DIL)

DADO IMEDIATO (DIH)

END. IMEDIATO (EIL)

END. IMEDIATO (EIH)

DADO IMEDIATO (DIL)

DADO IMEDIATO (DIH)

ADD AL,CL MOV [BX][SI][043A] , 1209

ARQUITETURA DE COMPUTADORES

FORMATO DAS INSTRUÇÕES

10 BYTE CODIGO DA INSTRUÇÃO

CODIGO | D | W TAMANHO DOS OPERANDOS

0 : BYTE

1 : WORDSENTIDO DA MOVIMENTAÇÃO

MOV AL, CL E MOV CL, AL

TEM O MESMO CODIGO E O MESMO W

POREM D DIFERENTES

ARQUITETURA DE COMPUTADORES

FORMATO DAS INSTRUÇÕES

20 BYTE BYTE DE ENDEREÇAMENTO

MOD REG R/M

_ _ _ _ _ _ _ _

R/M

000

001

010

011

100

101

110

111

MOD 00

[BX][SI]

[BX][DI]

[BP][SI]

[BP][DI]

[SI]

[DI]

[EIH][EIL]

[BX]

MOD 01

[BX][SI][EIL]

[BX][DI][EIL]

[BP][SI][EIL]

[BP][DI][EIL]

[SI][EIL]

[DI][EIL]

[BP][EIL]

[BX][EIL]

MOD 10

[BX][SI][EIHEIL]

[BX][DI][EIHEIL]

[BP][SI][EIHEIL]

[BP][DI][EIHEIL]

[SI][EIHEIL]

[DI][EIHEIL]

[BP][EIHEIL]

[BX][EIHEIL]

MOD 11

W=0 W=1

AL AX

CL CX

DL DX

BL BX

AH SP

CH BP

DH SI

BH DI

REG

W=0 W=1

AL AX

CL CX

DL DX

BL BX

AH SP

CH BP

DH SI

BH DI

INSTR OP1, OP2

D=0 MOD E R/M DEFINEM OP1

D=1 MOD E R/M DEFINEM OP2

ARQUITETURA DE COMPUTADORES

EXERCICIO 13

SABENDO QUE O CAMPO CODIGO DA INSTRUÇÃOMOV É 100010, QUAIS OS CODIGOS DE MAQUINA DAS INSTRUÇÕES ABAIXO?

MOV AL,BL MOV AX,BX MOV [BX][03],AL

MOV AL,[BX][089A]

ARQUITETURA DE COMPUTADORES

DEBUG – DEPURADOR SIMPLES

ARQUITETURA DE COMPUTADORES

DEBUG – DEPURADOR SIMPLES

COMANDOS

Q SAIR DO DEBUG

R EXIBIR E ALTERAR CONTEUDO DE REGISTRADOR

A INSERIR INSTRUÇÕES EM ASSEMBLY NA MEMORIA

D LISTAR END´s DE MEM. E RESPECTIVOS CONTEUDOS

U TRANSFORMA COD. DE MAQUINA EM ASSEMBLY

E ENTRADA DE INSTRUÇÕES OU DADOS EM HEXADECIMALT EXECUÇÃO PASSO A PASSO E EXIBIÇÃO DOS REG´s

G EXECUÇÃO ATÉ UM PONTO DE PARADA E EXIBIÇÃO

ARQUITETURA DE COMPUTADORES

DEBUG – DEPURADOR SIMPLES

COMANDO R

ARQUITETURA DE COMPUTADORES

DEBUG – DEPURADOR SIMPLES

COMANDO A

ARQUITETURA DE COMPUTADORES

DEBUG – DEPURADOR SIMPLES

COMANDO D

ARQUITETURA DE COMPUTADORES

DEBUG – DEPURADOR SIMPLES

COMANDO U

ARQUITETURA DE COMPUTADORES

DEBUG – DEPURADOR SIMPLES

COMANDO E

ARQUITETURA DE COMPUTADORES

DEBUG – DEPURADOR SIMPLES

COMANDO T

ARQUITETURA DE COMPUTADORES

DEBUG – DEPURADOR SIMPLES

COMANDO G

ARQUITETURA DE COMPUTADORES

INSTRUÇÕES

ANEXO-1

ARQUITETURA DE COMPUTADORES

EXERCICIO 13

1. FAÇA UM PROGRAMA PARA SOMAR 2 NUMEROS DE 16 BITS, UM ARMAZENADO A PARTIR DO ENDEREÇO 0020:0A00 E OUTRO APARTIR DO ENDEREÇO 0040:0AE1.

2. FAÇA UM PROGRAMA PARA VERIFICAR SE O BIT 3 DO ENDEREÇO DE MEMORIA OOO4:5271 ESTÁ EM NIVEL 1 OU EM NIVEL 0

3. FAÇA UM PROGRAMA PARA SOMAR OS CONTEUDOS DOS ENDEREÇOS DE MEMORIA 0020:8012, 0020:8013, 0020:8014, 0020:8015, LEVANDO EM CONTA APENAS OS 8 BITS MENOS SIGNIFICATIVOS DA SOMA. O RESULTADO DEVE SER ARMAZENADO EM COMPLEMENTO A 2 NO ENDEREÇO 0020:8016.

ARQUITETURA DE COMPUTADORES

EXERCICIO 13 – CONTINUAÇÃO

4. FAÇA UM PROGRAMA PARA MULTIPLICAR 2 NUMEROS SEM SINAL DE 8 BITS, UM ARMAZENADO A PARTIR DO ENDEREÇO 0140:CC00 E OUTRO APARTIR DO ENDEREÇO 0140:CD01. O RESULTADO DEVE SER ARMAZENADO NOS ENDEREÇOS 0140:CE01 E 0140:CE02.

O PROGRAMA DEVE USAR O ALGORITMO DE SOMAS SUCESSIVAS E O RESULTADO PARCIAL DEVE SER ARMAZENADO NOS ENDEREÇOS 0230:0401 E 0230:0402.

AMBIENTE

ARQUITETURA DE COMPUTADORES

ENTRADA E SAIDA (E/S) (I/O)

DISPOSITIVOS DE ENTRADA E SAIDA POSSIBILITAM A COMUNICAÇÃO DA CPU COM O AMBIENTE

CPU

MEMORIA

ENTRADA ESAIDA

COMPUTADOR

ARQUITETURA DE COMPUTADORES

ENTRADA E SAIDA (E/S) (I/O)

ENTRADA E SAIDA : CONTROLADOR DE E/S E DISPOSITIVO DE E/S

CPU

MEMORIA

ENTRADA E SAIDA

COMPUTADOR

AMBIENTE

CONTROLADORES DISPOSITIVOS

ARQUITETURA DE COMPUTADORES

ENTRADA E SAIDA (E/S) (I/O)

CONTROLADOR DE E/S: INTERFACE COM A CPU

CPU

MEM

ENTRADA E SAIDA

COMPUTADOR

AMBIENTE

CONTROLADORES DISPOSITIVOSINTERFACEREG

REG

REG

ARQUITETURA DE COMPUTADORES

ENTRADA E SAIDA (E/S) (I/O)

MODOS DE IMPLEMENTAR E/S 1. E/S MAPEADA COMO MEMORIA ENDEREÇO DE MEMORIA ATRIBUIDO A ENDEREÇO DE REGISTRADOR DA INTERFACE DO CONTROLADOR DE E/S COM A

CPU

CPU

MEM

ENTRADA E SAIDA

COMPUTADOR

AMBIENTE

CONTROLADORES DISPOSITIVOSINTERFACEREG

REG

REG

INTERFACE E/S

ARQUITETURA DE COMPUTADORES

ENTRADA E SAIDA (E/S) (I/O)

MODOS DE IMPLEMENTAR E/S 1. E/S MAPEADA COMO MEMORIA IMPLEMENTAÇÃO

RD WR

CPU

RD WR

MEM

#CS

REGLD

BARRAMENTO DE DADOS

REG0E

BARRAMENTO DE ENDEREÇOSXXXXXH

COMPARADOR

AND

AND

ARQUITETURA DE COMPUTADORES

EXERCICIO 14

“RETIRAR” O ENDEREÇO DE MEMORIA 0400:0002 PARA SELECIONAR UM CONJUNTO DE 8 LEDS E UM CONJUNTO DE 8 CHAVES QUE DEVEM SER CONECTADOS AO COMPUTADOR.

INTERFACE E/S

ARQUITETURA DE COMPUTADORES

EXERCICIO 14 – SOLUÇÃO

RD WR

CPU

RD WR

MEM

#CS

REGLD

BARRAMENTO DE DADOS

3S0E

BARRAMENTO DE ENDEREÇOS04002H

COMPARADOR

AND

AND

INTERFACE E/S

DISPOSITIVOS E/S

VCC

.......

VCC

.......

top related