-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathTASK 1
More file actions
79 lines (74 loc) · 1.03 KB
/
TASK 1
File metadata and controls
79 lines (74 loc) · 1.03 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
;*****************************************
; MDA-Win8086 EXPERIMENT PROGRAM *
; FILENAME : FND.ASM
; PROCESSOR : I8086
; 8255 TEST
;*****************************************
CODE SEGMENT
ASSUME CS:CODE,DS:CODE,ES:CODE,SS:CODE
;
PPIC_C EQU 1FH
PPIC EQU 1DH
PPIB EQU 1BH
PPIA EQU 19H
KEY EQU 01H
;
ORG 1000H
MOV AL,10000000B
OUT PPIC_C,AL
;
MOV AL,11110000B
OUT PPIB,AL
;
MOV AL,00000000B
OUT PPIC,AL
;
L2: MOV SI,OFFSET DATA
REPEAT: CALL SCAN ; AL = KEY
;ADD AX , AX
ADD SI , AX
L1: MOV AL,BYTE PTR CS:[SI]
;CMP AL,00H
;JE L2
OUT PPIA,AL
CALL TIMER
;INC SI
JMP L2
;
INT 3
;
TIMER: MOV CX,0
TIMER1: NOP
NOP
NOP
NOP
LOOP TIMER1
RET
;
DATA: DB 11000000B
DB 11111001B
DB 10100100B
DB 10110000B
DB 10011001B
DB 10010010B
DB 10000010B
DB 11111000B
DB 10000000B
DB 10010000B
DB 00H
SCAN: IN AL,KEY
TEST AL,10000000B
JNZ SCAN
TEST AL,00010000B
JNZ SCAN
;
AND AL,00001111B
MOV BYTE PTR K_BUF,AL
; key clear
OUT KEY,AL
RET
;
K_BUF: DB 1
CODE ENDS
END