;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