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

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

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

Apresentações semelhantes


Apresentação em tema: "Software Básico Silvio Fernandes 2010.1 Universidade Federal Rural do Semiárido Departamento de Ciências Exatas e Naturais Ciência da Computação Aula 05:"— Transcrição da apresentação:

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

2 Programação com o SIC Exemplos simples de programação na linguagem assembler do SIC e do SIC/XE Objetivo de familiarizar com os conjuntos de instruções e o assembler das máquinas 2

3 Primeiro exemplo do SIC 3

4 Primeiro exemplo do SIC/XE 4

5 Primeiro exemplo do SIC e SIC/XE 5 O que fazem esses códigos? Qual a diferença entre eles? Qual o mais eficiente? Por quê?

6 Primeiro exemplo do SIC e SIC/XE 6 A instrução WORD reserva o espaço de uma palavra na memória, e inicializa esta palavra com o valor especificado A instrução RESW reserva uma ou mais palavras de memória para que sejam usadas pelo programa BYTE e RESB são semelhantes às anteriores, porém definem caracteres em vez de palavras

7 Operações aritméticas - SIC 7

8 Operações aritméticas – SIC/XE 8

9 Operações aritméticas 9 No SIC todas as operações aritméticas são realizadas usando-se o registrador A e um endereço de memória A sequencia de instruções armazena os valores – (ALPHA + INCR - 1) em BETA – (GAMMA + INCR - 1) em DELTA

10 Operações loop e indexação - SIC 10

11 Operações loop e indexação – SIC/XE 11

12 Operações loop e indexação 12 O registrador de indexação X é inicializado com zero Na 1ª execução o endereço-alvo da instrução LDCH será o 1º byte de STR1, que é copiado para o 1º byte de STR2 A instrução TIX incrementa o registrador X e com seu novo valor com o operando (constante 11) JLT executará um salto se o código de condição for menor que A principal diferença no SIC/XE é a instrução TIXR, que funciona como TIX mas a comparação é feita com outro registrador (T) ao invés da memória

13 Indexação e loop - SIC 13

14 Indexação e loop – SIC/XE 14

15 Indexação e loop 15 No último exemplo as variáveis ALPHA, BETA e GAMMA são arrays de 100 palavras cada A tarefa do loop é somar os elementos correspondentes de ALPHA e BETA, armazenando os resultados em GAMMA O valor do registrador de indexação tem que ser incrementado em 3 bytes (uma palavra) – A instrução TIX sempre soma 1 ao registrador X, portanto preferimos recorrer a instruções aritméticas

16 Operações de E/S - SIC 16

17 Operações de E/S - SIC 17 O programa lê um byte de dados do dispositivo F1 e o copia no dispositivo 05 A entrada é realizada pela instrução RD que transfere um byte de dados deste dispositivo para o byte mais à direita do reg. A Para que RD possa ser executada é preciso que o dispositivo de entrada esteja pronto O programa verifica esta condição usando a instrução TD – Se o dispositivo estiver pronto cc passa menor que – Se não estiver igual

18 Sub-rotina e entrada de registros - SIC 18

19 Sub-rotina e entrada de registros – SIC/XE 19

20 Sub-rotina e entrada de registros 20 Ler um registro de 100 bytes de um dispositivo de entrada para a memória A leitura é feita em uma sub-rotina que é chamada pelo programa principal através de JSUB No final da sub-rotina, uma instrução de RSUB devolve o controle para instrução subsequente a JSUB

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


Carregar ppt "Software Básico Silvio Fernandes 2010.1 Universidade Federal Rural do Semiárido Departamento de Ciências Exatas e Naturais Ciência da Computação Aula 05:"

Apresentações semelhantes


Anúncios Google