Sistemas Microprocessados Assembler Sbasm

4
FUNDAÇÃO EDUCACIONAL MONTES CLAROS FACULDADE DE CIÊNCIA E TECNOLOGIA DE MONTES CLAROS ENGENHARIA DE COMPUTAÇÃO/TELECOMUNICAÇÃO FACULDADE DE CIÊNCIA E TECNOLOGIA DE MONTES CLAROS FACIT Avenida Deputado Esteves Rodrigues, nº 1637 Centro / Montes Claros MG CEP.: 39400-141 Tel.: (38) 4009-5777 SISTEMAS MICROPROCESSADOS ASSEMBLER SB-ASSEMBLER INTRODUÇÃO O SB-ASSEMBLER é um assembler multiplataforma (desenvolvido para vários modelos de microprocessadores e microcontroladores de 8 bits), que permite realizar a tradução do código fonte escrito em linguagem assembly para o código objeto em linguagem de máquina. INSTALAÇÃO 1) Faça o download do programa a partir do website: http://www.sbprojects.com/sbasm/download.php (o programa consiste em vários arquivos compactados em um só arquivo). 2) Crie uma pasta na unidade C:\ com o nome SBASM e descompacte os arquivos do programa para essa pasta. UTILIZAÇÃO 1) Crie o arquivo com o código fonte (assembly) do programa utilizando o Bloco de Notas. Salve o arquivo com extensão asm(exemplo: TESTE.ASM) na pasta do assembler (C:\SBASM). 2) Abra uma janela do console do Windows (comando CMD). 3) Mude o diretório atual para o diretório do assembler (comando: CD C:\SBASM). 4) Execute o assembler (arquivo SBASM.COM) passando o nome do arquivo com o código fonte que foi criado anteriormente e o nome do arquivo com o código objeto que será criado. O arquivo com o código objeto deve ter o mesmo nome do arquivo com o código fonte, mas com extensão hex(exemplo: SBASM TESTE.ASM TESTE.HEX). * Exemplo de um programa em assembly para o microprocessador 8085 no estilo a ser utilizado com o assembler SB-ASSEMBLER: .CR 8085 ; define o modelo do microprocessador .TF TESTE.HEX,INT ; define o nome do arquivo .hex .LF TESTE.LST ; define o nome do arquivo .lst DADO .EQ 2015H ; cria rotulo para um end. de memoria .OR 2000H ; especifica o endereco inicial do programa LDA DADO ; lê o conteúdo do end 2015H e armazena no reg A INR A ; incrementa o reg A (A=A+1) STA DADO ; grava o conteúdo do reg A no end. 2015H HLT ; para o processamento .ED ; fim do programa * Explicações: o programa inicia com a diretiva .CR, que define o modelo do microcontrolador para o qual o código objeto será gerado. Em seguida, as diretivas .TF e .LF definem os nomes do arquivo do

description

Uma breve explicação dos comando assembley para o Mp 8085

Transcript of Sistemas Microprocessados Assembler Sbasm

FUNDAO EDUCACIONAL MONTES CLAROS FACULDADE DE CINCIA E TECNOLOGIA DE MONTES CLAROS ENGENHARIA DE COMPUTAO/TELECOMUNICAO FACULDADE DE CINCIA E TECNOLOGIA DE MONTES CLAROS FACIT Avenida Deputado Esteves Rodrigues, n 1637 Centro / Montes Claros MG CEP.: 39400-141 Tel.: (38) 4009-5777 SISTEMAS MICROPROCESSADOS ASSEMBLER SB-ASSEMBLER INTRODUO OSB-ASSEMBLERumassemblermultiplataforma(desenvolvidoparavriosmodelosde microprocessadoresemicrocontroladoresde8bits), quepermiterealizaratraduodocdigofonte escrito em linguagem assembly para o cdigo objeto em linguagem de mquina. INSTALAO 1) Faa o download do programa a partir do website: http://www.sbprojects.com/sbasm/download.php (o programa consiste em vrios arquivos compactados em um s arquivo). 2) Crie uma pasta na unidade C:\ com o nome SBASM e descompacte os arquivos do programa para essa pasta. UTILIZAO 1)Crieoarquivocomocdigofonte(assembly)do programautilizandooBlocodeNotas.Salveo arquivo com extenso asm (exemplo: TESTE.ASM) na pasta do assembler (C:\SBASM). 2) Abra uma janela do console do Windows (comando CMD). 3) Mude o diretrio atual para o diretrio do assembler (comando: CD C:\SBASM). 4) Execute o assembler (arquivo SBASM.COM) passando o nome do arquivo com o cdigo fonte que foi criado anteriormente e o nome do arquivo com o cdigo objeto que ser criado. O arquivo com o cdigoobjetodeveteromesmonomedoarquivocomocdigofonte,mascomextensohex (exemplo: SBASM TESTE.ASM TESTE.HEX). * Exemplo de um programa em assembly para o microprocessador 8085 no estilo a ser utilizado com o assembler SB-ASSEMBLER: .CR 8085; define o modelo do microprocessador .TF TESTE.HEX,INT ; define o nome do arquivo .hex .LF TESTE.LST; define o nome do arquivo .lst DADO.EQ 2015H; cria rotulo para um end. de memoria .OR 2000H; especifica o endereco inicial do programa LDA DADO; l o contedo do end 2015H e armazena no reg A INR A ; incrementa o reg A (A=A+1) STA DADO; grava o contedo do reg A no end. 2015H HLT; para o processamento .ED; fim do programa * Explicaes: o programa inicia com a diretiva .CR, que define o modelo do microcontrolador para o qual o cdigo objeto ser gerado. Em seguida, as diretivas .TF e .LF definem os nomes do arquivo do FUNDAO EDUCACIONAL MONTES CLAROS FACULDADE DE CINCIA E TECNOLOGIA DE MONTES CLAROS ENGENHARIA DE COMPUTAO/TELECOMUNICAO FACULDADE DE CINCIA E TECNOLOGIA DE MONTES CLAROS FACIT Avenida Deputado Esteves Rodrigues, n 1637 Centro / Montes Claros MG CEP.: 39400-141 Tel.: (38) 4009-5777 cdigoobjeto(arquivo.hex)edoarquivodalistadeinstrues(arquivo.LST).Nasequncia,o programa utiliza a diretiva .EQ para criar um rtulo paraum valor, que neste caso corresponde a um endereodememria.Nalinhaseguintetem-seadiretiva.ORqueespecificaparaoassemblerqual seroendereoinicialdoprograma.Asprximaslinhascontmosmnemnicosdasinstruesdo programa e que termina linha com a diretiva .ED. PRTICA: 1)Criarocdigoobjeto(arquivo.hex)paracadaprogramaabaixoutilizandooassemblerSB-ASSEMBLER. 2) Carregar o cdigo objeto do programa no simulador ABACUS. 3) Executar o programa e analisar o seu funcionamento. 4) A partir desse programa, elabore outros programas solicitados e repetir os procedimentos de 1 a 3. Programa 1 _ O programa abaixo acende sequencialmente os Leds conectados porta B. Note o uso da sub-rotina DELAY,quefazcomquecadaLedpermaneaacesodurantealgunsinstantes,paraquesetenhao efeito visual desejado. .CR 8085 .TF Leds.hex,INT .LF Leds.lst COMMAND .EQ 20H LEDS.EQ 22H DELAY .EQ 05F1H .OR 2000H LXI SP,20C0H; Inicializa pilha MVI A,02H ; Porta B como saida OUT COMMAND MVI A,01H LOOP: OUT LEDS; Acende o LED correspondente a A RLC ; Rotaciona LED a acender PUSH PSW MVI D,02H ; Atraso de 200ms CALL DELAY; Espera para ver LED aceso POP PSW JMP LOOP RET .ED _Combasenoprogramaanterior,escrevaumprogramaquefaarotacionarumLedapagadono sentido contrrio. Programa 2 _ O programa abaixo controla os Leds de acordo com as chaves ligadas porta A: .CR 8085 .TF chaves.hex,INT .LF chaves.lst FUNDAO EDUCACIONAL MONTES CLAROS FACULDADE DE CINCIA E TECNOLOGIA DE MONTES CLAROS ENGENHARIA DE COMPUTAO/TELECOMUNICAO FACULDADE DE CINCIA E TECNOLOGIA DE MONTES CLAROS FACIT Avenida Deputado Esteves Rodrigues, n 1637 Centro / Montes Claros MG CEP.: 39400-141 Tel.: (38) 4009-5777 COMMAND .EQ 20H CHAVES.EQ 21H LEDS.EQ 22H .OR 2000H MVI A,02H ; Porta A como entrada, B como saida OUT COMMAND LOOP: IN CHAVES ; Le chaves para o acumulador OUT LEDS; Acende os LEDs correspondentes JMP LOOP RET .ED _ Com base no programa anterior, escreva um programa que leia as trschaves menos significativas atravs da porta A eassocieacadacombinao um nmero binrion, de000 (chaves aberta) a111 (chavesfechadas). A qualquer instante, deve ficar acesso sempre o Led corresponde ao nmero n. Programa 3 _ O programa abaixo executa uma contagem e para quando ocorre a ativao da entrada de interrupo RST7.5 (toque no boto RST7.5) .CR 8085 .TF int1.hex,INT .LF int1.lst MOSTRAA.EQ 036EH DELAY .EQ 05F1H RST7.5.EQ 20CEH .OR 2000H LXI SP,20C0H; Inicializa pilha MVI A,18H; Habilita 5.5, 6.5 e 7.5 SIM MVI A,00H EI; Habilita as interrupes LOOP: ADI 01H; INR A no serve, no atualiza CY DAA; utiliza CY flag na correo PUSH PSW; Salva contagem CALL MOSTRAA MVI D,05H; Atraso de 500ms CALL DELAY POP PSW; Recupera contagem JMP LOOP ISR:.OR RST7.5; Desvio da RST 7.5 HLT RET FUNDAO EDUCACIONAL MONTES CLAROS FACULDADE DE CINCIA E TECNOLOGIA DE MONTES CLAROS ENGENHARIA DE COMPUTAO/TELECOMUNICAO FACULDADE DE CINCIA E TECNOLOGIA DE MONTES CLAROS FACIT Avenida Deputado Esteves Rodrigues, n 1637 Centro / Montes Claros MG CEP.: 39400-141 Tel.: (38) 4009-5777 .ED - Com base no programa anterior, elabore um programa que incremente a contagem a cada ativao da entrada de interrupo RST5.5 e que zere a contagem na ativao da entrada RST7.5 Programa 4 _Oprogramaabaixoldoisnmeroshexadecimaispeloteclado,exibeessesnmerosnocampode endereos e exibe sua soma no campo de dados. .CR 8085 .TF letecla.hex,INT .LF letecla.lst LETECLA .EQ 02E7H ; Sinonimos utilizados abaixo MOSTRAD .EQ 0363H ; MOSTRAA .EQ 036EH ;

.OR 2000H

LXI SP,20C0H; Inicializa pilha LOOP: CALL LETECLA; Le primeiro numero MOV D,A MVI E,0H PUSH D CALL MOSTRAD; Apresenta primeiro numero POP D CALL LETECLA; Le segundo numero MOV E,A ADD D ; Resultado em A PUSH PSW CALL MOSTRAD; Apresenta os dois numeros POP PSW CALL MOSTRAA; Apresenta resultado JMP LOOP .ED _ Com base no programa anterior, escreva um programa que realize a multiplicao de dois nmeros hexadecimais.