forked from shoaib30/Microprocessor-Lab
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathElevator_Hardware.asm
More file actions
72 lines (61 loc) · 1.24 KB
/
Elevator_Hardware.asm
File metadata and controls
72 lines (61 loc) · 1.24 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
;shoaib ahmed
;ALP to implement and elevator
;elevator.asm
assume cs:code,ds:data
data segment
PA EQU 20a0h
PB EQU 20a1h
PC EQU 20a2h
CR EQU 20a3h
data ends
code segment
START: MOV ax,data
MOV ds,ax
MOV al,82h
MOV dx,CR
OUT dx,al
MOV al,00h
MOV dx,PA
OUT dx,al
MOV al,0f0h
OUT dx,al
MOV dx,PB
SCAN: IN al,dx
AND al,0fh
CMP al,0fh
JE SCAN
MOV cl,01
ROTA: ROR al,1
JC NXT
JMP STMOV
NXT: ADD cl,03h
JMP ROTA
STMOV: MOV dx,PA
MOV al,0f0h
NXTLED: OUT dx,al
CALL DELAY
INC al
DEC cl
JNZ NXTLED
CALL DELAY
CALL DELAY
DEC al
AND al,0fh
CMDOWN: OUT dx,al
CALL DELAY
DEC al
CMP al,00h
JGE CMDOWN
MOV ah,4ch
INT 21h
DELAY PROC
MOV si,0fffh
l2: MOV di,0fffh
l1: DEC di
JNZ l1
DEC si
JNZ l2
RET
DELAY ENDP
code ends
end START