As atividades envolvendo E/S e interrupções usarão o simulador jarm do Prof. Anido. Ele pode ser instalado no Linux, Windows e MacOS e pode ser baixado do link arm.zip (o pacote "Java Runtime Environment", JRE, também precisa estar instalado na sua máquina). Ele está instalado no sistema Linux da IC 304, de forma que apenas a pasta de exemplos precisa ser descompactada e instalada no seu "homedir". Você deverá também baixar e imprimir o manual do simulador (pdf) e a descrição dos dispositivos de E/S(txt). Siga essas instruções para testar os exemplos e programas que você fará:
#/bin/sh arm-none-eabi-linux-as $1.s -o $1.elf jarm -d devices.txt -l $1.elf (mude as permissões: chmod a+x jarm.sh)
#/bin/sh arm-none-eabi-linux-as $1.s -o $1.elf jarm -c -l $1.elfAlém disso, o ponto de entrada nesses exemplos passou a ser _start, de modo que após disparar o jarm digite: g _start (também pode ser conveniente colocar um breakpoint de execução, bx end-breakpoint, antes do comando g _start, a fim de executar o programa "passo a passo" via comando s).
%7segdisplays Display #port 0x90000 %7segdisplays Display #port 0x90001 %7segdisplays Display #port 0x90002 %7segdisplays Display #port 0x90003 %7segdisplays Display #port 0x90004 %7segdisplays Display #port 0x90005 %7segdisplays Display #port 0x90006 %7segdisplays Display #port 0x90007Insira no final do vetor digitos a constante 0x80, que é a codificação do símbolo "." (ponto) do display de 7 segmentos e ajuste o teste do contador correspondente. Teste: a única diferença é que vão aparecer 7 retangulos escuros correspondendo aos displays de 7 segmentos não usados e no 10 display, além dos dígitos 0-9 será exibido o ponto ".").