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
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
|
################################################################################
# #
# Micro Series 8051 Assembler V2.02/DOS 22/Jun/05 22:57:11 #
# #
# Source = p3_3.s03 #
# List = p3_3.lst #
# Object = p3_3.r03 #
# Options = f #
# #
# (c) Copyright IAR Systems 1990 #
################################################################################
1 ;Sven Eisenhauer
2 ;MPS1 Versuch 3 Aufgabe 3
3 ;16.06.2005
4
102
103 0000 ORG 0000h
104
105 0000 90F803 MOV DPTR,#0F803h
106 0003 7492 MOV A,#92h
107 0005 F0 MOVX @DPTR,A
108 0006 75F8FF MOV P5,#0FFh
109 0009 75E8FF MOV P4,#0FFh
110 000C 7590FF MOV P1,#0FFh
111 000F 90F800 MOV DPTR,#0F800h
112 0012 7400 MOV A,#00h
113 0014 F0 MOVX @DPTR,A
114 0015 A3 INC DPTR
115 0016 F0 MOVX @DPTR,A
116 0017 A3 INC DPTR
117 0018 F0 MOVX @DPTR,A
118 0019 7800 MOV R0,#0
119 001B 7900 MOV R1,#0
120 001D 7A00 MOV R2,#0
121 001F 7B00 MOV R3,#0
122
123 0021 20B303 BEGIN: JB P3.3,START
124 0024 028000 LJMP 8000h
125 0027 12008B START: LCALL EINLES
126
127 002A 30B203 JNB P3.2,SUBJMP
128 002D 120046 LCALL ADDIT
129 0030 120035 SUBJMP: LCALL SUBST
130 0033 80EC SJMP BEGIN
131
132 0035 C3 SUBST: CLR C
133 0036 C2D2 CLR OV
134 0038 C2B4 CLR P3.4
135 003A C2B5 CLR P3.5
136 003C E8 MOV A,R0
137 003D 9A SUBB A,R2
138 003E FC MOV R4,A ;LOWBYTE
139 003F E9 MOV A,R1
140 0040 9B SUBB A,R3
141 0041 FD MOV R5,A ;HIGHBYTE
142 0042 120057 LCALL AUSG
143 0045 22 RET
144
145 0046 C3 ADDIT: CLR C
146 0047 C2D2 CLR OV
147 0049 C2B4 CLR P3.4
148 004B C2B5 CLR P3.5
149 004D E8 MOV A,R0
150 004E 2A ADD A,R2
151 004F FC MOV R4,A ;LOWBYTE
152 0050 EB MOV A,R3
153 0051 39 ADDC A,R1
154 0052 FD MOV R5,A ;HIGHBYTE
155 0053 120057 LCALL AUSG
156 0056 22 RET
157
158 0057 8C90 AUSG: MOV P1,R4 ;LOWBYTE
159 0059 ED MOV A,R5
160 005A 90F802 MOV DPTR,#0F802h
161 005D F0 MOVX @DPTR,A ;HIGHBYTE
162 005E 92B4 MOV P3.4,C
163 0060 30D21B JNB OV,NOOV
164 0063 D2B5 SETB P3.5
165 0065 20E70B JB ACC.7,POS
166 0068 7408 MOV A,#08h ;Backspace
167 006A 12009A LCALL SENDSE
168 006D 742B MOV A,#2Bh ;+
169 006F 12009A LCALL SENDSE
170 0072 22 RET
171 0073 7408 POS: MOV A,#08h ;Backspace
172 0075 12009A LCALL SENDSE
173 0078 742D MOV A,#2Dh ;-
174 007A 12009A LCALL SENDSE
175 007D 22 RET
176 007E C2B5 NOOV: CLR P3.5
177 0080 7408 MOV A,#08h ;Backspace
178 0082 12009A LCALL SENDSE
179 0085 7420 MOV A,#20h ;space
180 0087 12009A LCALL SENDSE
181 008A 22 RET
182
183
184 008B 90F800 EINLES: MOV DPTR,#0F800h ;Port A
185 008E E0 MOVX A,@DPTR
186 008F F9 MOV R1,A
187 0090 A890 MOV R0,P1
188 0092 90F801 MOV DPTR,#0F801h ;Port B
189 0095 E0 MOVX A,@DPTR
190 0096 FB MOV R3,A
191 0097 AAE8 MOV R2,P4
192 0099 22 RET
193
194 009A F599 SENDSE: MOV SBUF,A
195 009C C299 CLR TI
196 009E 3099FD WARTE: JNB TI, WARTE
197 00A1 22 RET
198
199 00A2 END
Errors: None ########
Bytes: 162 # p3_3 #
CRC: 9563 ########
|