-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathTASK 3
More file actions
133 lines (105 loc) · 1.9 KB
/
TASK 3
File metadata and controls
133 lines (105 loc) · 1.9 KB
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
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
CODE SEGMENT
ASSUME CS : CODE , DS : CODE , ES : CODE , SS : CODE
PPI EQU 26H
CPORT EQU 24H
BPORT EQU 22H
APORT EQU 20H
ORG 1000H
;IF YOU IN FLOOR 4 , PRESS B1 => GO TO FLOOR 1
MOV AL , 90H
OUT PPI , AL
AGAIN :
IN AL, APORT
CMP AL , 8EH ; IF YOU IN FLOOR 4 & PRESS 1
JE GO_1
CMP AL , 8DH ; IF YOU IN FLOOR 4 & PRESS 2
JE GO_2
CMP AL , 8BH ; IF YOU IN FLOOR 4 & PRESS 3
JE GO_3
JMP AGAIN
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;
GO_1:
MOV AL , 0F9H
OUT CPORT , AL
REPEAT :
IN AL , APORT
AND AL , 0F0H
CMP AL , 40H
JE IN_3
CONT1 :
IN AL , APORT
AND AL , 0F0H
CMP AL , 20H
JE IN_2
CONT2:
IN AL , APORT
AND AL , 0F0H
CMP AL , 10H
JE STOP
JMP REPEAT
STOP :
MOV AL , 0EFH
OUT CPORT , AL
MOV AL , 0F9H
OUT BPORT , AL
JMP EXIT
IN_3 :
MOV AL , 0B9H
OUT CPORT , AL
MOV AL , 0B0H
OUT BPORT , AL
JMP CONT1
IN_2 :
MOV AL , 0D9H
OUT CPORT , AL
MOV AL , 0A4H
OUT BPORT , AL
JMP CONT2
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
GO_2:
MOV AL , 0F9H
OUT CPORT , AL
REPEAT2 :
IN AL , APORT
AND AL , 0F0H
CMP AL , 40H
JE IN_33
CONT11 :
IN AL , APORT
AND AL , 0F0H
CMP AL , 20H
JE STOP2
JMP REPEAT2
STOP2 :
MOV AL , 0DFH
OUT CPORT , AL
MOV AL , 0A4H
OUT BPORT , AL
JMP EXIT
IN_33 :
MOV AL , 0B9H
OUT CPORT , AL
MOV AL , 0B0H
OUT BPORT , AL
JMP CONT11
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
GO_3:
MOV AL , 0F9H
OUT CPORT , AL
REPEAT3:
IN AL , APORT
AND AL , 0F0H
CMP AL , 40H
JE STOP3
JMP REPEAT3
STOP3 :
MOV AL , 0BFH
OUT CPORT , AL
MOV AL , 0B0H
OUT BPORT , AL
JMP EXIT
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
EXIT :
INT 3;
CODE ENDS
END