Instrução em Linguagem de Montagem | Ação |
---|---|
add regA regB destreg | soma o conteúdo do registrador regA com o conteúdo de regB e armazena resultado no registrador destreg |
addi regA regB imediato | soma o conteúdo do registrador regA com o valor imediato e armazena resultado no registrador regB |
lw regA regB deslocamento | carrega no registrador regB o conteúdo da palavra da memória cujo endereço é a soma do conteúdo do registrador regA com o valor deslocamento |
sw regA regB deslocamento | armazena o conteúdo do registrador regB na palavra da memória cujo endereço é a soma do conteúdo do registrador regA com o valor deslocamento |
beq regA regB deslocamento | caso os conteúdos dos registradores regA e regB sejam iguais, vai para o endereço PC+1+deslocamento, onde PC é o endereço da instrução beq |
halt | incrementa o valor de PC e para execução do programa |
noop | incrementa o valor de PC e vai para próxima instrução |
Instrução em Linguagem de Montagem | Código de operação |
---|---|
add regA regB destreg | 000 |
addi regA regB imediato | 001 |
lw regA regB deslocamento | 010 |
sw regA regB deslocamento | 011 |
beq regA regB deslocamento | 100 |
halt | 110 |
noop | 111 |
Quando a ferramenta é acionada, são apresentados um diagrama da máquina apresentada em sala de aula e logo abaixo alguns controles que você poderá utilizar para controlar a execução das instruções.
No primeiro campo denominado "INSTRUÇÕES", você deve indicar a instrução desejada (add, addi, lw, sw, beq).
No campo denominado "Registradores", você deve entrar com o conteúdo dos registradores a serem lidos e com o valor imediato.
O campo "Memória Principal" permite que você preencha o conteúdo de 6 endereços de memória (1, 2, 3, 4, 5, e 6).
O botão "Executar" localizado no campo "INSTRUÇÕES", quando acionado, mostra a execução de uma instrução, colocando os valores resultantes nos respectivos campos, mostrando o fluxo dos dados no esquema da máquina através de uma animação e indicando os valores que devem ter os sinais de controle utilizados nos multiplexadores. Para pausar a execução de uma instrução, deve-se acionar o botão "pausar" no campo "Controle de Execução". Para continuar a execução de uma instrução, deve-se acionar o botão "iniciar" do campo "Controle de Execução".
A seguir será descrito um exemplo de utilização desta ferramenta. A instrução a ser estudada é lw 3 2 1 , sendo que o conteúdo do registrador 3 deve ser 4. Esta instrução fará com que o conteúdo do endereço de memória 5 que deve ser igual a 100 seja colocado no registrador 2. Para observar a execução desta instrução, os seguintes passos devem ser realizados: