-
Notifications
You must be signed in to change notification settings - Fork 0
/
DESAFIO.asm
72 lines (61 loc) · 1.33 KB
/
DESAFIO.asm
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
; I/O Address Bus decode - every device gets 0x200 addresses */
IO0 EQU 0000h
IO1 EQU 0200h
IO2 EQU 0400h
IO3 EQU 0600h
IO4 EQU 0800h
IO5 EQU 0A00h
IO6 EQU 0C00h
IO7 EQU 0E00h
IO8 EQU 1000h
IO9 EQU 1200h
IO10 EQU 1400h
IO11 EQU 1600h
IO12 EQU 1800h
IO13 EQU 1A00h
IO14 EQU 1C00h
IO15 EQU 1E00h
;MEU CODIGO
CODE SEGMENT
org 0000h
;RESERVADO PARA VETOR DE INTERRUPCOES
org 0400h
;MEU CODIGO
inicio:
MOV AX,DATA
MOV DS,AX ; DS AGORA APONTA PARA DATA SEGMENT
MOV AX,EXTRA
MOV ES,AX ; ES AGORA APONTA PARA EXTRA SEGMENT
MOV AX,STACK
MOV SS,AX ; SS AGORA APONTA PARA STACK SEGMENT
LEITURA:
MOV DX, IO1
IN AL, DX
MOV BL, AL
MOV BH, 0
MOV AL, DS:TABELA[BX]
MOV DX, IO2
OUT DX, AL
REPETE:
MOV AH, 0
IMPRIME:
INC AH
CMP AH, 10
JE REPETE
JMP IMPRIME
CODE ENDS
;MILHA PILHA
STACK SEGMENT STACK
DW 128 DUP(?)
STACK ENDS
;MEUS DADOS
DATA SEGMENT
TABELA DB 0111111B, 0000110B, 1011011B, 1001111B
DB 1100110B, 1101101B, 1111101B, 0000111B
DB 1111111B, 1101111B, 1110111B, 1111100B
DB 0111001B, 1011110B, 1111001B, 1110001B
DATA ENDS
;EXTRA
EXTRA SEGMENT
EXTRA ENDS
end inicio