Implementação de ula (unidade lógica e aritmética) na linguagem pascal

1912 palavras 8 páginas
program ula; var {CONSTANTES DE FLAGS DE ERRO} FLAG_RESULTADO_POSITIVO : string; FLAG_RESULTADO_NEGATIVO : string; FLAG_OVERFLOW_POSITIVO : string; FLAG_OVERFLOW_NEGATIVO : string; FLAG_BINARIO_INVALIDO : string; FLAG_OPCAO_INVALIDA : string; FLAG_OPERACAO_INVALIDA : string; FLAG_OPERACAO_NAO_DEFINIDA : string; maxPositiveDec : integer; minPositiveDec : integer; nivelDebug : integer; tamanhoBinario : integer; {número de bits para um número binário} registradorA : string; {registrador A (ACC)} registradorB : string; {registrador B} registradorFlags: string; {registrador de Flags} operacao : string; {registrador de Operação}

procedure debug(msg : string; nivel: integer); begin if nivel >= nivelDebug then writeln('DEBUG: ', msg); end; function potencia(base: integer; expoente: integer): integer; var i : integer; tempValor : integer; begin tempValor := base; if expoente = 0 then tempValor := 1 else begin expoente := expoente - 1; for i := 1 to expoente do begin tempValor := tempValor * base; end; end; return tempValor; end; procedure inicializa(); var strMaxPositiveDec : string; strMinPositiveDec : string; begin tamanhoBinario := 8; nivelDebug := 10; debug('Inicializando ULA', 1); maxPositiveDec := potencia(2, (tamanhoBinario)) -1; Str(maxPositiveDec, strMaxPositiveDec); minPositiveDec := (potencia(2, (tamanhoBinario)) -1) * -1; Str(minPositiveDec, strMinPositiveDec); FLAG_RESULTADO_POSITIVO := '000'; FLAG_RESULTADO_NEGATIVO := '001'; FLAG_OVERFLOW_POSITIVO := '010'; FLAG_OVERFLOW_NEGATIVO := '011'; FLAG_BINARIO_INVALIDO := '100'; FLAG_OPCAO_INVALIDA := '101'; FLAG_OPERACAO_INVALIDA := '110'; FLAG_OPERACAO_NAO_DEFINIDA := '111'; operacao := ''; debug('Maior Decimal Positivo: ' + strMaxPositiveDec, 1);

Relacionados

  • História do computador
    3313 palavras | 14 páginas
  • Estrutura Geral do Computador
    4734 palavras | 19 páginas
  • Arquitetura computaciona
    3228 palavras | 13 páginas
  • Arquitetura computaciona
    3228 palavras | 13 páginas
  • historia dos computadores
    2559 palavras | 11 páginas
  • Arquitetura
    4218 palavras | 17 páginas
  • Pesquisas
    4198 palavras | 17 páginas
  • A origem do computadores
    4711 palavras | 19 páginas
  • PARADIGMAS CONTE DO
    7545 palavras | 31 páginas
  • Computador
    5494 palavras | 22 páginas