diff options
| author | Sven Eisenhauer <sven@sven-eisenhauer.net> | 2023-11-10 15:11:48 +0100 |
|---|---|---|
| committer | Sven Eisenhauer <sven@sven-eisenhauer.net> | 2023-11-10 15:11:48 +0100 |
| commit | 33613a85afc4b1481367fbe92a17ee59c240250b (patch) | |
| tree | 670b842326116b376b505ec2263878912fca97e2 /Bachelor/Mikroprozessorsysteme1/Praktikum3/P3_3.BAK | |
| download | Studium-master.tar.gz Studium-master.tar.bz2 | |
Diffstat (limited to 'Bachelor/Mikroprozessorsysteme1/Praktikum3/P3_3.BAK')
| -rw-r--r-- | Bachelor/Mikroprozessorsysteme1/Praktikum3/P3_3.BAK | 95 |
1 files changed, 95 insertions, 0 deletions
diff --git a/Bachelor/Mikroprozessorsysteme1/Praktikum3/P3_3.BAK b/Bachelor/Mikroprozessorsysteme1/Praktikum3/P3_3.BAK new file mode 100644 index 0000000..c3d7863 --- /dev/null +++ b/Bachelor/Mikroprozessorsysteme1/Praktikum3/P3_3.BAK @@ -0,0 +1,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
|
