ARQUITETURA DE COMPUTADORES SOFTWARE PROGRAMA SEQUENCIA DE INSTRUÇÕES

Slides:



Advertisements
Apresentações semelhantes
Modelos de Microprocessadores
Advertisements

Execução de Programas Partes de um programa: ‣ Dados
Arquitetura dos Microprocessadores 8086 e 8088
Assembly Language for Intel-Based Computers, 5th Edition
Manipulação de Arquivos de Dados
Java: Comandos Básicos
ORGANIZAÇÃO BÁSICA DE COMPUTADORES E LINGUAGEM DE MONTAGEM
PROCEDIMENTOS COM RECURSIVIDADE
While While Condição // comandos End While. Exemplos While Var contador As Integer contador = 0 While (contador < 10) contador += 1 console.ConsoleWrite(contador)
Capítulo 4 Controle de fluxo. 2Capítulo 4 – Controle de fluxo Controle de fluxo if / else switch / case while do / while for break / continue Instruções.
Grupo Paralelismo – Unesp RC
FORTRAN 90 Denise Yumi Takamura.
SQL Procedural Junho/2006.
Sistemas Operacionais
Montador para Intel TASM - Turbo Assembler
Arquiteturas de 4, 3, 2, 1 e 0 endereços.
(As bases da civilização atual)
Teste Estrutural de Software
(Como implementar multiplicação e divisão uma vez só :-)
A Arquitetura: conjunto de instruções
Buffer Overflow ou Stack Overrun ou Stack Smashing.
Introdução A fim de preparar a geração de código, deve-se relacionar o fonte estático do programa às ações em tempo de execução. Durante a execução, o.
Geração de Código Cap. 8. Introdução Fase final para um compilador Entrada é uma representação intermediária do código fonte e a saída é um programa para.
Funções de um computador
1.3 – Interpretadores – Compiladores versus Interpretadores
CES-10 INTRODUÇÃO À COMPUTAÇÃO Capítulo III Declarações e Comandos de Atribuição.
Capítulo I – Conceitos Primários 1.1 – Estrutura de um computador 1.2 – Informações manipuladas por um computador 1.3 – Evolução das linguagens de programação.
Curso Técnico em Informática La Salle - Canoas
FUNDAÇÃO CARLOS CHAGAS
ANEXO-1 : INSTRUÇÕES(ROTINA)
ARQUITETURA DE COMPUTADORES ANEXO-1: INSTRUÇÕES (LOGICAS) AND DE DADOS ENTRE REGISTRADORES REG 0 :AH,AL,AX,BH,BL,BX,CH,CL,CX,DH,DL,DX,SI,DI,SP,BP,CS, DS,ES,SS.
ANEXO-1: INSTRUÇÕES (MOVIMENTAÇÃO DE DADOS)
OTIMIZAÇÃO DE DESEMPENHO
SINAIS DE SAIDA DA UNIDADE DE CONTROLE
+ = MOTIVAÇÃO ARQUITETURA DE COMPUTADORES CIRCUITOS LOGICOS
LINGUAGEM C X LINGUAGEM ASSEMBLY
OTIMIZAÇÃO DE DESEMPENHO
ENTRADA E SAIDA ARQUITETURA DE COMPUTADORES MOV AX , 0400H MOV DS , AX
Organização de Sistemas de Computadores
Introdução à Arquitetura de Computadores
Desempenho A rápida taxa de melhoria na tecnologia de computadores veio em decorrência de dois fatores: avanços na tecnologia utilizada na construção.
Máquina Multinível Um programa pode ser definido como uma seqüência de instruções que descrevem como executar uma determinada tarefa. Uma instrução pode.
Pipeline É possível obter maior desempenho computacional com:
Laboratório de Programação Prof. Oscar Luiz Monteiro de Farias
Recursividade Estrutura de Dados.
Marco Antonio Montebello Júnior
Curso de Programação em C++ Universidade Federal do Ceará Departamento de Engenharia Estrutural e Construção Civil Prof: Evandro Parente Junior Monitor:
LINGUAGENS DE PROGRAMAÇÃO
Sistemas Operacionais e Windows XP Aula 04 – DCA0302.
04:27 Introdução Tipos de Fluxo de Dados e de Arquivos Manipulação de Arquivos em Java Classes FileReader e FileWriter Classes FileInputStream e FileOutputStream.
Introdução Ciência da Computação estudo de algoritmos –ÊNFASE ao estudo de DADOS armazenamento manipulação refinamento (a partir de dados cru) estrutura.
Assembly x86.
A arquitectura IA32 A arquitectura de um processador é caracterizada pelo conjunto de atributos que são visíveis ao programador. Tamanho da palavra Número.
EEL Microprocessadores
A ULA P RÁTICA - A SSEMBLY Ciro Luiz Araujo Ceissler.
Aula Prática - Assembly
Linguagem de Montagem Vetores.
João Ferreira, Dez 2003STRINGS, 1/6 Definição de String String (sentido lato) -> um string é um conjunto de valores (não necessariamente interpretáveis.
HandyBoard & Interactive C. HandyBoard Especificações –Clock de 2 MHz –32 Kb de RAM –7 entradas para sensores analógicos –9 entradas para sensores digitais.
Prática de Programação Assembly 8086
Infra-estrutura de Hardware
ORGANIZAÇÃO BÁSICA DE COMPUTADORES E LINGUAGEM DE MONTAGEM
Arquitetura de Computadores
8088 Assembly Software Básico Mitsuo Takaki.
8 - 1 Organização Básica de Computadores e Linguagem de Montagem Ricardo Pannain ORGANIZAÇÃO BÁSICA DE COMPUTADORES E LINGUAGEM DE MONTAGEM A pilha e subrotinas.
Ney Laert Vilar Calazans Exemplo de Apresentação de TP1 Descrição Resumida de uma Arquitetura de Processador: o estudo de caso do Intel 8086 ORGANIZAÇÃO.
Programação em Assembly Conceitos Iniciais Prof. Luiz Antonio Rodrigues Prof. Luiz Antonio Unioeste - Cascavel Jpanel e Diagramadores.
Programação em Assembly
PSI3441 – Arquitetura de Sistemas Embarcados
Ney Laert Vilar Calazans
Transcrição da apresentação:

SOFTWARE PROGRAMA ------------------- ------------------ ARQUITETURA DE COMPUTADORES SOFTWARE PROGRAMA ------------------- ------------------ SEQUENCIA DE INSTRUÇÕES TIPOS DE INSTRUÇÕES MOVIMENTAÇÃO DE DADOS ARITMETICAS E LOGICAS DESVIO CHAMADA E RETORNO DE ROTINAS

MAQUINA A SER CONTROLADA ARQUITETURA DE COMPUTADORES SISTEMAS EMBUTIDOS OU DEDICADOS NÃO VOLATIL MEM FIRMWARE PROGRAMA CPU MAQUINA A SER CONTROLADA E/S

SISTEMAS MEM CPU E/S APLICATIVOS ARQUITETURA DE COMPUTADORES PROPOSITO GERAL MEM MEMORIA SEMICONDUTORA FLASH, NÃO VOLATIL BIOS ESTATICA, DINAMICA, VOLATIL PROGRAMAS CPU DISCO RIGIDO E/S TECLADO REDE MONITOR SIST. OPERACIONAL MODEM MOUSE APLICATIVOS

APLICATIVOS GERAÇÃO ARQUITETURA DE COMPUTADORES BAIXO NIVEL PROGRAMA EDITADO EM LING. ASSEMBLY* PROGRAMA ASSEMBLER CODIGO DE MAQUINA * NESTA LINGUAGEM,CADA COMANDO CORRESPONDE A UM CODIGO DE MAQUINA

APLICATIVOS GERAÇÃO ARQUITETURA DE COMPUTADORES ALTO NIVEL PROGRAMA EDITADO, (POR EXEMPLO), EM LING. C* PROGRAMA COMPILADOR C CODIGO DE MAQUINA * NESTA LINGUAGEM,CADA COMANDO CORRESPONDE A VARIOS CODIGOS DE MAQUINA

INSTRUÇÕES ARQUITETURA DE COMPUTADORES MOVIMENTAÇÃO DE DADOS ARITMETICAS LOGICAS DESVIO CHAMADA DE ROTINA RETORNO DE ROTINA MANIPULAÇÃO DE PILHA ENTRADA E SAIDA ESPECIAIS

MOVIMENTAÇÃO DE DADOS – ENTRE REG`s ARQUITETURA DE COMPUTADORES MOVIMENTAÇÃO DE DADOS – ENTRE REG`s B. 1 X16 + R.END B.END 20 16 CS DS ES SS RASC1 T3 16 B. 2 MEMORIA 8 B.DADOS IP SP SI DI RASC2 UNID. DE INTERF. = , +1, -1 AX BX CX DX T1 T2 IR 8 MOV BX,AX ALU B. 3 FC 8 B. 4 20 BITS R.DADOS 16 BITS RD 8 BITS UNID. DE CONTROLE WR 1 BIT

MOV. DE DADOS – ENTRE REG E MEMORIA ARQUITETURA DE COMPUTADORES MOV. DE DADOS – ENTRE REG E MEMORIA B. 1 X16 + R.END B.END 20 16 CS DS ES SS RASC1 T3 16 B. 2 MEMORIA 8 B.DADOS IP SP SI DI RASC2 UNID. DE INTERF. = , +1, -1 AX BX CX DX T1 T2 IR 8 MOV CX,[BX] ALU B. 3 FC 8 B. 4 20 BITS R.DADOS 16 BITS RD 8 BITS UNID. DE CONTROLE WR 1 BIT

MOV. DE DADOS – DADO IMEDIATO ARQUITETURA DE COMPUTADORES MOV. DE DADOS – DADO IMEDIATO B. 1 X16 + R.END B.END 20 16 CS DS ES SS RASC1 T3 16 B. 2 MEMORIA 8 B.DADOS IP SP SI DI RASC2 UNID. DE INTERF. = , +1, -1 AX BX CX DX T1 T2 IR 8 MOV CL,37H ALU B. 3 FC 8 B. 4 20 BITS R.DADOS 16 BITS RD 8 BITS UNID. DE CONTROLE WR 1 BIT

ARITMETICAS E LOGICAS ADD AL,BL ARQUITETURA DE COMPUTADORES + 20 16 CS X16 + R.END B.END 20 16 CS DS ES SS RASC1 T3 16 B. 2 MEMORIA 8 B.DADOS IP SP SI DI RASC2 UNID. DE INTERF. = , +1, -1 AX BX CX DX T1 T2 IR 8 ALU B. 3 FC 8 B. 4 20 BITS ADD AL,BL R.DADOS 16 BITS RD 8 BITS UNID. DE CONTROLE WR 1 BIT

DESVIO – CONDICIONAL E INCONDICIONAL ARQUITETURA DE COMPUTADORES DESVIO – CONDICIONAL E INCONDICIONAL INSTRUÇÕES FLAG DE CARRY (FC) ALTERADO JP C NHNL FC=1 FC=0 JMP XHXL NHNL XHXL

CHAMADA DE ROTINA / RETORNO DE ROTINA ARQUITETURA DE COMPUTADORES CHAMADA DE ROTINA / RETORNO DE ROTINA INSTRUÇÕES NA CHAMADA DA ROTINA O ENDEREÇO DE RETORNO DEVE SER PRESERVADO CALL NHNL NHNL RET

LINGUAGEM C X LINGUAGEM ASSEMBLY ARQUITETURA DE COMPUTADORES LINGUAGEM C X LINGUAGEM ASSEMBLY CONDIÇÃO INICIAL AH AL VAR1 BH VAR4 BL VAR3 CH VAR2 CL DH DL C SOMA DE VARIAVEIS A VAR1 = VAR1 + VAR2 + VAR3 + VAR4; ADD AL,CH ADD AL,BL ADD AL,BH OBS: POR SIMPLICIDADE, NÃO FOI LEVADO EM CONTA OS CARRY´s GERADOS PELAS SOMAS

LINGUAGEM C X LINGUAGEM ASSEMBLY ARQUITETURA DE COMPUTADORES LINGUAGEM C X LINGUAGEM ASSEMBLY CONDIÇÃO INICIAL AH VAR1 AL VAR3 BH BL CH VAR2 CL DH DL C SOMA E SUBTRAÇÃO DE VARIAVEIS VAR1 = VAR1 + VAR2; VAR3 = VAR3 – VAR1; A ADD AH,CH SUB AL,AH

LINGUAGEM C X LINGUAGEM ASSEMBLY ARQUITETURA DE COMPUTADORES LINGUAGEM C X LINGUAGEM ASSEMBLY CONDIÇÃO INICIAL AH TEMP AL BH VAR1 BL VAR2 CH VAR3 CL VAR4 DH VAR5 DL C SOMA E SUBTRAÇÃO DE VARIAVEIS, OBEDECENDO A PRECEDENCIA. OBS: AS VARIAVEIS DEVEM SER PRESERVADAS A VAR5 = (VAR1 + VAR2) – (VAR3 + VAR4); MOV DH,BH ADD DH,BL MOV AH,CH ADD AH,CL SUB DH,AH

LINGUAGEM C X LINGUAGEM ASSEMBLY ARQUITETURA DE COMPUTADORES LINGUAGEM C X LINGUAGEM ASSEMBLY ESTRUTURA DE DADOS ESCALARES VETOR DADOS REGISTRADOR CPU MEMORIA REG CPU DADOS NA MEM. EM END´s CONSECUTIVOS

LINGUAGEM C X LINGUAGEM ASSEMBLY ARQUITETURA DE COMPUTADORES LINGUAGEM C X LINGUAGEM ASSEMBLY CONDIÇÃO INICIAL AH AL BX BASE DO VETOR CH VAR1 CL DH DL C SOMA DE ELEMENTOS DE VETOR COM ESCALAR A VAR1 = VAR[12] + VAR[8] + VAR1; ADD CH,[BX][12] ADD CH,[BX][8]

LINGUAGEM C X LINGUAGEM ASSEMBLY ARQUITETURA DE COMPUTADORES LINGUAGEM C X LINGUAGEM ASSEMBLY CONDIÇÃO INICIAL AH AL BX BASE DO VETOR CH VAR1 CL DH DL SI I : INDICE SOMA DE ELEMENTO DE VETOR COM ESCALAR OBS: INDICE É UMA VARIAVEL C A VAR1 = VAR1 + VAR[I]; ADD CH,[BX][SI]

LINGUAGEM C X LINGUAGEM ASSEMBLY ARQUITETURA DE COMPUTADORES LINGUAGEM C X LINGUAGEM ASSEMBLY CONDIÇÃO INICIAL AH I AL J BH F BL G CH CL H DH DL C DESVIO CONDICIONAL LABEL OU ROTULO MOV BH,BL ADD BH,CL JMP L2 L1: MOV BH,BL SUB BH,CL L2: IF (I = = J) GOTO L1; F = G + H; L1: F = G – H; A CMP AH,AL JP NZ L1 I = J  FZ =1 I  J  FZ = 0

LINGUAGEM C X LINGUAGEM ASSEMBLY ARQUITETURA DE COMPUTADORES LINGUAGEM C X LINGUAGEM ASSEMBLY CONDIÇÃO INICIAL AH I AL J BH F BL G CH CL H DH DL C IF THEN ELSE JMP L2 L1: MOV BH,BL SUB BH,CL L2: A IF (I= = J) F = G + H; ELSE F = G - H; CMP AH,AL JP NZ L1 MOV BH,BL ADD BH,CL

LINGUAGEM C X LINGUAGEM ASSEMBLY ARQUITETURA DE COMPUTADORES LINGUAGEM C X LINGUAGEM ASSEMBLY CONDIÇÃO INICIAL AX J BX END. BASE CX H DH DL G SI I C LOOP COM ELEM. DE VETOR INDEXADO CMP SI,CX JP NZ LOOP LOOP: G = G + A[I]; I = I + J; IF(I != H) GOTO LOOP; A ADD DL,[BX][SI] ADD SI,AX

LINGUAGEM C X LINGUAGEM ASSEMBLY ARQUITETURA DE COMPUTADORES LINGUAGEM C X LINGUAGEM ASSEMBLY CONDIÇÃO INICIAL AX J BX END. BASE CX DH DL K SI I C LOOP WHILE JMP DLOOP SEGUE: WHILE (SAVE[I] = = K) I = I + J; A DLOOP: CMP [BX][SI],DL JP NZ SEGUE ADD SI,AX

LINGUAGEM C X LINGUAGEM ASSEMBLY ARQUITETURA DE COMPUTADORES LINGUAGEM C X LINGUAGEM ASSEMBLY CONDIÇÃO INICIAL AH F AL I BX CH J CL H DH DL TEMP SI k C SWITCH CASE MEMORIA END BASE DA TAB DE DESVIO L0 (2BYTES) SWITCH(K) { CASE 0 : F = I + J; BREAK CASE 1 : F = J + H; BREAK CASE 2 : F =J - H; BREAK CASE 3 : F = I - J; BREAK } L1 (2BYTES) L2 (2BYTES) L3 (2BYTES)

LINGUAGEM C X LINGUAGEM ASSEMBLY ARQUITETURA DE COMPUTADORES LINGUAGEM C X LINGUAGEM ASSEMBLY A L1: MOV AH,CH ADD AH,CL JMP D_EXITSWITCH L2: SUB AH,CL L3: MOV AH,AL SUB AH,CH D_EXITSWITCH: SUB DX,DX ; TEMP =0 ADD SI, DX ; SE K < 0 -> FS =1 JP S D_EXITSWITCH MOV DX,4 CMP SI,DX ; SE K < 4 -> FC = 1 JP NC D_EXITSWITCH JMP [BX] [ 2 * SI] L0: MOV AH,AL ADD AH,CL JMP D_EXITSWITCH

SUPORTE A FUNÇÕES PELO HARDWARE ARQUITETURA DE COMPUTADORES SUPORTE A FUNÇÕES PELO HARDWARE PROGR. FICA MAIS INTELIGIVEL OCUPAÇÃO DE MEM. DIMINUE PROGR. FICA MAIS LENTO FUNÇÃO OU SUB-ROTINA: CODIGO REUTILIZAVEL MEMORIA MEMORIA PROGRAMA CALL FUNÇÃO1 1 FUNÇÃO1 CALL FUNÇÃO2 RET MEMORIA 2 FUNÇÃO2 RET 4 3 PILHA (STACK) LIFO (LAST IN FIRST OUT) 2 END. RET. FUNÇÃO1 3 1 END. RET. PROGR 4 TOPO XXXXXXXXXX

SUPORTE A FUNÇÕES PELO HARDWARE ARQUITETURA DE COMPUTADORES SUPORTE A FUNÇÕES PELO HARDWARE LOCALIZAÇÃO DA LIFO MAIS COMUM CPU MEMORIA LIFO LIFO LOCALIZAÇÃO DO REG MARCADOR DE TOPO CPU CPU TOPO NOME DO REG MARCADOR DE TOPO STACK POINTER (SP)

SP NA CPU (8080 – SIMPLIFICADA) ARQUITETURA DE COMPUTADORES SP NA CPU (8080 – SIMPLIFICADA) 16 R.END B.END PC DC SP A B MEMORIA 8 B.DADOS R.DADOS UNID. DE INTERFACE RA VI IR T1 T2 REG´s FC ALU CONTR. CONEXÃO 16 BITS RD UNID. DE CONTROLE 8 BITS WR 1 BIT

SP NA CPU (8088 – SIMPLIFICADA) ARQUITETURA DE COMPUTADORES SP NA CPU (8088 – SIMPLIFICADA) B. 1 X16 + R.END B.END 20 16 CS DS ES SS RASC1 T3 16 B. 2 MEMORIA 8 B.DADOS IP SP SI DI RASC2 UNID. DE INTERF. = , +1, -1 AX BX CX DX T1 T2 IR 8 REG´s ALU B. 3 FC 8 B. 4 20 BITS R.DADOS 16 BITS RD 8 BITS UNID. DE CONTROLE WR 1 BIT

INSTRUÇÕES DE CHAMADA E RETORNO DE ROTINA ARQUITETURA DE COMPUTADORES INSTRUÇÕES DE CHAMADA E RETORNO DE ROTINA CHAMADA CALL NHNL RETORNO RET

LINGUAGEM C X LINGUAGEM ASSEMBLY ARQUITETURA DE COMPUTADORES LINGUAGEM C X LINGUAGEM ASSEMBLY CONDIÇÃO INICIAL AH F AL BH BL G CH H CL I DH J DL G SP X C A FUNÇÃO NÃO RECURSIVA PUSH DX PUSH CX ADD DL, CH ADD CL, DH SUB DL, CL MOV AH,DL POP CX POP DX RET INT EXEMPLO (INT G, INT H, INT I, INT J) { INT F; F = (G + H) – ( I + J); RETURN F }

LINGUAGEM C X LINGUAGEM ASSEMBLY ARQUITETURA DE COMPUTADORES LINGUAGEM C X LINGUAGEM ASSEMBLY CHAMADA DA FUNÇÃO C A FUNÇÃO NÃO RECURSIVA EXEMPLO (G, H, I,J) CALL EXEMPLO

INSTRUÇÕES DE MANIPULAÇÃO DE PILHA ARQUITETURA DE COMPUTADORES INSTRUÇÕES DE MANIPULAÇÃO DE PILHA USO : PRESERVAR O CONTEUDO DE REGISTRADORES DO PROGRAMA CHAMADOR QUE TAMBEM SÃO UTILIZADOS PELA ROTINA CHAMADA ARMAZENAR NA PILHA PUSH REG (16 bits) RETIRAR DA PILHA POP REG (16 bits) OBS: POP´s NA ORDEM INVERSA DOS PUSH´s

PASSAGEM DE PARAMETROS PELA PILHA ARQUITETURA DE COMPUTADORES PASSAGEM DE PARAMETROS PELA PILHA QUANDO O NUMERO DE PARAMETROS É MAIOR DO QUE O NUMERO DE REGISTRADORES DA CPU, O PROGRAMA CHAMADOR COLOCA OS PARAMETROS NA PILHA E ARMAZENA NO REGISTRADOR BP( BASE POINTER) DA CPU O ENDEREÇO DA PILHA RELATIVO AO 1O PARAMETRO PILHA (STACK) LIFO(LAST IN FIRST OUT) SP END. RET PROGR. BP END. 1O PARAMETRO.

BP NA CPU (8088 – SIMPLIFICADA) ARQUITETURA DE COMPUTADORES BP NA CPU (8088 – SIMPLIFICADA) B. 1 X16 + R.END B.END 20 16 CS DS ES SS RASC1 T3 16 B. 2 8 B.DADOS IP SP SI DI RASC2 BP UNID. DE INTERF. = , +1, -1 AX BX CX DX T1 T2 IR 8 REG´s ALU B. 3 FC 8 B. 4 20 BITS R.DADOS 16 BITS RD 8 BITS UNID. DE CONTROLE WR 1 BIT

LINGUAGEM C X LINGUAGEM ASSEMBLY ARQUITETURA DE COMPUTADORES LINGUAGEM C X LINGUAGEM ASSEMBLY CONDIÇÃO INICIAL AH AL TEMP1 BH BL CH TEMP CL N DH J DL FACT SP X C A FUNÇÃO RECURSIVA: FATORIAL DESVIO: SUB CL,1 CALL FACT ADD CL,1 MOV AL,CL MUL DL MOV DL,AL POP AX POP CX RET FACT: PUSH CX PUSH AX MOV CH,1 CMP CL,CH JP NC DESVIO MOV DL,1 POP AX POP CX RET INT FACT (INT N) { IF ( N< 1) RETURN (1) ELSE RETURN (N X FACT(N-1); }

LINGUAGEM C X LINGUAGEM ASSEMBLY ARQUITETURA DE COMPUTADORES LINGUAGEM C X LINGUAGEM ASSEMBLY OBS: N 1 CMP CL,CH ; N <1  FC =1 MUL DL ; AX  AL x DL

CL =3 DL = FACT SP =X EXERCICIO 11 ARQUITETURA DE COMPUTADORES PREENCHA OS QUADROS ABAIXO A MEDIDA QUE A ROTINA FACT ESTIVER SENDO EXECUTADA PARA N=3, DESDE A SUA CHAMADA. OBS: FACT(0)= 1, FACT(1) = 1x FACT(0) = 1, FACT(2) = 2x FACT(1) = 2, FACT(3) = 3x FACT(2) = 6 CL =3 DL = FACT SP =X

EXERCICIO 11 CONTINUAÇÃO ARQUITETURA DE COMPUTADORES EXERCICIO 11 CONTINUAÇÃO CALL FACT CL = 3 SP = X PUSH CX LIFO X-24 PUSH AX X-22 MOV CH,1 CH = 1 X-20 X-18 X-16 CMP CL,CH FC = X-14 X-12 JNC DESVIO X-10 SUB CL,1 CL = X-8 X-6 X-4 X-2 X

EXERCICIO 11 CONTINUAÇÃO ARQUITETURA DE COMPUTADORES EXERCICIO 11 CONTINUAÇÃO CALL FACT CL = SP = PUSH CX PUSH AX LIFO MOV CH,1 CH = 1 X-24 X-22 X-20 CMP CL,CH FC = X-18 X-16 X-14 JNC DESVIO X-12 SUB CL,1 CL = X-10 X-8 X-6 X-4 X-2 X

EXERCICIO 11 CONTINUAÇÃO ARQUITETURA DE COMPUTADORES EXERCICIO 11 CONTINUAÇÃO CALL FACT CL = SP = PUSH CX PUSH AX LIFO MOV CH,1 CH = 1 X-24 X-22 X-20 CMP CL,CH FC = X-18 X-16 X-14 JNC DESVIO X-12 SUB CL,1 CL = X-10 X-8 X-6 X-4 X-2 X

EXERCICIO 11 CONTINUAÇÃO ARQUITETURA DE COMPUTADORES EXERCICIO 11 CONTINUAÇÃO CALL FACT CL = SP = PUSH CX PUSH AX LIFO MOV CH,1 CH= 1 X-24 X-22 X-20 CMP CL,CH FC = X-18 X-16 X-14 JNC DESVIO X-12 MOV DL,1 DL = 1 X-10 X-8 X-6 POP AX X-4 POP CX X-2 RET X

EXERCICIO 11 CONTINUAÇÃO ARQUITETURA DE COMPUTADORES EXERCICIO 11 CONTINUAÇÃO ADD CL,1 CL = SP = MOV AL,CL AL = LIFO X-24 MUL DL AL = X-22 X-20 MOVDL,AL DL = X-18 X-16 X-14 POP AX X-12 POP CX CL = X-10 X-8 X-6 RET X-4 X-2 X

EXERCICIO 11 CONTINUAÇÃO ARQUITETURA DE COMPUTADORES EXERCICIO 11 CONTINUAÇÃO ADD CL,1 CL = SP = MOV AL,CL AL = LIFO X-24 MUL DL AL = X-22 X-20 MOVDL,AL DL = X-18 X-16 X-14 POP AX X-12 POP CX CL = X-10 X-8 X-6 RET X-4 X-2 X

EXERCICIO 11 CONTINUAÇÃO ARQUITETURA DE COMPUTADORES EXERCICIO 11 CONTINUAÇÃO ADD CL,1 CL = SP = MOV AL,CL AL = LIFO X-24 MUL DL AL = X-22 X-20 MOVDL,AL DL = X-18 X-16 X-14 POP AX X-12 POP CX CL = X-10 X-8 X-6 RET X-4 X-2 X