A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Software Básico Silvio Fernandes Aula 04: SIC/XE

Apresentações semelhantes


Apresentação em tema: "Software Básico Silvio Fernandes Aula 04: SIC/XE"— Transcrição da apresentação:

1 Software Básico Silvio Fernandes 2010.1 Aula 04: SIC/XE
Universidade Federal Rural do Semiárido Departamento de Ciências Exatas e Naturais Ciência da Computação Software Básico Aula 04: SIC/XE Silvio Fernandes 2010.1

2 Memória do SIC/XE A estrutura de memória do SIC/XE é a mesma do SIC. As posições de memória são formadas por três bytes consecutivos. A capacidade de memória é aumentada para 1 Mbyte (220). Este aumento de capacidade de endereçamento provoca modificações no formato das instruções e modos de endereçamento.

3 Registradores no SIC/XE
O SIC/XE possui quatro registradores a mais do que o SIC. Registrador Endereço/Número Utilização B 3 Registrador de Base: Usado para endereçamento S 4 Registrador de Trabalho: Sem uso especial T 5 F 6 Acumulador de Ponto Flutuante: Registrador de 48 bits

4 Formato de dados no SIC/XE
O Formato do SIC standard continua válido. É acrescentado um tipo de dados de ponto flutuante de 48 bits. S Expoente Mantissa 1 bit 11 bits 36 bits

5 Dados de ponto flutuante
A mantissa é um valor entre 0 e 1. (0.XXX). O expoente é um número binário sem sinal entre 0 e 2047 (211). O sinal do número é indicado pelo valor de S. S = 0  número positivo. S = 1  Número negativo. Um valor igual a zero é indicado com todos os bits iguais a zero.

6 Formatos de instrução no SIC/XE
O Formato do SIC não é mais válido devido ao aumento da capacidade de memória. O SIC/XE possui 4 formatos. Formato 1: usado para instruções que não utilizam nenhum operando. Código da Operação 8 bits

7 Formatos de instrução no SIC/XE
Formato 2: usado para instruções que utilizam como operando o conteúdo de dois registradores ou o conteúdo de um registrador e uma constante de até quatro bits Código da Operação R1 R2 8 bits 4 bits 4 bits

8 Formatos de instrução no SIC/XE
Formato 3: usado para instruções em que um dos operandos é o conteúdo de uma posição de memória que pode ser alcançada por um deslocamento de 15 bits. Formato compatível com o SIC standard. Flags N e I devem fazer parte do código da operação, o flag X deve indicar o modo de endereçamento e os flags B, P e E se juntem ao campo Deslocamento formando o campo endereço. Código da Operação N I X B P E Deslocamento 6 bits 6 x 1 bit 12 bits

9 Formatos de instrução no SIC/XE
Formato 4: usado para instruções que acessam operandos em uma memória com capacidade de endereçamento de 220 posições. Por possuir 32 bits, não é compatível com o formato SIC standard. Código da Operação N I X B P E Deslocamento 6 bits 6 x 1 bit 20 bits

10 Modos de endereçamento no SIC/XE
Endereçamento Relativo: Criados para serem usados com instruções de formato 3. Modo de endereçamento Codificação Endereço Alvo Deslocamento Relativo a Base B = 1, P = 0 EA = (B) + Deslocamento 0  Deslocamento  4095 Inteiro sem sinal Relativo ao PC B = 0, P = 1 EA = (PC) + Deslocamento -2048  Deslocamento  2047 Inteiro. Negativos em compl. de 2

11 Modos de endereçamento no SIC/XE
Endereçamento Direto: Se B = 0 e P = 0 o campo deslocamento em uma instrução de formato 3 (E = 0) será o endereço alvo. EA = Deslocamento (12 bits). Para instruções no formato 4 (E = 1), B e P são necessariamente iguais a 0, EA = Endereço (20 bits).

12 Modos de endereçamento no SIC/XE
Endereçamentos Relativo e Direto: Se X = 1 (endereçamento indexado) Codificação Endereço Alvo Tipo (indexado) B = 1, P = 0, X = 1 EA = (B) + (X) + Deslocamento Relativo a base B = 0, P = 1, X = 1 EA = (PC) + (X) +Deslocamento Relativo ao PC B = 0, P = 0, X = 1 EA = (X)+Deslocamento (12 bits) Direto (formato 3) EA = (X) + Endereço (20 bits) Direto (formato 4)

13 Modos de endereçamento no SIC/XE
Os flags I e N são usados para indicar o uso apropriado do endereço alvo. I = 1 e N = 0: o endereço alvo será usado como operando e nenhum acesso será feito a memória (Endereçamento Imediato). I = 0 e N = 1: o endereço alvo apontará para a posição de memória cujo conteúdo é o endereço do operando (Endereçamento Indireto). I = 1 e N = 1: instruções SIC/XE que não usam endereçamento imediato ou indireto (endereço da memória) I = 0 e N = 0: instruções no formato SIC (formato 3). Flags B,P e E são usados como parte do endereço (endereço da memória)

14 Modos de endereçamento no SIC/XE
Formatos de instrução Sem referência a memória Endereçamento relativo 1 Para cálculo do endereço alvo Campo de endereço extendido

15 Modos de endereçamento no SIC/XE
Compatibilidade Todas as instruções SIC tem 8 bits de código de operação terminando com 00 Se n=i=0, bits b,p,e são considerados como parte dos 15 bits campo de endereço

16 Conjunto de instruções do SIC
O SIC possui um formato básico de instruções suficiente para executar a maioria das tarefas (programas) simples. Existem instruções que definem e armazenam o conteúdo dos registradores (LDA, LDX, STA, STX, etc). Existem instruções aritméticas (ADD, SUB, MUL, etc). Todas as operações aritméticas envolvem o registrador A e uma palavra de memória. Existe a instrução COMP, que compara o valor do registrador A com uma palavra de memória. Utiliza um código de condição (CC) para determinar o resultado da comparação (<, = ou >). Existem instruções de salto condicional (JLT, JEQ, JGT) que executam o salto com base no valor de CC. Existem duas instruções específicas para o uso de sub-rotinas (JSUB e RSUB).

17 Conjunto de instruções do SIC
Mnemômico: nome da instrução. Formato: qual formato a instrução foi codificada e montada. Código da Operação: normalmente em hexadecimal. Efeito: significado da instrução. Notas: informações adicionais: P  instrução privilegiada. Xinstrução disponível apenas no SIC/XE. F  instrução de ponto flutuante. C  Código de condição.

18 Conjunto de instruções do SIC
Ex: ADD m ¾ 18 A  (A) + (m..m+2) Mnemônico: ADD m Formatos: 3 ou 4 Código: 18H ou B Efeito: adicionar a palavra composta pelos bytes m, m+1 e m+2 da memória com a palavra contida no registrador acumulador. Notas: nenhuma

19 Conjunto de instruções do SIC
Ex: COMP m ¾ 28 A  (A) : (m..m+2) C Mnemônico: COMP m. Formatos: 3 ou 4. Código: 28H ou B. Efeito: compara o conteúdo do registrador acumulador com a palavra armazenada nas posições m, m+1 e m+2. Notas: o resultado é armazenado no código de condição (<, + ou >)

20 Conjunto de instruções do SIC
ADD m 18 A  (A) + (m..m+2) AADF m 58 F  (F) + (m..m+5) X F ADDR r1.r2 2 90 r2  (r2) + (r1) X AND m 40 A  (A) & (m..m+2) CLEAR r1 B4 r1  0 COMP m 28 (A) : (m..m+2) C COMPF m 88 (F) + (m..m+5) X F C COMPR r1.r2 A0 (r1) : (r2) X C DIV m 24 A  (A) / (m..m+2) DIVF m 64 DIVR r1.r2 9C r2  (r2) / (r1)

21 Conjunto de instruções do SIC
FIX 1 C4 A  (F) {converte em inteiro} X F FLOAT C0 F  (A){ converte em flutuante} HIO F4 Interrompe canal de I/O número (A) P X J m 3C PC  m JEQ m 30 PC  m if CC definido como = JGT m 34 PC  m if CC definido como > JLT m 38 PC  m if CC definido como < JSUB m 48 L  (PC) ; PC  m LDA m 00 A  (m..m+2) LDB m 68 B  (m..m+2) X LDCH m 50 A [byte mais à direita]  (m)

22 Conjunto de instruções do SIC
LDF m 70 F  (m..m+5) X F LDL m 08 L  (m..m+2) LDS m 6C S  (m..m+2) X LDT m 74 T  (m..m+2) LDX m 04 X  (m..m+2) LPS m D0 ** P X MUL m 20 A  (A) * (m..m+2) MULF m 60 F  (F) * (m..m+5) MULR r1.r2 2 98 r2  (r2) * (r1) NORM 1 C8 F  (F) {normalizado} OR m 44 A  (A) | (m..m+2)

23 Conjunto de instruções do SIC
RD m D8 A [byte mais à direita]  dados do dispositivo especificado por m P RMO r1. R2 2 AC r2  (r1) X RSUB 4C PC  L SHIFTL r1.n A4 r1  (r1); desl. n bits à esquerda SHIFTR r1.n A8 r1  (r1); desl. n bits à direita SIO 1 F0 *** P X SSK m EC Chave de proteção do end. m  (A) STA m 0C m..m+2  (A) STB m 78 m..m+2  (B) STCH m 54 m  A {byte mais à direita} STF m 80 m..m+5  (F) X F

24 Conjunto de instruções do SIC
STI m D4 Valor do timer de intervalos  (m..m+2) P X STL m 14 m..m+2  (L) STS m 7C m..m+2  (S) X STSW m E8 m..m+2  (SW) P STT m 84 m..m+2  (T) STX m 10 m..m+2  (X) SUB m 1C A  (A) - (m..m+2) SUBF m 5C F  (F) - (m..m+5) X F SUBR r1.r2 2 94 r2  (r2) - (r1) SVC n B0 Gera interrupção SVC TD m E0 Testa disp. especificado por (m) P C

25 Conjunto de instruções do SIC
TIO 1 F8 Testa canal de I/O número (A) P X C TIX m 2C X  (X) + 1; (X) : (m..m+2) C TIXR r1 2 B8 X  (X) + 1; (X) : (r1) X C WD m DC Dispos. especificidado por (m)  (A) {byte mais à direita} P ** LPS: carrega status do processador com base em informações que se iniciam no endereço m ***: SIO: ativa canal de I/O número (A); endereço do programa do canal é dado por (S)

26 Tabela de modos de endereçamento
C = constante entre 0 e 4095 ou um endereço de memória contido nesta faixa. m = endereço de memória ou constante maior que 4095. Coluna notas: 4 = instrução somente no formato 4. D = instrução de endereçamento direto. A = O assembler seleciona o modo relativo ao contador do programa ou ao registrador base. S = compatível com o formato SIC standard.

27 Tabela de modos de endereçamento
Tipo Flags n i x b p e Notação Assembler Cálculo de EA operandos Notas Simples oper. c Desl. (TA) D + oper. m Endereço 4 D oper. m (PC) + desl. A oper. c. x (B) + desl +oper. m. x Disp + (X) oper. m. x Endereço + (X) (PC) + desl + (X) (B) + desl + (X) b/p/e/desl D S b/p/e/desl + (X)

28 Tabela de modos de endereçamento
Tipo Flags n i x b p e Notação Assembler Cálculo de EA operandos Notas Indireto Desl. ((TA)) D + Endereço 4 D (PC) + desl. A (B) + desl Imediato oper.#c Disp TA +oper.#m oper.#m (PC) + desl

29 Referências Leland L Beck.. “Desenvolvimento de software básico”. 2ª ed. Rio de Janeiro: Campus, p.


Carregar ppt "Software Básico Silvio Fernandes Aula 04: SIC/XE"

Apresentações semelhantes


Anúncios Google