Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/yasmin-camargo/sistema_computacional_hipotetico-z808
Sistema Computacional Hiipotetico Z808 baseado na arquitetura dos processadores da família INTEL 8086/88 desenvolvido como trabalho avaliativo da disciplina de Programação de Computadores
https://github.com/yasmin-camargo/sistema_computacional_hipotetico-z808
Last synced: about 1 month ago
JSON representation
Sistema Computacional Hiipotetico Z808 baseado na arquitetura dos processadores da família INTEL 8086/88 desenvolvido como trabalho avaliativo da disciplina de Programação de Computadores
- Host: GitHub
- URL: https://github.com/yasmin-camargo/sistema_computacional_hipotetico-z808
- Owner: Yasmin-Camargo
- Created: 2023-06-29T15:27:29.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2023-09-25T02:44:32.000Z (about 1 year ago)
- Last Synced: 2023-09-26T04:54:29.133Z (about 1 year ago)
- Language: Java
- Size: 354 KB
- Stars: 0
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
![TRABALHO FINAL PS](https://github.com/Yasmin-Camargo/sistema_computacional_hipotetico-Z808/assets/88253809/ea6545b9-ca67-4c25-be5f-e7c5df7928b5)
# :pager: sistema_computacional_hipotetico-Z808
Sistema Computacional Hiipotetico Z808 baseado na arquitetura dos processadores da família INTEL 8086/88 desenvolvido como trabalho avaliativo da disciplina de Programação de Sistemas### Grupo Adas & CG
:woman_technologist: [@BiancaBDullius](https://github.com/BiancaBDullius)
:woman_technologist: [@Caroline-Camargo](https://github.com/Caroline-Camargo)
:man_technologist: [@CloudioJ](https://github.com/CloudioJ)
:woman_technologist: [@dudaac1](https://github.com/dudaac1)
:man_technologist: [@SteinGB](https://github.com/SteinGB)
:woman_technologist: [@jjuliar](https://github.com/jjuliar)
:woman_technologist: [@juliaveiga](https://github.com/juliaveiga)
:woman_technologist: [@majudlorenzoni](https://github.com/majudlorenzoni)
:woman_technologist: [@Yasmin-Camargo](https://github.com/Yasmin-Camargo)## :play_or_pause_button: Como Executar
Este projeto foi desenvolvido com o auxílio da IDE _Apache Netbeans 17.0_ com o _JDK 17_.
Para executar o programa, clone o repositório:
`[email protected]:Yasmin-Camargo/sistema_computacional_hipotetico-Z808.git`
A execução do projeto deve ser feita a partir da classe JanelaInicia.java.:pushpin: Caso encontre dificuldades para executar, experimente baixar por este [link](https://www.oracle.com/java/technologies/downloads/)
## :clipboard: Etapas de desenvolvimento
O processo de desenvolvimento do simulador Z808 consistiu em quatro fases distintas: Executor, Montador, Processador de Macros, Carregador e Ligador![image](https://github.com/Yasmin-Camargo/sistema_computacional_hipotetico-Z808/assets/88253809/458d5e42-cd38-4ff1-a8ee-f1d936ef1878)
### :one: Executor
Focado na execução das instruções própriamente ditas e em uma interface visual.![image](https://github.com/Yasmin-Camargo/sistema_computacional_hipotetico-Z808/assets/88253809/72163134-3db4-4a9d-a112-e5d3b17dd872)
### :two: Montador
Foi implementado o montador de dois passos, sendo responsável pela tradução do código-fonte em código de máquina.![image](https://github.com/Yasmin-Camargo/sistema_computacional_hipotetico-Z808/assets/88253809/9fd93679-4437-4df6-a7a3-29a30dce575c)
### :three: Processador de Macros
Etapa dedicada a expansão de macros, foi desenvolvido em uma só passagem permitindo macros aninhadas e chamadas aninhadas.### :four: Carregador e Ligador
Nesta fase é realizado o carregamento e a vinculação de módulos para formar um programa funcional, sendo feito em duas passagens.## :mag_right: Códigos das Instruções
| Operação | Código de Máquina| Modo de endereçamento |
| -------- | ------------------| --------------------- |
add AX, AX | 03 C0 | Registrador
add AX, DX | 03 C2 | Registrador
add AX, opd | 05 | Direto
add AX, opd | 04 | Imediato
div AX, SI | F7 F6 | Registrador
div AX, AX | F7 C0 | Registrador
sub AX, AX | 2B C0 | Registrador
sub AX, DX | 2B C2 | Registrador
sub AX, opd | 2D | Direto
sub AX, opd | 2C | Imediato
mul AX, SI | F7 F5 | Registrador
mul AX, AX | F7 F0 | Registrador
cmp AX,opd | 3D | Direto
cmp AX,opd | 3C | Imediato
cmp AX,DX 3B| C2 | Registrador
and AX,AX | 23 C0 | Registrador
and AX,DX | 23 C2 | Registrador
and AX,opd | 25 | Direto
and AX,opd | 24 | Imediato
not AX | F8 C0 | Registrador
or AX, AX | 0B C0 | Registrador
or AX, DX | 0B C2 | Registrador
or AX,opd | 0D | Direto
or AX,opd | 0C | Imediato
xor AX,AX | 33 C0 | Registrador
xor AX,DX | 33 C2 | Registrador
xor AX,opd | 35 | Direto
xor AX,opd | 34 | Imediato
jmp opd | EB | Direto
jz opd | 74 | Direto
jnz opd | 75 | Direto
jp opd | 7A | Direto
call opd | E8 | Imediato
call opd | E7 | Direto
ret | EF | -
hlt | EE | -
pop reg | 57 C0 | Registrador
pop reg | 57 C2 | Registrador
pop opd | 59 | Direto
pop opd | 58 | Imediato
popf | 9D | Registrador
push reg | 50 C0 | Registrador
push reg | 50 C2 | Registrador
pushf | 9C | Registrador
store reg | 07 C0 | Registrador
store reg | 07 C2 | Registrador
read opd | 12 | Imediato
read opd | 13 | Direto
write opd | 08 | Imediato
write opd | 09 | Direto
mov AX, opd | 14 | Imediato
mov AX, opd | 15 | Direto
mov AX, DX | 16 C2 | Registrador