From 33613a85afc4b1481367fbe92a17ee59c240250b Mon Sep 17 00:00:00 2001 From: Sven Eisenhauer Date: Fri, 10 Nov 2023 15:11:48 +0100 Subject: add new repo --- .../Mikroprozessorsysteme1/Praktikum3/P3_3.S03 | 105 +++++++++++++++++++++ 1 file changed, 105 insertions(+) create mode 100644 Bachelor/Mikroprozessorsysteme1/Praktikum3/P3_3.S03 (limited to 'Bachelor/Mikroprozessorsysteme1/Praktikum3/P3_3.S03') diff --git a/Bachelor/Mikroprozessorsysteme1/Praktikum3/P3_3.S03 b/Bachelor/Mikroprozessorsysteme1/Praktikum3/P3_3.S03 new file mode 100644 index 0000000..52a4da5 --- /dev/null +++ b/Bachelor/Mikroprozessorsysteme1/Praktikum3/P3_3.S03 @@ -0,0 +1,105 @@ +;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 + MOV P5,#0FFh + 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 OV + CLR P3.4 + CLR P3.5 + MOV A,R0 + SUBB A,R2 + MOV R4,A ;LOWBYTE + MOV A,R1 + SUBB A,R3 + MOV R5,A ;HIGHBYTE + LCALL AUSG + RET + +ADDIT: CLR C + CLR OV + CLR P3.4 + CLR P3.5 + MOV A,R0 + ADD A,R2 + MOV R4,A ;LOWBYTE + MOV A,R3 + ADDC A,R1 + MOV R5,A ;HIGHBYTE + LCALL AUSG + RET + +AUSG: MOV P1,R4 ;LOWBYTE + MOV A,R5 + MOV DPTR,#0F802h + MOVX @DPTR,A ;HIGHBYTE + MOV P3.4,C + JNB OV,NOOV + SETB P3.5 + JB ACC.7,POS + MOV A,#08h ;Backspace + LCALL SENDSE + MOV A,#2Bh ;+ + LCALL SENDSE + RET +POS: MOV A,#08h ;Backspace + LCALL SENDSE + MOV A,#2Dh ;- + LCALL SENDSE + RET +NOOV: CLR P3.5 + MOV A,#08h ;Backspace + LCALL SENDSE + MOV A,#20h ;space + 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 \ No newline at end of file -- cgit v1.2.3