summaryrefslogtreecommitdiffstats
path: root/Bachelor/Mikroprozessorsysteme/Praktikum3/P3_3.BAK
blob: c3d78636f49730d402004b66051a8d84cde0e035 (plain)
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
;Sven Eisenhauer
;MPS1 Versuch 3 Aufgabe 3
;16.06.2005

LSTOUT-
$SFR80515.INC
LSTOUT+

ORG 0000h

MOV DPTR,#0F803h
MOV A,#92h
MOVX @DPTR,A
SETB P3.3
MOV P5,#00h
MOV P4,#0FFh
MOV P1,#0FFh
MOV DPTR,#0F800h
MOV A,#00h
MOVX @DPTR,A
INC DPTR
MOVX @DPTR,A
INC DPTR
MOVX @DPTR,A
MOV R0,#0
MOV R1,#0
MOV R2,#0
MOV R3,#0

BEGIN:  JB P3.3,START
	LJMP 8000h
START:  LCALL EINLES

	JNB P3.2,SUBJMP
	LCALL ADDIT
SUBJMP: LCALL SUBST
	SJMP BEGIN

SUBST:  CLR C
	CLR 0B4h
	CLR 0B5h        
	MOV A,R0
	SUBB A,R2
	MOV P5,A
	MOV A,R1
	SUBB A,R3
	MOV DPTR,#0F802h
	MOVX @DPTR,A
	LCALL CHECKB
	RET

ADDIT:  CLR C
	CLR 0B4h
	CLR 0B5h        
	MOV A,R0
	ADD A,R2
	MOV P5,A
	MOV A,R1
	ADDC A,R3
	MOV DPTR,#0F802h
	MOVX @DPTR,A
	LCALL CHECKB
	RET

CHECKB: MOV 0B4h,C
	JNB OV,NOOV
	SETB P3.5
	JB ACC.7,UFL
	MOV A,#2Bh
	LCALL SENDE
	RET
UFL:    MOV A,#16h
	LCALL SENDSE
	RET
NOOV:   MOV A,#20h
	LCALL SENDSE
	RET


EINLES: MOV DPTR,#0F800h ;Port A
	MOVX A,@DPTR
	MOV R1,A
	MOV R0,P1
	MOV DPTR,#0F801h ;Port B
	MOVX A,@DPTR
	MOV R3,A
	MOV R2,P4
	RET

SENDSE: MOV SBUF,A
	CLR TI
WARTE:  JNB TI, WARTE
	RET

END