Instruções do Microcontrolador HC908Q

Tamanho: px
Começar a partir da página:

Download "Instruções do Microcontrolador HC908Q"

Transcrição

1 Instruções do Microcontrolador HC908Q As instruções inerentes ao microcontrolador possuem algumas classificações, listadas abaixo: Instruções de movimentação de dados para efetuar a carga, movimentação e manipulação de dados; Instruções de manipulação de bits para setar/apagar bits na memória ou no registrador CCR (code condition register); Instruções aritméticas e lógicas para realizar operações matemáticas ou lógicas; Instruções de teste condicional e desvio para realizar testes e desvios no fluxo do programa; Instruções de controle do processador para o controle interno do processador. A seguir, os comandos usados em cada classificação: Instruções de movimentação de dados LDA Carrega um valor imediato ou da memória no acumulador (A). LDA #5 ;Carrega A com o valor 5 LDA 128 ;Supondo que o conteúdo da posição 128 da memória é igual á $10, tal comando carrega no Acumulador esse conteúdo, fazendo com que A=$10. STA Copia o conteúdo do acumulador (A) para a memória. Considerando A=$50: STA $80 ;Armazena o valor de A na posição $80 da memória STA,X ;Armazena o conteúdo do Acumulador na posição de memória indicada por X:H.

2 LDX Carrega um valor imediato ou da memória no registrador X. LDX #5 ;Carrega X com o valor 5 decimal LDX 128 ;Supondo que o conteúdo da posição 128 da memória é $81, esse comando carrega tal conteúdo ($81) em X. STX Armazena o conteúdo do registrador X numa posição especificada de memória. STX $80 ;Considerando o valor de X igual a 40 ($40), tal comando armazena na posição $80 da memória o valor de X, 40. LDHX Carrega um valor imediato ou da memória no par de registradores H:X. LDHX #$1234 ;Carrega H:X com $1234 (H=$12 e X=$34) LDHX 128 ;Supondo que o conteúdo da posição de memória 128 é igual a $F0 e 129 igual a $00, tal comando carrega H com o conteúdo da posição 128 da memória e X com o conteúdo da posição 129. (H=$F0 e X=$00). STHX Copia o conteúdo de 16 bits de H:X para a posição de memória (Sendo X armazenado no endereço seguinte). STHX $80 ;Supondo que H:X valha $1234, tal comando armazena o valor de H (no caso, $12) na posição 80 da memória e o valor de X ($34) na posição seguinte, 81.

3 MOV Copia uma constante imediata para uma posição de memória ou um valor entre um aposição de memória e outra. MOV $80,$81 ;Se o conteúdo da posição de memória $80 é igual a $10, esse comando copia tal valor na posição $81 de memória (assim, ($81)=$10). MOV,X+,$80 ;Supondo que H:X aponta para o endereço $90 e esse endereço armazena o valor 0, tal comando copia o conteúdo do endereço $90 para o endereço $80, fazendo com que $80 seja igual a 0. Após essa operação H:X será incrementado (H:X = $91 (armazenará o endereço 91). CLR TAP Apaga o conteúdo de um registrador ou posição de memória especificada. CLRA ;Apaga o conteúdo do acumulador (A=0) CLRX ;Apaga o conteúdo de X (X=0) CLRH ;Apaga o conteúdo de H (H=0) CLR $80 ;Apaga o conteúdo da posição $80 da memória Copia o conteúdo do Acumulador para o CCR (registrador de estado do processador). LDA #$FA TAP ;Carrega o acumulador com o valor $FA ;Copia o conteúdo de A para o registrador CCR TPA Copia o conteúdo do CCR para o acumulador TPA ;Copia o conteúdo do CCR para A

4 TAX O conteúdo do Acumulador é copiado para o registrador X. LDA #5 TAX ;Carrega o acumulador com o valor 5 decimal ;Copia o valor e A para X (A=5) TXA O conteúdo do registrador X é copiado para o Acumulador. TXA acumulador (A). ;Supondo que X valha $10, esse comando copia o valor de X para o TSX O conteúdo do apontador de pilha (SP) mais 1 é copiado para o registrador de índice (H:X). TSX ;Supondo que SP=$F0, esse comando copia o conteúdo do SP mais 1, para H:X, fazendo com que H:X = $F1 TXS O conteúdo do registrador de índice (H:X) menos 1 é copiado para o apontador de pilha (SP). TXS ;supondo que H:X = $F1, tal comando copia o conteúdo de H:X menos 1 para o SP, fazendo com que SP=$F0 RSP Reseta o conteúdo do SP (apontador de pilha), restaurando sua condição-padrão ($00FF). RSP (SP=$00FF) ;Supondo que SP =$F0, esse comando reinicia o apontador de pilha

5 PSHA (Pop A) Armazena o Acumulador na Pilha, e logicamente o apontador da pilha é decrementado em 1. PSHA ;Supondo que o Acumulador seja $AB e que o apontador aponte para $FF (SP=$FF), esse endereço, $FF, conterá o valor do Acumulador, $AB, e SP valerá $FE, pois foi decrementado. PULA (PUSH AND LOAD A) O acumulador é carregado com o conteúdo do endereço apontado pelo apontador de pilha, SP. Este é incrementado em 1 para apontar para o próximo endereço. PULA ;Supondo que SP=$FE e que ($FF)=$1F. O apontador SP é incrementado, valendo $FF e o valor do endereço $FF será imbutido no Acumulador PSHH (POP H) em 1. O conteúdo do registrador H é armazenado no topo da pilha e o SP é decrementado PSHH ;Supondo que H=$10 e que SP=$FF. Assim, nesse comando o conteúdo do endereço $FF passa a valer $10, e o SP decrementa e contém $FE PULH (PUSH AND Load H) O indicador do topo da pilha é incrementado e o ultimo valor empilhado é retirado da pilha e armazenado em H. PULH ;Supondo que SP=$F0 e ($F1)=$05. Tal comando faz SP conter $F1 e faz o registrador H conter $05

6 PSHX (POP X) O conteúdo do registrador X é armazenado no topo da pilha e o apontador da pilha é decrementado em 1. PSHX ;Supondo que X=$15 e que SP=$F5. Após a execução da instrução, SP irá conter $F4 e o conteúdo do endereço $F5 conterá o valor do registrado X, no caso, $15. PULX (PUSH AND LOAD X) O indicador do topo da pilha (SP) é incrementado e o ultimo valor empilhado é retirado da pilha e armazenado em X. PULX ;Supondo que SP=$F4 e $F5=$1A. Esse comando incrementa o SP, valendo agora $F5 e coloca o valor dessa posição de memória em X.

7 Instruções de Manipulação de Bits BSET (BIT SET) Seta o bit n(de 0 a 7) de uma posição da memória. CLR $80 ;Limpa o conteúdo da posição $80 da memória BSET 0,$80 ;Seta o bit 0 da posição $80 da memória BSET 1,$80 ;Seta o bit 1 da posição $80 da memória BSET 7,$80 ;Seta o bit 7 da posição $80 da memória. Ao total, nesse ponto o valor contido nessa posição de memória de zero será $83 ou B (Binário) BCLR (BIT CLEAR) Apaga o bit n (de 0 a 7) de uma posição de memória. MOV #$FF, $80 ;Primeiro copiamos o valor $FF ( B) para a posição $80 da memória BCLR 3,$80 ;Apaga o bit 3 da posição $80 da memória BCLR 2,$80 ;Apaga o bit 2 da posição $80 d amemória BCLR 7,$80 ;Apaga o bit 7 da posição $80 da memória. Nesse ponto, o seu conteúdo valerá $73 ( B)

8 Instruções Aritméticas e Lógicas ADC (ADD WITH CARRY) Efetua adição com o Acumulador mais o operando de algum endereço de memória mais o conteúdo de Carry. O Carry, ou C, está presente no registrador de código de condição (CCR). Nesse caso, C será 1 se a soma ultrapassou 8 bits. (Realiza soma para valores maiores que 8 bits). MOV #10, $90 ;Copia o valor 10 decimal para o endereço $90 LDA #10 ;Copia o valor 10 decimal para o acumulador SEC ;SET C seta o bit de carry no CCR ADC $90 ;soma tudo, A + ($90) + C -> $10 + $10 +1, que será $21. como a soma não deu overflow, o bit C do CCR será zero de novo... ADC #$FF ;soma, A + $FF + C -> $21 + $FF + 0, que será 276 ( B). A soma ultrapassou 8 bits, então será armazenado apenas os 8 bits inferiores( B) em A e o nono bit irá para o C, valendo 1 no caso. ADD Soma o conteúdo do Acumulador com o do operando da memória. O resultado da soma é armazenado em A. MOV #10, $90 ;Copia o valor 10 decimal para o endereço $90 LDA #10 ;Copia o valor 10 decimal para o acumulador SEC ;SET C seta o bit de carry no CCR ADD $90 ;Soma tudo, A + ($90) -> $10 + $10, que será $20. como a soma não deu overflow, o bit C do CCR será zero de novo... ADD #$FF ;Soma, A + $FF + -> $20 + $FF +, que será 275 ( B). A soma ultrapassou 8 bits, então será armazenado apenas os 8 bits inferiores( B) em A e o nono bit irá para o C, valendo 1 no caso. AIS O operando sinalizado imediato é adicionado ao conteúdo do apontador de pilha (SP). LDHX #$1234 ;Carrega H:X com o valor $1234 TXS ;Copia o conteúdo de H:X -1 para SP (SP=$1233) AIS #$10 ;Adiciona 10 ao conteúdo de H:X (H:X=$1243)

9 AIX O operando sinalizado imediato é adicionado ao conteúdo do registrador de índice (H:X). LDHX #$1234 ;Carrega H:X com o valor $1234 AIX #$10 ;Adiciona 10 ao conteúdo de H:X (H:X=$1234) SBC (SUBTRACT WITH CARRY) Efetua subtração com o Acumulador mais o operando de algum endereço de memória mais o conteúdo de Carry. O Carry, ou C, está presente no registrador de código de condição (CCR). Nesse caso, C será 1 se o resultado da subtração ultrapassou 8 bits. (Valor da memória mais C eram maiores que o conteúdo do acumulador). MOV #40,$81 ;Copia o valor 20 decimal para o endereço $81 LDA #100 ;Copia o valor 100 decimal para o acumulador CLC ;CLEAR C, ou seja, apaga o flag C do CCR (C=0) SBC $81 ;Subtrai o Acumulador com o conteúdo da posição $81 e o flag C (A=A-($81)-C = =60 SEC ;Seta o flag C (C=1) SBC #59 ;Subtrai 59 e o C do conteúdo de A (A= =0) SBC #1 ;Subtrai 1 e C do conteúdo de A (A=0-1-0=$FF). Nesse caso, o bit C foi setado pois o resultado é um número negativo SUB Subtrai o conteúdo do acumulador do operando. O resultado é armazenado no acumulador (A) MOV #40,$81 ;Copia o valor 20 decimal para o endereço $81 LDA #100 ;Copia o valor 100 decimal para o acumulador CLC ;Apaga o flag C (C=0) SUB $81 ;Subtrai o conteúdo da posição $81 do conteúdo do acumulador (A=A-($81) = =60 SUB #70 ;Subtrai 60 do conteúdo de A (A=60-70=-10=$F6). Comoo resultado deu negativo, o valor binário de C foi setado (C=1)

10 MUL Multiplicação do conteúdo de X pelo conteúdo de A, armazenando o resultado de até 16 bits de forma concatenada nos registradores X (parte alta do resultado) e A (parte baixa do resultado). LDX #$10 ;Carrega X com o valor $10 LDA #$8 ;Carrega A com o valor $8 MUL ;Multiplica A*X = $8 * $10 = $80 (A=$8, X=0) LDX #$10 ;Carrega X com o valor $10 MUL ;Multiplica A * X = $80 * $10 = $800 (A=0, X=$8) DIV Efetua a operação H:A / X, ou seja, divide o conteúdo de 16 bits formado pela concatenação de H(parte alta do valor) e A(parte baixa) pelo conteúdo de X. O quociente da divisão é armazenado em A e o resto é armazenado em H. Caso o quociente seja maior que 255 ($FF) ou X seja igual a zero (divisão por zero), o flag C será setado, indicando o erro. Nesse caso, o resultado em A e H é indeterminado. LDA #$03 ;Carrega A com $03 PSHA ;Guarda A na pilha LDA #$E8 ;Carrega A com $E8 PULH ;Carrega H da pilha (H=$03), H:A = $03EB (1000 decimal) LDX #$14 ;Carrega X com $14 (20 decimal) DIV ;Divide H:A por X ($03EB / $14 = $32, ou seja, 1000 / 20 = 50. O valor $32 é armazenado em A e o resto é armazenado em H (H=0) INC Incrementa ao conteúdo de um registrador ou posição de memória. LDA #100 ;Copia o valor 100 decimal para o Acumulador INCA ;Incrementa A STA $80 ;Copia o conteúdo de A,101, para o endereço $80 da memória INC $80 ;Incrementa o valor aramzenado na posição $80 da memória, que passa ser 102

11 DEC Decrementa (subtrai 1) do conteúdo de um registrador ou posição de memória. LDA #100 ;Copia o valor 100 decimal para o acumulador DECA ;Decrementa A (A=99 decimal) STA $80 ;Copia o conteúdo de A para o endereço $80 da memória DEC $80 ;Decrementa o conteúdo do endereço $80 de memória DAA Após uma operação, tal comando ajusta o resultado no formato BCD (Binary Code Decimal) MOV #$39,$81 ;Copia o valor 39 hexadecimal para o endereço $81 da memória LDA #3 ;Carrega o valor 3 no Acumulador ADD $81 ;Adiciona o acumulador ao valor contido no endereço $81 da memória (A = $3 + $30 = $3C) DAA ;Ajusta o valor do acumulador (A = 42) MOV #$60,$80 ;Copia o valor hexadecimal 60 para o endereço $80 da memória ADD $80 ;Adiciona o acumulador ao conteúdo do endereço $80 de memória. Assimo acumulador contém o valor $102. DAA ;Ajusta o acumulador (A=$02) e C=1, indicando o estouro da capacidade de representação BCD do Acumulador AND Realiza a operação AND, bit a bit, do conteúdo do acumulador e um valor contido em alguma posição específica de memória. MOV #$67, $80 ;Copia o valor 67 hexadecimal para a posição $80 de memória LDA #$F0 ;Carrega A com $F0 AND $80 ;Efetua a operação AND entre o conteúdo do acumulador e o conteúdo da posição $80 de memória (A= $FO & $67 = $60) AND #$85 ;Efetua a operação AND entre o conteúdo do acumulador e aconstante imediata $85 (A = $60 & $85 = $00)

12 ORA Efetua OU lógico, bit a bit, do conteúdo do acumulador com alguma posição específica de memória MOV #$67, $80 ;Copia o valor hexadecimal $67 para a posição $80 d ememória LDA #$10 ;Carrega A com $10 ORA $80 ;Efetua OU lógico entre o Acumulador e o valor da posição $80 de memória(a = $10 + $67 = $77) ORA #$85 ;Efetua o OU lógico entre o Acumulador e a constante imediata $85, ou seja, o resultado será $F7 EOR Efetua a operação OU EXCLUSIVO bit a bit do conteúdo do acumulador ao conteúdo de algum endereço de memória especificado. EXEMPLOS MOV #$67, $80 ;Copia o valor 67 hexadecimal para o endereço $80 da memória LDA #$12 ;Carrega A com 12 EOR $80 ;Efetua o OR EXCLUSIVO entre o conteúdo do Acumulador e o endereço $80. (A=$12 XOU $67 = $75) EOR #$75 ;Efetua a operação XOR entre o conteúdo do acumulador e a constante imediata $85 (A=$75 XOU $75 = $00) COM Faz o complemento de um em algum oerando especificado (A, X ou memória) e armazenado também. MOV #$67, $80 ;Copia o valor 67 hexa na posição $80 da mem LDA #$F1 ;Carrega A Com $F1 COM $80 ;Complementa o conteúdo da posição 80 de mem (era $67, passa a ser $98) COMA ;Complementa o conteúdo do acumulador (seu conteúdo, que era $F1, passa a ser $0E

13 NEG Faz a negação do operando especificado (A, X ou memória) e armazenado também. Ela equivale a operação complemento de dois, que é o complemento de um seguido de um incremento. MOV #$67, $80 ;Copia o valor 67 hexa na posição $80 da mem LDA #$F1 ;Carrega A Com $F1 NEG $80 ;Nega o conteúdo da posição $80 de memória (de $67 passa a ser $99) NEGA ;Nega o conteúdo do Acumulador (o seu conteúdo, que era $F1, passa a ser $0F) NSA (NIBBLE AND STORE A) Faz a troca dos Nibbles (grupo de 4 dígitos) do acuulador e armazena o resultado no próprio Acumulador. LDA #$F1 ;Carrega A com $F1 NSA ;Troca os nibbles do acumulador, ou seja, após a operação, passa conter $1F ASL (ARITMETIC SHIFT LEFT) Efetua o deslocamento aritmético em uma unidade à esquerda do operando (A, X ou memória). O bit mais significativo vai pro Carry - C e o bit menos significativo é preenchido com zero. MOV #$13,$80 ;Copia o valor 13 hexa para o endereço $80 ASL $80 ;Desloca o conteúdo de $80 uma posição à esquerda e seu conteúdo passa valer $26. O deslocamento de um bit à esquerda equivale a multilicar por dois. Por exemplo, 01B vale 1 decimal. Deslocando à esquerda temos 010, que é 2, e deslocando mais uma vez teremos 0100, o valor 4. ASLA desloca A à esquerda. LSL (LOGICAL SHIFT LEFT) O mesmo que ASL.

14 ROL (ROTATE LEFT) Faz a rotação do conteúdo do operando (A, X ou a memória), ou seja, os bits do operando são deslocados uma posição à esquerda, sendo o bit mais significativo deslocado para o carry C e o conteúdo de C anterior é armazenado no bit menos significativo. MOV #$34,$80 ;Copia o valor 34 hexadecimal para o endereço $80 da memória SEC ;Seta o carry ROL $80 ;Rotaciona o valor contido em $ ($34) (Carry) (Carry) ASR (ARITMETIC SHIFT RIGTH) Efetua o deslocamento aritmético em uma unidade à direita do operando (A, X ou memória). O bit mais significativo (o da extrema esquerda) permanece inalterado e o bit menos significativo é deslocado pro Carry -C-. MOV #$FA, $80 ;copia o valor hexadecimal FA para a posição de memória $80 ASR $80 ;Desloca o conteúdo do endereço $80 da memória uma posição à direita. O 1 à extrema esquerda permanece inalterado e o zero à extrema direita vai pro Carry do registrador CCR ($FA) ($FD) LSR (LEFT SHIFT RIGTH) O mesmo esquema com o ASR, porem ao invéz de copiar o bit à extrema esquerda, ele é preenchido com zero. MOV #$FA, $80 ;copia o valor hexadecimal FA para a posição de memória $80 ASR $80 ;Desloca o conteúdo do endereço $80 da memória uma posição à direita. O 1 à extrema esquerda é preenchido com zero e o zero à extrema direita vai pro Carry do registrador CCR ($FA) ($FD)

15 ROR (ROTATE RIGTH) Faz a rotação do conteúdo do operando (A, X ou a memória), ou seja, os bits do operando são deslocados uma posição à direita, sendo o bit menos significativo deslocado para o carry C e o conteúdo de C anterior é armazenado no bit mais significativo. MOV #$65,$80 memória CLC ;Copia o valor 67 hexadecimal para o endereço $80 de ;Apaga o flag C (C=0) ROR $80 ;Rotaciona o conteúdo do endereço $ ($65) (aqui entra o zero do C) pro C (valor=$32)

16 Instruções de teste e desvio CMP (COMPARE) Compara o conteúdo do acumulador com o conteúdo da posição de memória ou do operando imediato especificado. Tal comparação é feita subtraindo o conteúdo da memória do conteúdo do acumulador. MOV #$39, $80 ;Copia o valor 39 hexadecimal para o endereço $81 LDA #$38 ;Carrega o valor $38 para o Acumulador CMP $80 ;Compara o acumulador com a posição $80 de memória. C=1, indicando que o conteúdo da memória é maior que o conteúdo do Acumulador. MOV #$10,$80 ;Copia o valor hexa 10 para o endereço $80 CMP $80 ;Compara o valor contido nesse endereço com o acumulador. C=0, indicando que o conteúdo da memória é menor que o conteúdo do acumulador. O flag Z, presente no registrador CCR, será zero (Z=0) pois o resultado não foi igual a zero (38 do acumulador 10 da posição de memoria > 0). Nos outros caso acima também. MOV #$38,$80 ;Copia o valor hexa 38 para a posição $80 de memória CMP $80 ;Compara o valor contido nesse endereço com o acumulador. O flag Z, presente no registrador CCR, será setado (Z=1) pois o resultado foi igual a zero (38 do acumulador 38 da posição de memoria = 0) realizado na comparação. CPX (COMPARE X) Compara o conteúdo do registrador de índice X com o conteúdo da posição de memória ou do operando imediato especificado. A comparação é feita subtraindo o conteúdo da posição de memória especificado com o conteúdo armazenado em X. Z será setado se tal subtração for igual a 0 e C será setado se se o resultado for menor que zero (Valor da memória maior que o conteúdo do registrador X). MOV #$5A, $80 ;Copia o valor 5A hexadecimal para o endereço $81 LDX #$80 ;Carrega o valor $80 para o X CMP $80 ;Compara o X com a posição $80 de memória. Como X é maior que o conteúdo de memória, V=1 e C=0

17 CPHX (COMPARE HX) Compara o conteúdo do par de registradores H:X com o conteúdo de 16 bits da memória ou do operando imediato. Como envolve uma comparação de 16 bits, usa-se o endereço especificado (MSB MOST SIGNIFICANT BIT) e o endereço seguinte (LSB LESS SIGNIFICANT BIT).Os bits C e Z se comportam de maneira similar ao CPX MOV #$12,$80 ;Copia o valor hexa 12 para a posição $80 de memória MOV #$35,$81 ;Copia o valor hexa 35 para a posição seguinte de memória, $81 LDHX #$1234 ;Carrega em HX o valor $1234 CPHX $80 ;Compara H:X com o conteúdo do endereço $80 e $81.C NÃO será setado pois o resultado da subtração não é menor que zero ($ $1234 >0) CBEQ (COMPARE AND BRANCH IF EQUAL) Compara o conteúdo do acumulador (A) ou registrador de índice (X) com o conteúdo de uma posição específica de memória e desvia se forem iguais. É uma instrução que é considerada a união de outras duas, a CMP e BEQ(desvia se igual), e tem o bebefício de não alterar os flags e ser mais rapida que as outas duas. Existem variantes, com mnemonicos diferentes: CBEQA (para o Acumulador) e CBQEX (para o X). Nesse exmplo tem-se uma rotina que procura um caractere (no caso o espaço) em uma string de memória. LDA #$20 ;Carrega o valor $20 um codigo de um caractere a ser procurado LDHX #$0080 ;Carrega o endereço inicial da string em H:X DENOVO CBEQ X+,DENOVO ;Compara o conteúdo do acumulador com o conteúdo da posição de memória apontada por H:X AIX #-1 ;Subtrai 1 de H:X BRA (BRANCH) Efetua o desvio do fluxo do programa. O operando da instrução é um endereço relativo de 8 bits em complemento de dois, permitindo o desvio para até 127 posições adiante e 128 posições para trás. Ao todo são 24 instruções diferentes para o desvio do programa BRA desvio incondicional BRN não desvia (equivale a um NOP d etrês ciclos) BEQ desvia se igual (ou seja, Z=1)

18 BNE desvia se diferente (se Z=0) BPL desvia se positivo (se N=0) BMI desvia se negativo (se N=1) BCC desvia se o carry igual a zero (C=0) BCS desvia se o carry igual a um (C=1) BHCC desvia se o carry de dígito igual a zero (H=0) BHCS desvia se o carry de dígito igual a um (H=1) BMC desvia se as interrupções estiverem habilitadas (se I=0) BMS desvia se as interrupções estiverem desabilitadas (se I=1) BRCLR desvia se o bit n da memória estiver apagado (nivel 0) BRSET desvia se o bit n d amemória estiver apagado (nivel 1) Após operações (CMP, CPHX, CPX, SBC, ou SUB)envolvendo operandos sem sinal: BHI desvia se maior (se C e Z=0) BHS desvia se maior ou igual (se C=0) BLS desvia se menor ou igual (se C ou Z=1) BLO desvia se menor (se C=1) Após operações (CMP, CPHX, CPX, SBC ou SUB) envolvendo operandos no formato complemento de dois: BGT desvia se maior(se Z=1 ou N=V) BGE desvia se maior ou igual (se N=V) BLE desvia se menor ou igual (se Z=1 ou N=V) BLT desvia se menor (se N!=V)(N não igual a V) MOV #$14, $80 ;Carrega o valor $14 ( B) no endereço $80 BRSET 2,$80,Teste ;Testa se o bit 2 do valor da posição de memória $80 está em nível 1. Como é o caso, desvia para o fluxo Teste. BRA FIM ;Desvia o programa para a etiqueta FIM BIL Testa o pino IRQ e desvia para o endereço relativo caso esteja em nível 0 BIL IRQ_ZERO ;Teste o pino IRQ e se estiver em 0 desvia para IRQ_ZERO BIH Testa o pino IRQ e desvia para o endereço relativo caso esteja em nível 1 BIH IRQ_UM ; Teste o pino IRQ e se estiver em 1 desvia para IRQ_UM

19 TST Testa o conteúdo do registrador A,X ou da memória, modificando os bits Z e N no CCR, de acordo. TSTA ;Caso o conteúdo do acumulador seja 0, tal comando testa esse valor e como ele é zero, o bit Z é setado e o N é apagado, pois A=0 TST $90 ; Caso o conteúdo da posição d ememória $90 seja 129, tal comando testa esse valor e como ele maior que 8 bits, o bit Z é apagado e o N é setado, pois o bit 7 do valor esta em nivel lógico 1. DBNZ Decrementa o conteúdo do operando (A, Xou a memória) e desvia para o endereço relativo caso o resultado seja diferente de zero. DBNZA PONTO_A ;Decremnta o acumulador (A) e desvia para o endereço PONTO_A caso A difira de zero DBNZX REPETE ;Decrementa X e desvia para REPETE caso X seja diferente de zero DBNZ $80,REP ;Decremneta o conteúdo do endereço $80 e desvia para REP caso o conteúdo do mesmo seja diferente de zero DBNZ 5,X,LOOP ;Decrementa o conteúdo do endereço especificado pela soma de H:X mais 5. Caso o resultado seja diferente de zero, desvia para LOOP BSR Faz o desvio do fluxo do programa. O operando da instrução é um endereço relativo de 8 bits em complemento de dois, permitindo io desvio para até 127 posições adiante e 128 posições para trás. O conteúdo do PC mais 2 é salvo na pilha em duas partes: primeiro é empilhada a parte baixa (8 bits menos significativos) depois a parte alta (8 bits mais significativos). Em seguida, o endereço da subrotina é carregado no PC, fazendo com que o programa desvie. BSR MULT16 ;Desvia para a subrotina chamada MULT16

20 JMP (JUMP) Desvio absoluto da rotina 10 JMP $80 ;Desvia para o endereço $0080 da memória JMP $1000 ;Desvia para o endereço $1000 da memória JMP INICIO;Desvia para o endereço DESVIO da memória JMP 10,X ;Desvia para o endereço obtido oela soma do conteúdo de H:X mais JSR Retorno de uma subrotina JSR $20 ;Desvia para a subrotina no endereço $20 JSR CALCULA ;Desvia para a subrotina CALCULA JSR 1000,X ;Desvia para a subrotina no endereço especificado pelo conteúdo de H:X RTS Retorno de interrupção. RTS ;Retorna da rubrotina atual RTI Provoca o retorno do fluxo do programa ao ponto seguinte ao de onde ocorreu a interrupção. RTI ;Retorno de interrupção

21 Instruções de controle do Processador SEC (SET C) Seta o flag de transporte, ou carry, fazendo com que C=1. SEC ;Seta C (C=1) CLC (CLEAR C) Apaga o flag de transporte, ou carry, fazendo com que C=0. CLC ;Apaga C (C=0) SEI (SET INTERRUPTION) Seta o bit de interrupção (flag I do CCR registrador de codigo de condição) fazendo com que as interrupções sejam desabilitadas. SEI ;Seta o bit I do CCR CLI (CLEAR INTERRUPTION) Limpa o bit de interrupção (flag I do CCR registrador de codigo de condição) fazendo com que as interrupções sejam habilitadas. CLI ;Limpa o bit I do CCR NOP (NO OPERATION) Interrupção por software, nenhuma instrução é executada. Apenas o PC é incrementado de forma a apontar a próxima instrução a ser executada. NOP ;Gasta 4 ciclos de clock principal

22 SWI Parada completa do processador, ocorrndo um interrupção na execução do programa. Possui a mais alta prioridade dentre as interrupções. SWI ;Provoca uma interrupção STOP Parada do processador, desligando o clock da CPU, reduzindo o consumo de energia. STOP ;Coloca a CPU em modo de parada WAIT Coloca a CPU em modo de espera (WAIT) no qual o clock da CPU é paralizado, mas os periféricos continuam ativos (caso estejam habilitados) e sõa capazes de gerar interrupções. WAIT ;Coloca a CPU no modo de espera

Cesar - características CESAR. Registradores. Modos de endereçamento. Endereçamento de memória. Modo Registrador. (As bases da civilização atual)

Cesar - características CESAR. Registradores. Modos de endereçamento. Endereçamento de memória. Modo Registrador. (As bases da civilização atual) Cesar - características CESAR (As bases da civilização atual) Largura de dados e s de 16 bits Dados representados em complemento de dois 8 de uso geral de 16 bits (R-R) 1 registrador de estado com 4 códigos

Leia mais

Neander - características

Neander - características NEANDER x RAMSES (Ou porque da necessidade de upgrade :-) Texto original: ftp://ftp.inf.ufrgs.br/pub/inf108/ramses-instrucoes.ppt Neander - características Largura de dados e endereços de 8 bits Dados

Leia mais

Ministério da Educação UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ. Aula 2. Cibele Lemos Freire Viginoski

Ministério da Educação UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ. Aula 2. Cibele Lemos Freire Viginoski Aula 2 Cibele Lemos Freire Viginoski Registradores R0-R7: disponíveis para todas as instruções R8-R15: disponíveis para algumas instruções R13: SP (Stack Pointer) Pilha obrigatoriamente LIFO decrescente

Leia mais

Microcontroladores HC08

Microcontroladores HC08 Microcontroladores HC08 Curso Básico Família MC68HC908QT/QY Edmur Canzian 2003 Principais Características CPU com freqüência padrão de barramento de até 8MHz 64 Kbytes de endereçáveis para memória de programa,

Leia mais

Aula 8. Engenharia de Sistemas Embarcados. Prof. Abel Guilhermino Tópico: Arquitetura ARM

Aula 8. Engenharia de Sistemas Embarcados. Prof. Abel Guilhermino Tópico: Arquitetura ARM Aula 8 Engenharia de Sistemas Embarcados Prof. Abel Guilhermino Tópico: Arquitetura ARM Repertório de Instruções O conjunto de instruções possui uma largura fixa de 32 bits É o conjunto padrão de instruções

Leia mais

7/4/2010. Aula 8. Engenharia de Sistemas Embarcados. Repertório de Instruções. Prof. Abel Guilhermino Tópico: Arquitetura ARM

7/4/2010. Aula 8. Engenharia de Sistemas Embarcados. Repertório de Instruções. Prof. Abel Guilhermino Tópico: Arquitetura ARM Repertório de Instruções Engenharia de Sistemas Embarcados Prof. Abel Guilhermino Tópico: Arquitetura ARM Aula 8 O conjunto de instruções possui uma largura fixa de 32 bits É o conjunto padrão de instruções

Leia mais

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES A UNIDADE LÓGICA ARITMÉTICA E AS INSTRUÇÕES EM LINGUAGEM DE MÁQUINA

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES A UNIDADE LÓGICA ARITMÉTICA E AS INSTRUÇÕES EM LINGUAGEM DE MÁQUINA ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES A UNIDADE LÓGICA ARITMÉTICA E AS INSTRUÇÕES EM LINGUAGEM DE MÁQUINA Prof. Dr. Daniel Caetano 2012-1 Objetivos Conhecer o processador Compreender os registradores

Leia mais

CONJUNTO DE INSTRUÇÕES DE UM PROCESSADOR (UCP)

CONJUNTO DE INSTRUÇÕES DE UM PROCESSADOR (UCP) CONJUNTO DE INSTRUÇÕES DE UM PROCESSADOR (UCP) 1 LINGUAGENS Constituída de seqüência de zeros (0) e uns (1) Cada instrução em ASSEMBLY constitui-se em um mnemônico (uma forma fácil de se lembra) de uma

Leia mais

CONJUNTO DE INSTRUÇÕES

CONJUNTO DE INSTRUÇÕES CONJUNTO DE INSTRUÇÕES Rn - Registrador R0 R7 do banco de registradores selecionado. direto - 8-bits de endereço da posição da RAM de dados Podem ser referentes tanto à RAM interna (0 7F) como ao espaço

Leia mais

Aula 4 Conjunto de Instruções do Microprocessador 8085 Grupo Aritmético

Aula 4 Conjunto de Instruções do Microprocessador 8085 Grupo Aritmético Microprocessadores I Aula 4 Conjunto de Instruções do Microprocessador 8085 Grupo Aritmético 4.1 - Grupos de Instruções As instruções no 8085 são distribuídas em 5 grupos: 1. Grupo de transferência da

Leia mais

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES A UNIDADE LÓGICA ARITMÉTICA E AS INSTRUÇÕES EM LINGUAGEM DE MÁQUINA

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES A UNIDADE LÓGICA ARITMÉTICA E AS INSTRUÇÕES EM LINGUAGEM DE MÁQUINA ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES A UNIDADE LÓGICA ARITMÉTICA E AS INSTRUÇÕES EM LINGUAGEM DE MÁQUINA Prof. Msc. Tiago Alves de Oliveira Objetivos Conhecer o processador Compreender os registradores

Leia mais

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES A UNIDADE LÓGICA ARITMÉTICA E AS INSTRUÇÕES EM LINGUAGEM DE MÁQUINA

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES A UNIDADE LÓGICA ARITMÉTICA E AS INSTRUÇÕES EM LINGUAGEM DE MÁQUINA ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES A UNIDADE LÓGICA ARITMÉTICA E AS INSTRUÇÕES EM LINGUAGEM DE MÁQUINA Prof. Dr. Daniel Caetano 2012-2 Objetivos Conhecer o processador Compreender os registradores

Leia mais

MÓDULO. Conjunto de Instruções do 8086/88 Aritméticas, lógicas, deslocamento e rotação M 02

MÓDULO. Conjunto de Instruções do 8086/88 Aritméticas, lógicas, deslocamento e rotação M 02 MÓDULO M 02 Conjunto de Instruções do 8086/88 Aritméticas, lógicas, deslocamento e rotação OBJETIVOS Compreender o significado dos bits de estado no registrador de flags do 8086/88; Conhecer as representações

Leia mais

Organização de Computadores

Organização de Computadores Organização de Computadores Aula 25 Conjunto de Instruções: Características e Funções Rodrigo Hausen 10 de novembro de 2011 http://cuco.pro.br/ach2034 1/92 Apresentação 1. Bases Teóricas 2. Organização

Leia mais

CONJUNTO DE INSTRUÇÕES

CONJUNTO DE INSTRUÇÕES CONJUNTO DE INSTRUÇÕES 1 CARACTERÍSTICAS DE INSTRUÇÕES DE MÁQUINA Quando um programador usa uma linguagem de alto-nível, como C, muito pouco da arquitetura da máquina é visível. O usuário que deseja programar

Leia mais

CONJUNTO DE INSTRUÇÕES DE UM PROCESSADOR (UCP)

CONJUNTO DE INSTRUÇÕES DE UM PROCESSADOR (UCP) CONJUNTO DE INSTRUÇÕES DE UM PROCESSADOR (UCP) 1 LINGUAGENS Conhecida pelo PROCESSADOR Conhecida pelo Usuário COMPILADOR LINGUAGEM DE ALTO NÍVEL LINGUAGEM ASSEMBLY 2 INSTRUÇÕES EM ASSEMBLY Para programar

Leia mais

José Augusto Fabri. Assembly Básico

José Augusto Fabri. Assembly Básico José Augusto Fabri Assembly Básico Aritmética em Modo Hexadecimal Operações da adição e subtração em hexadecimal (comando H) Número negativos: Que número representa o FFFF? Aritmética em Modo Hexadecimal

Leia mais

Universidade de São Paulo

Universidade de São Paulo Conjunto Instruções ARM Universidade de São Paulo Sistemas Embarcados Jorge Luiz e Silva ARM versões. ARM Linguagem Assembly. ARM modelo de programação. ARM organização de memória. ARM operação com dados.

Leia mais

Professor: Dr. Rogério Rodrigues de Vargas.

Professor: Dr. Rogério Rodrigues de Vargas. UNIVERSIDADE ESTADUAL DE SANTA CRUZ DEPARTAMENTO DE CIÊNCIAS EXATAS E TECNOLÓGICAS Bacharelado em Ciência da Computação Software Básico Linguagem de Programação Assembly: Uma introdução no Linux/i386 (AT&T)

Leia mais

Microprocessadores I ELE Aula 7 Conjunto de Instruções do Microprocessador 8085 Desvios

Microprocessadores I ELE Aula 7 Conjunto de Instruções do Microprocessador 8085 Desvios Microprocessadores I ELE 1078 Aula 7 Conjunto de Instruções do Microprocessador 8085 Desvios Grupos de Instruções do 8085 As instruções no 8085 são distribuídas em 5 grupos: 1. Grupo de transferência da

Leia mais

Introdução ao PIC. Guilherme Luiz Moritz 1. 6 de novembro de DAELT - Universidade Tecnológica Federal do Paraná

Introdução ao PIC. Guilherme Luiz Moritz 1. 6 de novembro de DAELT - Universidade Tecnológica Federal do Paraná Guilherme Luiz Moritz 1 1 DAELT - Universidade Tecnológica Federal do Paraná 6 de novembro de 2013 Características do PIC Arquitetura Harvard RISC, 35 instruções 8 a 84 pinos Mais de 180 modelos Vários

Leia mais

TRABALHO PROCESSADOR H8

TRABALHO PROCESSADOR H8 TRABALHO PROCESSADOR H8 abel ferreira 05132002 eberle rambo- 05132118 Monografia abel ferreira 05132002 eberle rambo - 05132118 Prefácio. A família do micro processador h8 inclui diversas versões. Nesse

Leia mais

Solução Lista de Exercícios Processadores

Solução Lista de Exercícios Processadores Solução Lista de Exercícios Processadores Questão 1 A ULA é o dispositivo da CPU que executa operações tais como : Adição Subtração Multiplicação Divisão Incremento Decremento Operação lógica AND Operação

Leia mais

PSI3441 Arquitetura de Sistemas Embarcados

PSI3441 Arquitetura de Sistemas Embarcados PSI3441 Arquitetura de Sistemas Embarcados - Instruções de Desvio Loop - Ponto Flutuante - Multiplicação e Divisão - Pseudo-Instruções - Processadores ARM Escola Politécnica da Universidade de São Paulo

Leia mais

ção de Computadores I

ção de Computadores I Universidade Federal de Pelotas Instituto de Física e Matemática Departamento de Informática Bacharelado em Ciência da Computação Arquitetura e Organizaçã ção de Computadores I Aula 2 1. Projeto da Arquitetura

Leia mais

Arquitetura de Computadores Conceitos Fundamentais. Graduação em Engenharia Elétrica - UFPR Prof. Carlos Marcelo Pedroso 2016

Arquitetura de Computadores Conceitos Fundamentais. Graduação em Engenharia Elétrica - UFPR Prof. Carlos Marcelo Pedroso 2016 Arquitetura de Computadores Conceitos Fundamentais Graduação em Engenharia Elétrica - UFPR Prof. Carlos Marcelo Pedroso 2016 Um Computador Muito Simples CPU UC ULA A B PC IR FLAGS SP CS DS SS... 0A 09

Leia mais

Guia Rápido MIPS. Tipos de Dados e Formatações

Guia Rápido MIPS. Tipos de Dados e Formatações Tipos de Dados e Formatações Guia Rápido MIPS Tipos de Dados: Todas as instruções são de 32 bits Byte = 8 bits Halfword = 2 bytes Word = 4 bytes Um caractere ocupa 1 byte na memória Um inteiro ocupa 1

Leia mais

Sistemas Microprocessados

Sistemas Microprocessados Sistemas Microprocessados satoutfpredubr http://pessoal.utfpr.edu.br/sato/ Assembly do ATmega8 satoutfpredubr Sobre o material Essas transparências foram baseadas no manual

Leia mais

Sistemas Processadores e Periféricos Aula 2 - Revisão

Sistemas Processadores e Periféricos Aula 2 - Revisão Sistemas Processadores e Periféricos Aula 2 - Revisão Prof. Frank Sill Torres DELT Escola de Engenharia UFMG Adaptado a partir dos Slides de Organização de Computadores 2006/02 do professor Leandro Galvão

Leia mais

2.5 - Instruções Lógicas do ULA

2.5 - Instruções Lógicas do ULA 2.5 - Instruções Lógicas do 8085 - ULA Todas as operações lógicas e aritméticas em qualquer microprocessador são realizadas em uma unidade dedicada denominada Unidade Lógica e Aritmética (ULA). Para auxiliar

Leia mais

Trabalhos Práticos Arquitetura de Computadores I Prof. Fabian Vargas

Trabalhos Práticos Arquitetura de Computadores I Prof. Fabian Vargas Trabalhos Práticos Arquitetura de Computadores I Prof. Fabian Vargas Material a ser utilizado: Kits de desenvolvimento de sistemas microprocessados para aplicações em DSP Texas DSK-TMS320C67xx. Apresentação

Leia mais

William Stallings Arquitetura e Organização de Computadores 8 a Edição

William Stallings Arquitetura e Organização de Computadores 8 a Edição William Stallings Arquitetura e Organização de Computadores 8 a Edição Capítulo 10 Conjuntos de instruções: Características e funções slide 1 O que é um conjunto de instruções? A coleção completa de instruções

Leia mais

Microprocessadores I ELE Conjunto de Instruções do Microprocessador 8085 Aula 9 - PILHA E SUBROTINAS -

Microprocessadores I ELE Conjunto de Instruções do Microprocessador 8085 Aula 9 - PILHA E SUBROTINAS - Microprocessadores I ELE 1078 Conjunto de Instruções do Microprocessador 8085 Aula 9 - PILHA E SUBROTINAS - 9.1 - Grupos de Instruções As instruções no 8085 são distribuídas em 5 grupos: 1. Grupo de transferência

Leia mais

Organização e Arquitetura de Computadores I

Organização e Arquitetura de Computadores I Organização e Arquitetura de Computadores I Conjunto de Instruções Slide 1 Sumário Características de Instruções de Máquina Tipos de Operandos Tipos de Operações Linguagem de Montagem Slide 2 Características

Leia mais

Prof. Gustavo Oliveira Cavalcanti https://sites.google.com/a/poli.br/professorgustavooc/

Prof. Gustavo Oliveira Cavalcanti https://sites.google.com/a/poli.br/professorgustavooc/ Sistemas Digitais Prof. Gustavo Oliveira Cavalcanti gustavooc@poli.br https://sites.google.com/a/poli.br/professorgustavooc/ Conteúdo Programático (Organização e Arquitetura) Arquitetura e história dos

Leia mais

MICROPROCESSADORES E MICROCONTROLADORES. PROVA 1 - Solução da Versão 1

MICROPROCESSADORES E MICROCONTROLADORES. PROVA 1 - Solução da Versão 1 MICROPROCESSDORES E MICROCONTROLDORES PROV 1 - Solução da Versão 1 (o final são apresentadas as soluções da questão 4 das versões 2 e 3) 1. Na comparação entre as arquiteturas CISC e RISC, faça comentários

Leia mais

LISTA 02 CONJUNTO DE INSTRUÇÕES - GABARITO

LISTA 02 CONJUNTO DE INSTRUÇÕES - GABARITO LISTA 02 CONJUNTO DE INSTRUÇÕES - GABARITO 1) Identifique na instrução em linguagem de máquina armazenada na memória, os elementos da instrução 2) Na figura acima, qual a quantidade de código de operações

Leia mais

PARTE II - CONJUNTO DE INSTRUÇÕES ARQUITETURA DE COMPUTADORES ANTONIO RAMOS DE CARVALHO JÚNIOR

PARTE II - CONJUNTO DE INSTRUÇÕES ARQUITETURA DE COMPUTADORES ANTONIO RAMOS DE CARVALHO JÚNIOR PARTE II - CONJUNTO DE INSTRUÇÕES ARQUITETURA DE COMPUTADORES ANTONIO RAMOS DE CARVALHO JÚNIOR Introdução Instruções são representadas em linguagem de máquina (binário) E x i s t e m l i n g u a g e n

Leia mais

Conjunto de Instruções (ISA) II

Conjunto de Instruções (ISA) II Conjunto de Instruções (ISA) II José Costa Introdução à Arquitetura de Computadores Departamento de Engenharia Informática (DEI) Instituto Superior Técnico 2013-10-18 José Costa (DEI/IST) Conjunto de Instruções

Leia mais

Arquitetura e Organização de Computadores

Arquitetura e Organização de Computadores UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO DEPARTAMENTO DE CIÊNCIAS EXATAS E NATURAIS CURSO DE CIÊNCIA DA COMPUTAÇÃO Arquitetura e Organização de Computadores Conjunto de Instruções Prof. Sílvio Fernandes

Leia mais

Tópicos: 1 - Modos de endereçamento do Pilha e instruções de Pilha. 3 - Instruções que usam pilha: - instrução CALL - instrução RET

Tópicos: 1 - Modos de endereçamento do Pilha e instruções de Pilha. 3 - Instruções que usam pilha: - instrução CALL - instrução RET Tópicos: 1 - Modos de endereçamento do 8051 2 - Pilha e instruções de Pilha 3 - Instruções que usam pilha: - instrução CALL - instrução RET 4 - Interrupção 1 - Modos de Endereçamento do 8051 Os modos de

Leia mais

PSI3441 Arquitetura de Sistemas Embarcados

PSI3441 Arquitetura de Sistemas Embarcados PSI31 Arquitetura de Sistemas Embarcados - Arquitetura do µprocessador Escola Politécnica da Universidade de São Paulo Prof. Gustavo Rehder grehder@lme.usp.br Prof. Sergio Takeo kofuji@usp.br Prof. Antonio

Leia mais

Arquitetura e Organização de Computadores

Arquitetura e Organização de Computadores Arquitetura e Organização de Computadores Conjunto de Instruções Givanaldo Rocha de Souza http://docente.ifrn.edu.br/givanaldorocha givanaldo.rocha@ifrn.edu.br Material do prof. Sílvio Fernandes - UFERSA

Leia mais

Ministério da Educação UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ. Aula 1. Cibele Lemos Freire Viginoski

Ministério da Educação UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ. Aula 1. Cibele Lemos Freire Viginoski Aula 1 Cibele Lemos Freire Viginoski ARM (Advanced RISC Machine) Arquitetura de Processadores CISC Conjunto Complexo de Instruções Microinstruções RISC Conjunto de Instruções Reduzidas Instruções devem

Leia mais

Símbolos e abreviaturas utilizadas na descrição das instruções

Símbolos e abreviaturas utilizadas na descrição das instruções Símbolos e abreviaturas utilizadas na descrição das instruções acumulador registo A addr endereço de 16 bits data quantidade de 8 bits data 16 quantidade de 16 bits byte 2 segundo byte da instrução byte

Leia mais

PSI3441 Arquitetura de Sistemas Embarcados

PSI3441 Arquitetura de Sistemas Embarcados PSI31 Arquitetura de Sistemas Embarcados - Arquitetura do µprocessador Escola Politécnica da Universidade de São Paulo Prof. Gustavo Rehder grehder@lme.usp.br Prof. Sergio Takeo kofuji@usp.br Prof. Antonio

Leia mais

Instruções. Maicon A. Sartin

Instruções. Maicon A. Sartin Instruções Maicon A. Sartin SUMÁRIO Introdução Instruções Formatos de instruções Conjuntos de instruções Execução de instruções Introdução a Linguagem de Montagem Introdução a Linguagem de Montagem Níveis

Leia mais

Prova de Arquitectura de Computadores (21010) Data: 5 de Fevereiro de 2009

Prova de Arquitectura de Computadores (21010) Data: 5 de Fevereiro de 2009 Ministério da Ciência, Tecnologia e Ensino Superior Curso:... Prova de Arquitectura de Computadores (21010) Data: 5 de Fevereiro de 2009 Nome:... Nº de Estudante:... B. I. nº... Assinatura do Vigilante:...

Leia mais

Grupo I (5 valores) CD AB

Grupo I (5 valores) CD AB Grupo I (5 valores) Ministério da Ciência, Tecnologia e Ensino Superior 1. [2] Considere o seguinte mapa de Karnaugh da função F(A,B,C,D). Simplifique a função de modo a obter uma soma de produtos, e um

Leia mais

SSC510 Arquitetura de Computadores 1ª AULA

SSC510 Arquitetura de Computadores 1ª AULA SSC510 Arquitetura de Computadores 1ª AULA REVISÃO DE ORGANIZAÇÃO DE COMPUTADORES Arquitetura X Organização Arquitetura - Atributos de um Sistema Computacional como visto pelo programador, isto é a estrutura

Leia mais

Conjunto de Instruções do 8051

Conjunto de Instruções do 8051 Apêndice B Conjunto de Instruções do 8051 A.G. e E.T.M. / 2001 (revisão) O 8051 apresenta 111 tipos de instruções, sendo 49 de um byte, 45 de dois bytes e 17 de três bytes. Levando-se em contas as variações

Leia mais

Capítulo 6 Aritmética Digital: Operações e Circuitos

Capítulo 6 Aritmética Digital: Operações e Circuitos Capítulo 6 Aritmética Digital: Operações e Circuitos slide 1 Temas abordados nesse capítulo: - Adição, subtração, multiplicação e divisão de dois binários. - Diferença entre soma binária e soma OR. - Vantagens

Leia mais

Prova de Arquitectura de Computadores (21010) Data: 12 de Fevereiro de 2010

Prova de Arquitectura de Computadores (21010) Data: 12 de Fevereiro de 2010 Ministério da Ciência, Tecnologia e Ensino Superior Curso:... Prova de Arquitectura de Computadores (21010) Data: 12 de Fevereiro de 2010 Nome:... Nº de Estudante:... B. I. nº... Assinatura do Vigilante:...

Leia mais

UNIVERSIDADE PAULISTA (UNIP) Curso de Engenharia Mecatrônica Disciplina: Microprocessadores e Microcontroladores (MM) LISTA III

UNIVERSIDADE PAULISTA (UNIP) Curso de Engenharia Mecatrônica Disciplina: Microprocessadores e Microcontroladores (MM) LISTA III UNIVERSIDADE PAULISTA (UNIP) Curso de Engenharia Mecatrônica Disciplina: Microprocessadores e Microcontroladores (MM) LISTA III Orientações: Esta lista de Exercícios deve ser entregue juntamente com a

Leia mais

Arquitetura de Um Processador I

Arquitetura de Um Processador I Arquitetura de Um Processador I José Costa Introdução à Arquitetura de Computadores Departamento de Engenharia Informática (DEI) Instituto Superior Técnico 2013-11-08 José Costa (DEI/IST) Arquitetura de

Leia mais

Organização de Computadores

Organização de Computadores Organização do Processador - Parte A Capítulo 5 Patterson & Hennessy Prof. Fábio M. Costa Instituto de Informática Universidade Federal de Goiás Conteúdo Caminho de dados Caminho de controle Implementação

Leia mais

Interrupção. Prof. Adilson Gonzaga

Interrupção. Prof. Adilson Gonzaga Interrupção Prof. Adilson Gonzaga Estrutura de Programação Assembly Programa Principal Chamada de Sub-rotina1 Programa Principal Chamada de Sub-rotina2 Sub-rotina1 Subrotina2 Programa Principal Chamada

Leia mais

Prova de Arquitectura de Computadores (21010) Data: 23 de Junho de 2009

Prova de Arquitectura de Computadores (21010) Data: 23 de Junho de 2009 Ministério da Ciência, Tecnologia e Ensino Superior Curso:... Prova de Arquitectura de Computadores (21010) Data: 23 de Junho de 2009 Nome:... Nº de Estudante:... B. I. nº... Assinatura do Vigilante:...

Leia mais

7. A pilha e subrotinas

7. A pilha e subrotinas Cap7.1 7. A pilha e subrotinas 7.1 Organização da Pilha (stack) Stack: estrutura de dados de uma dimensão organizada em algum trecho (segmento) da Memória; o primeiro item adicionado é o último a ser removido

Leia mais

Introdução à Arquitetura de Computadores

Introdução à Arquitetura de Computadores LICENCIATURA EM ENGENHARIA INFORMÁTICA E DE COMPUTADORES Introdução à Arquitetura de Computadores Tutorial do P3 Referência 2014 / 2015 INSTITUTO SUPERIOR TÉCNICO Paulo Lopes, José Costa 2014/2015 2 1.

Leia mais

Prova de Arquitectura de Computadores (21010) Data: 5 de Fevereiro de 2009

Prova de Arquitectura de Computadores (21010) Data: 5 de Fevereiro de 2009 Ministério da Ciência, Tecnologia e Ensino Superior Curso:... Prova de Arquitectura de Computadores (21010) Data: 5 de Fevereiro de 2009 Nome:... Nº de Estudante:... B. I. nº... Assinatura do Vigilante:...

Leia mais

Circuitos Lógicos. Capítulo 9 Aritmérica Digital: Operações e Circuitos

Circuitos Lógicos. Capítulo 9 Aritmérica Digital: Operações e Circuitos UNIVERSIDADE FEDERAL DE SÃO JOÃO DEL REI Circuitos Lógicos Capítulo 9 Aritmérica Digital: Operações e Circuitos Prof. Erivelton Geraldo Nepomuceno http://www.ufsj.edu.br/nepomuceno nepomuceno@ufsj.edu.br

Leia mais

Algoritmos e Estruturas de Dados I (DCC/003) Estruturas Básicas. Aula Tópico 2

Algoritmos e Estruturas de Dados I (DCC/003) Estruturas Básicas. Aula Tópico 2 Algoritmos e Estruturas de Dados I (DCC/003) Estruturas Básicas Aula Tópico 2 1 Problema 3 Exibir o maior número inteiro que pode ser representado no computador. 2 Qual o maior número inteiro? Para o compilador

Leia mais

Arquitectura de Computadores

Arquitectura de Computadores Ministério da Educação e Ciência U.C. 2 Arquitectura de Computadores 5 de Fevereiro de 27 INSTRUÇÕES O tempo de duração da prova de exame é de 2 horas, acrescida de 3 minutos de tolerância. O estudante

Leia mais

Laboratório de Sistemas Processadores e Periféricos Lista de comandos de Assembly

Laboratório de Sistemas Processadores e Periféricos Lista de comandos de Assembly Laboratório de Sistemas Processadores e Periféricos Lista de comandos de Assembly Gustavo G. Parma Lista dos comandos assembly que serão utilizados ao longo das práticas. 1 Comandos 1. ADD destino, fonte

Leia mais

Notas de Aula Guilherme Sipahi Arquitetura de Computadores

Notas de Aula Guilherme Sipahi Arquitetura de Computadores Notas de Aula Guilherme Sipahi Arquitetura de Computadores Conjunto de Instruções: Elementos de uma instrução: Operation Code (Opcode): especifica a operação a ser executada. Source operand reference:

Leia mais

Prof. Adilson Gonzaga

Prof. Adilson Gonzaga Prof. Adilson Gonzaga Temporização da CPU Todos os Microcontroladores da família MCS-51 têm um oscilador interno. Para uso deste oscilador deve-se conectar um cristal entre os pinos Xtal1 e Xtal2 da CPU.

Leia mais

Infraestrutura de Hardware. Instruindo um Computador Subrotinas, Tipos de Dados e Modos de Endereçamento

Infraestrutura de Hardware. Instruindo um Computador Subrotinas, Tipos de Dados e Modos de Endereçamento Infraestrutura de Hardware Instruindo um Computador Subrotinas, Tipos de Dados e Modos de Endereçamento Perguntas que Devem ser Respondidas ao Final do Curso Como um programa escrito em uma linguagem de

Leia mais

Aula 10 Microcontrolador Intel 8051 Parte 2

Aula 10 Microcontrolador Intel 8051 Parte 2 SEL 0415 Aula 10 Microcontrolador Intel 8051 Parte 2 SEL 0415 INTROD À ORGANIZAÇÃO DE COMPUTADORES Prof Dr Marcelo A C Vieira SEL 415 Mapeamento das memórias internas Memória de dados interna (RAM) n 8051

Leia mais

A Arquitetura: conjunto de instruções

A Arquitetura: conjunto de instruções A Arquitetura: conjunto de instruções código instrução comentário 0000 NOP Nenhuma operação 0001 STA MEM() AC 0010 LDA AC MEM() 0011 ADD AC MEM() + AC 0100 OR AC MEM() OR AC 0101 AND AC MEM() AND AC 0110

Leia mais

Prof. Adilson Gonzaga

Prof. Adilson Gonzaga Microprocessadores são Máquinas de Estado Seqüenciais Síncronas que operam mediante a execução de uma seqüência de códigos binários armazenados em memória. Prof. Adilson Gonzaga 1 As ordens ou comandos

Leia mais

Registradores. Os processadores possuem espaços específicos onde são guardados valores, os chamados registradores.

Registradores. Os processadores possuem espaços específicos onde são guardados valores, os chamados registradores. Os processadores possuem espaços específicos onde são guardados valores, os chamados registradores. Esses espaços são parecidos com variáveis de uma linguagem de programação de alto nível, onde se guarda

Leia mais

Sistemas Embebidos I , Tiago Miguel Dias ADEETC - Secção de Arquitecturas e Sistemas Operativos

Sistemas Embebidos I , Tiago Miguel Dias ADEETC - Secção de Arquitecturas e Sistemas Operativos Sistemas Embebidos I Licenciatura em Eng. de Electrónica e Telecomunicações e de Computadores Licenciatura em Engenharia Informática e de Computadores Mestrado em Engenharia Informática e de Computadores

Leia mais

Departamento de Sistemas de Computação - SSC. Sistemas Digitais. 2 o Semestre Projeto CPU. Data da apresentação: 26/27 de outubro

Departamento de Sistemas de Computação - SSC. Sistemas Digitais. 2 o Semestre Projeto CPU. Data da apresentação: 26/27 de outubro UNIVERSIDADE DE SÃO PAULO Instituto de Ciências Matemáticas e de Computação Departamento de Sistemas de Computação - SSC Sistemas Digitais 2 o Semestre Projeto CPU Data da apresentação: 26/27 de outubro

Leia mais

Prova de Arquitectura de Computadores (21010) Data: 18 de Junho de 2010

Prova de Arquitectura de Computadores (21010) Data: 18 de Junho de 2010 Ministério da Ciência, Tecnologia e Ensino Superior Curso:... Prova de Arquitectura de Computadores (21010) Data: 18 de Junho de 2010 Nome:... Nº de Estudante:... B. I. nº... Assinatura do Vigilante:...

Leia mais

ORGANIZAÇÃO DE COMPUTADORES CAPÍTULO 6: PROCESSADORES. Prof. Juliana Santiago Teixeira

ORGANIZAÇÃO DE COMPUTADORES CAPÍTULO 6: PROCESSADORES. Prof. Juliana Santiago Teixeira ORGANIZAÇÃO DE COMPUTADORES CAPÍTULO 6: PROCESSADORES Prof. Juliana Santiago Teixeira julianasteixeira@hotmail.com INTRODUÇÃO INTRODUÇÃO O processador é o componente vital do sistema de computação, responsável

Leia mais

Arquitetura de Computadores. Ciclo de Busca e Execução

Arquitetura de Computadores. Ciclo de Busca e Execução Arquitetura de Computadores Ciclo de Busca e Execução Ciclo de Busca e Execução Início Buscar a próxima instrução Interpretar a instrução Executar a instrução Término Funções realizadas pela UCP Funções

Leia mais

Departamento de Sistemas de Computação - SSC. SSC-110 Elementos de lógica digital I SSC-111 Laboratório de elementos de lógica digital I.

Departamento de Sistemas de Computação - SSC. SSC-110 Elementos de lógica digital I SSC-111 Laboratório de elementos de lógica digital I. UNIVERSIDADE DE SÃO PAULO Instituto de Ciências Matemáticas e de Computação Departamento de Sistemas de Computação - SSC SSC-110 Elementos de lógica digital I SSC-111 Laboratório de elementos de lógica

Leia mais

NEANDERWIN. Algumas características do processador Neander são:

NEANDERWIN. Algumas características do processador Neander são: NEANDERWIN O NeanderWin é um simulador da máquina Neander, definida no livro do Raul F. Weber (UFRGS), Fundamentos de Arquitetura de Computadores, Ed. Sagra Luzzatto. A máquina original foi estendida aqui

Leia mais

Sistema Digitais. Bacharelado de Informática UEM DIN - Prof. Elvio v. 17a

Sistema Digitais. Bacharelado de Informática UEM DIN - Prof. Elvio v. 17a 5197 - Sistema Digitais Bacharelado de Informática UEM DIN - Prof. Elvio v. 17a Roteiro A Família AVR Introdução ao ATmega328 Características Gerais Memórias Família AVR AVR = Advanced Virtual RISC Fundadores

Leia mais

Conjunto de Instruções (ISA) I

Conjunto de Instruções (ISA) I Conjunto de Instruções (ISA) I José Costa Introdução à Arquitetura de Computadores Departamento de Engenharia Informática (DEI) Instituto Superior Técnico 2013-10-16 José Costa (DEI/IST) Conjunto de Instruções

Leia mais

Arquitectura de Computadores

Arquitectura de Computadores Ministério da Educação e Ciência U.C. 2 Arquitectura de Computadores 26 de julho de 2013 INSTRUÇÕES O tempo de duração da prova de exame é de 2 horas, acrescida de 30 minutos de tolerância. O estudante

Leia mais

Conjunto de Instruções. Alisson Brito

Conjunto de Instruções. Alisson Brito Conjunto de Instruções Alisson Brito 1 1 O que é o Conjunto de Instruções? Instruction Set Architecture (ISA) Interface entre Programas e CPU A coleção completa de instruções reconhecidas pela CPU Programas

Leia mais

Tópicos Avançados em Sistemas Computacionais: Infraestrutura de Hardware Aula 10

Tópicos Avançados em Sistemas Computacionais: Infraestrutura de Hardware Aula 10 Tópicos Avançados em Sistemas Computacionais: Infraestrutura de Hardware Aula 10 Prof. Max Santana Rolemberg Farias max.santana@univasf.edu.br Colegiado de Engenharia de Computação QUAL É A INTERFACE ENTRE

Leia mais

Organização e Projeto de Computadores

Organização e Projeto de Computadores Organização e Projeto de Computadores 1 Processamento no Computador Operações principais: leitura de instrução do programa leitura de dados processamento: execução da instrução escrita de resultado entrada/saída

Leia mais

ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES I

ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES I ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES I AULA 04: ASPECTO BÁSICO DO PROJETO DE UMA CPU SIMPLES E LINGUAGEM DE MONTAGEM Prof. Max Santana Rolemberg Farias max.santana@univasf.edu.br Colegiado de Engenharia

Leia mais

ção de Computadores I

ção de Computadores I Universidade Federal de Pelotas Instituto de Física e Matemática Departamento de Informática Bacharelado em Ciência da Computação Arquitetura e Organizaçã ção de Computadores I Aula 4 1. Projeto da Arquitetura

Leia mais

Histórico de desenvolvimento de computadores Prof. Luís Caldas Aula 02 Processador de uso geral

Histórico de desenvolvimento de computadores Prof. Luís Caldas Aula 02 Processador de uso geral Processador de uso geral 1. Introdução: Um sistema digital completo é constituído de uma unidade controle e o bloco operacional. Na figura a seguir alguns elementos externos necessários para completar

Leia mais

1. Instruções de Desvio

1. Instruções de Desvio 1. Instruções de Desvio Def.: Estas instruções permitem que, de forma condicional ou não, seja feito um desvio na seqüência de uma programa. O desvio é efetuado fazendo com que o valor carregado no PC

Leia mais

UCP: Construindo um Caminho de Dados (Parte III)

UCP: Construindo um Caminho de Dados (Parte III) UCP: Construindo um Caminho de Dados (Parte III) Cristina Boeres Instituto de Computação (UFF) Fundamentos de Arquiteturas de Computadores Material baseado nos slides do Fernanda Passos Cristina Boeres

Leia mais

ORGANIZAÇÃO DE COMPUTADORES

ORGANIZAÇÃO DE COMPUTADORES Organização de Computadores ORGANIZAÇÃO DE COMPUTADORES Curso: Tecnologia em Gestão da Tecnologia da Informação Ano: 2011 Instrução Precisam ser entendidas pelo processador Precisam ser decodificadas e

Leia mais

UCP: Construindo um Caminho de Dados (Parte I)

UCP: Construindo um Caminho de Dados (Parte I) UCP: Construindo um Caminho de Dados (Parte I) Cristina Boeres Instituto de Computação (UFF) Fundamentos de Arquiteturas de Computadores Material baseado cedido pela Profa. Fernanda Passos Cristina Boeres

Leia mais

AJProença, Sistemas de Computação, UMinho, 2017/18 1. Componentes (físicos) a analisar: a unidade de processamento / o processador:

AJProença, Sistemas de Computação, UMinho, 2017/18 1. Componentes (físicos) a analisar: a unidade de processamento / o processador: Introdução aos Sistemas de Computação (4) Estrutura do tema ISC 1. Representação de informação num computador 2. Organização e estrutura interna dum computador 3. Execução de programas num computador 4.

Leia mais

PROJETO DE UM CONTROLADOR DE TEMPERATURA CONTROLADO POR MICROCONTROLADOR

PROJETO DE UM CONTROLADOR DE TEMPERATURA CONTROLADO POR MICROCONTROLADOR PROJETO DE UM CONTROLADOR DE TEMPERATURA CONTROLADO POR MICROCONTROLADOR Estudo dirigido a disciplina Sistemas Digitais Microprocessados, com enfoque em uma aplicação prática do conteúdo programático do

Leia mais

Arquitectura de Computadores

Arquitectura de Computadores Ministério da Educação e Ciência U.C. 2 Arquitectura de Computadores 5 de Fevereiro de 25 INSTRUÇÕES O tempo de duração da prova de exame é de 2 horas, acrescida de 3 minutos de tolerância. O estudante

Leia mais

Infraestrutura de Hardware. Implementação Multiciclo de um Processador Simples

Infraestrutura de Hardware. Implementação Multiciclo de um Processador Simples Infraestrutura de Hardware Implementação Multiciclo de um Processador Simples Perguntas que Devem ser Respondidas ao Final do Curso Como um programa escrito em uma linguagem de alto nível é entendido e

Leia mais

Microcontrolador Assembly UTFPR / DAELN Microcontroladores 1 Prof. Gabriel Kovalhuk

Microcontrolador Assembly UTFPR / DAELN Microcontroladores 1 Prof. Gabriel Kovalhuk Assembly 8051 Num sistema microprocessado, geralmente, não existe um sistema operacional; O programa desenvolvido pelo programador deve cuidar tanto da lógica do programa, bem como da configuração e acesso

Leia mais

Algoritmos e Estruturas de Dados I (DCC/003) 2013/1. Estruturas Básicas. Aula Tópico 4

Algoritmos e Estruturas de Dados I (DCC/003) 2013/1. Estruturas Básicas. Aula Tópico 4 Algoritmos e Estruturas de Dados I (DCC/003) 2013/1 Estruturas Básicas Aula Tópico 4 1 Problema 3 Exibir o maior número inteiro que pode ser representado no computador. 2 Qual o maior número inteiro? Para

Leia mais

CPU. CPU Unidade Central de Processamento. Função: leitura, escrita e processamento de dados

CPU. CPU Unidade Central de Processamento. Função: leitura, escrita e processamento de dados CPU CPU Unidade Central de Processamento Função: leitura, escrita e processamento de dados Constituída por: dispositivos que gerem a entrada (leitura) e saída (escrita) de dados; registos (memórias auxiliares)

Leia mais

Assembly Sintaxe do Assembly. Instruções que afectam Flags. Aplicações de Microprocessadores 2006/2007

Assembly Sintaxe do Assembly. Instruções que afectam Flags. Aplicações de Microprocessadores 2006/2007 Assembly 8051 Aplicações de Microprocessadores 2006/2007 Sintaxe do Assembly [Label] Op-code [Operando] [Comentário] tabela: movc a,@a+dptr ; vai à tabela buscar o seu correspondente ASCII 2 2 Instruções

Leia mais