LocalazyLocalazy
LC-3 é uma linguagem de programação de baixo nível concebida para o ensino das ciências informáticas. Foi desenvolvida pelo Dr. Joel Adams e pelo Dr. Sanjay Patel no Calvin College. LC-3 é baseado no Little Computer 3 (LC-3), um microprocessador de 16 bits concebido por James L. Peterson em 1985. O LC-3 é uma escolha popular para a educação em informática porque é suficientemente simples para ser facilmente compreendido pelos estudantes, mas ainda é capaz de executar programas complexos. O conjunto de instruções LC-3 inclui pouco mais de 50 instruções, que são suficientemente simples para serem implementadas em hardware sem a necessidade de uma ROM de microcódigo. Isto torna o LC-3 fácil de conceber e construir, e também fácil de ensinar. LC-3 é uma linguagem de montagem, o que significa que os programas são escritos num editor de texto e depois montados em código de máquina, que pode ser executado no LC-3. A linguagem assembly é uma linguagem de programação de baixo nível, o que significa que está próxima do código da máquina que a LC-3 executa. Isto facilita a compreensão do que a LC-3 está a fazer, mas também dificulta a escrita de programas complexos. LC-3 é uma arquitectura von Neumann, o que significa que tem um único espaço de memória partilhada tanto para código como para dados. Isto facilita a escrita de programas que se modificam a si próprios, mas também dificulta a escrita de programas que necessitam de aceder a múltiplas memórias. LC-3 é uma arquitectura de Harvard, o que significa que tem espaços de memória separados para código e dados. Isto facilita a escrita de programas que acedem a múltiplas memórias, mas também torna difícil a escrita de programas que se modificam a si próprios. LC-3 é uma arquitectura RISC, o que significa que tem um pequeno número de instruções que são executadas muito rapidamente. Isto torna a LC-3 rápida, mas também dificulta a escrita de programas que necessitam de fazer operações complexas. LC-3 é uma arquitectura CISC, o que significa que tem um grande número de instruções que são executadas lentamente. Isto torna o LC-3 lento, mas também facilita a escrita de programas que precisam de fazer operações complexas. LC-3 é um microprocessador de 8 bits, o que significa que pode armazenar e processar números de 8 bits. Isto torna o LC-3 limitado no tamanho de números que pode armazenar e processar, mas também facilita o trabalho com bytes de dados. LC-3 é um microprocessador de 16 bits, o que significa que pode armazenar e processar números de 16 bits. Isto torna o LC-3 limitado no tamanho dos números que pode armazenar e processar, mas também facilita o trabalho com palavras de dados. LC-3 é um microprocessador de 32-bit, o que significa que pode armazenar e processar números de 32-bit. Isto torna o LC-3 limitado no tamanho dos números que pode armazenar e processar, mas também facilita o trabalho com palavras duplas de dados. O LC-3 tem um pequeno número de registos, que são utilizados para armazenar dados e endereços de memória. O LC-3 tem oito registos de uso geral, que podem ser utilizados para armazenar dados. O LC-3 tem também dois registos de finalidade especial, que são utilizados para armazenar endereços de memória. O LC-3 tem um número limitado de modos de endereçamento, que são utilizados para calcular endereços de memória. O LC-3 tem cinco modos de endereçamento: imediato, registo directo, registo indirecto, auto-incremento, e auto-decremento. A LC-3 tem um conjunto limitado de instruções, que é um pequeno conjunto de instruções que pode ser executado pela LC-3. O LC-3 tem pouco mais de 50 instruções, que são suficientemente simples para serem implementadas em hardware sem a necessidade de uma ROM de microcódigo. O LC-3 é um microprocessador simples, o que facilita a sua compreensão e ensino. O LC-3 é também rápido e capaz de executar programas complexos.