Assembly - Disquete
Por: Matheus Cleiton • 29/8/2017 • Relatório de pesquisa • 432 Palavras (2 Páginas) • 188 Visualizações
$MOD51 ;início
ORG 0 ;grava a partir de 0
MOV A, #0H ;zera o acumulador A
EP EQU 20H ;estado presente
HP BIT P1.0 ;entrada HP
MOK BIT P1.1 ;entrada MOK
TMENOR BIT P1.2 ;entrada TMENOR
TOK BIT P1.3 ;entrada TOK
TMAIOR BIT P1.4 ;entrada TMAIOR
S0 BIT P1.5 ;entrada S0
SOK BIT P1.6 ;entrada SOK
LEU BIT P1.7 ;entrada LEU
MT BIT P2.0 ;saída MT
LDHD BIT P2.1 ;saída LDHD
LTT BIT P2.2 ;saída LT
AVC BIT P2.3 ;saída AVC
RETR BIT P2.4 ;saída RETR
LS BIT P2.5 ;saída LS
LER BIT P2.6 ;saída LER
RESET BIT P2.7 ;entrada RESET
AA: ;estado A
MOV EP, #0H ;define o estado presente como A=0000
JB RESET, AA ;se RESET=1, fica no estado A
CLR MT ;nesse estado, as saídas são iguais a 0
CLR LDHD
CLR LTT
CLR AVC
CLR RETR
CLR LS
CLR LER
JNB HP, AA ;se HP=0, fica no estado A
JMP BB ;caso contrário, vai para o estado B
BB: ;estado B
JB RESET, AA ;se RESET=1, volta para o estado A
MOV EP, #1H ;define o estado presente como B=0001
SETB MT ;nesse estado, MT=1 e LDHD=1
SETB LDHD
JNB MOK, BB ;se MOK=0, fica no estado B
JMP CC ;caso contrário, vai para o estado C
CC: ;estado C
JB RESET, AA ;se RESET=1, volta para o estado A
MOV EP, #3H ;define o estado presente como C=0011
SETB LTT ;nesse estado, LT sobe para 1 e
CLR LTT ; desce para 0 em seguida
JB TMAIOR, HH ;se TMAIOR=1, vai para o estado H
JB TMENOR, GG ;se TMENOR=1, vai para o estado G
JB TOK, DD ;se TOK=1, vai para o estado D
JMP CC ;fica no estado C enquanto nenhuma das condições acima for atendida
DD: ;estado D
JB RESET, AA ;se RESET=1, volta para o estado A
MOV EP, #4H ;define o estado
...