Vous êtes sur la page 1sur 4

FUNDAO EDUCACIONAL MONTES CLAROS

FACULDADE DE CINCIA E TECNOLOGIA DE MONTES CLAROS


ENGENHARIA DE COMPUTAO/TELECOMUNICAO
SISTEMAS MICROPROCESSADOS
ASSEMBLER SB-ASSEMBLER
INTRODUO
O SB-ASSEMBLER um assembler multiplataforma (desenvolvido para vrios modelos de
microprocessadores e microcontroladores de 8 bits), que permite realizar a traduo do cdigo fonte
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) Crie o arquivo com o cdigo fonte (assembly) do programa utilizando o Bloco de Notas. Salve o
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
cdigo objeto deve ter o mesmo nome do arquivo com o cdigo fonte, mas com extenso 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
INR A
STA DADO
HLT
.ED

;
;
;
;
;

l o contedo do end 2015H e armazena no reg A


incrementa o reg A (A=A+1)
grava o contedo do reg A no end. 2015H
para o processamento
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
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

FUNDAO EDUCACIONAL MONTES CLAROS


FACULDADE DE CINCIA E TECNOLOGIA DE MONTES CLAROS
ENGENHARIA DE COMPUTAO/TELECOMUNICAO
cdigo objeto (arquivo .hex) e do arquivo da lista de instrues (arquivo .LST). Na sequncia, o
programa utiliza a diretiva .EQ para criar um rtulo para um valor, que neste caso corresponde a um
endereo de memria. Na linha seguinte tem-se a diretiva .OR que especifica para o assembler qual
ser o endereo inicial do programa. As prximas linhas contm os mnemnicos das instrues do
programa e que termina linha com a diretiva .ED.
PRTICA:
1) Criar o cdigo objeto (arquivo .hex) para cada programa abaixo utilizando o assembler SBASSEMBLER.
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, que faz com que cada Led permanea aceso durante alguns instantes, para que se tenha o
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
MVI A,02H
OUT COMMAND
MVI A,01H
LOOP:
OUT LEDS
RLC
PUSH PSW
MVI D,02H
CALL DELAY
POP PSW
JMP LOOP
RET
.ED

; Inicializa pilha
; Porta B como saida
; Acende o LED correspondente a A
; Rotaciona LED a acender
; Atraso de 200ms
; Espera para ver LED aceso

_ Com base no programa anterior, escreva um programa que faa rotacionar um Led apagado no
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
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

FUNDAO EDUCACIONAL MONTES CLAROS


FACULDADE DE CINCIA E TECNOLOGIA DE MONTES CLAROS
ENGENHARIA DE COMPUTAO/TELECOMUNICAO
COMMAND .EQ 20H
CHAVES .EQ 21H
LEDS
.EQ 22H
.OR 2000H
MVI A,02H
OUT COMMAND
LOOP:
IN CHAVES
OUT LEDS
JMP LOOP
RET
.ED

; Porta A como entrada, B como saida


; Le chaves para o acumulador
; Acende os LEDs correspondentes

_ Com base no programa anterior, escreva um programa que leia as trs chaves menos significativas atravs da
porta A e associe a cada combinao um nmero binrio n, de 000 (chaves aberta) a 111 (chaves fechadas). 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
DELAY
RST7.5

.EQ 036EH
.EQ 05F1H
.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:

ISR:

ADI 01H
;
DAA
;
PUSH PSW
;
CALL MOSTRAA
MVI D,05H
;
CALL DELAY
POP PSW
;
JMP LOOP
.OR RST7.5
HLT
RET

INR A no serve, no atualiza CY


utiliza CY flag na correo
Salva contagem
Atraso de 500ms
Recupera contagem

; Desvio da RST 7.5

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

FUNDAO EDUCACIONAL MONTES CLAROS


FACULDADE DE CINCIA E TECNOLOGIA DE MONTES CLAROS
ENGENHARIA DE COMPUTAO/TELECOMUNICAO
.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
_ O programa abaixo l dois nmeros hexadecimais pelo teclado, exibe esses nmeros no campo de
endereos e exibe sua soma no campo de dados.
.CR 8085
.TF letecla.hex,INT
.LF letecla.lst
LETECLA .EQ 02E7H
MOSTRAD .EQ 0363H
MOSTRAA .EQ 036EH

; Sinonimos utilizados abaixo


;
;

.OR 2000H
LOOP:

LXI SP,20C0H
CALL LETECLA
MOV D,A
MVI E,0H
PUSH D
CALL MOSTRAD
POP D
CALL LETECLA
MOV E,A
ADD D
PUSH PSW
CALL MOSTRAD
POP PSW
CALL MOSTRAA
JMP LOOP
.ED

; Inicializa pilha
; Le primeiro numero

; Apresenta primeiro numero


; Le segundo numero
; Resultado em A
; Apresenta os dois numeros
; Apresenta resultado

_ Com base no programa anterior, escreva um programa que realize a multiplicao de dois nmeros
hexadecimais.

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

Vous aimerez peut-être aussi