aboutsummaryrefslogtreecommitdiffstats
path: root/tests/t_251/t_251.asm
blob: 2002ac90114ad9beb301c6e717e83cc3c46befd1 (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
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
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
	cpu	80c251
        include reg251

        page	0

        org	0ff0000h

data	equ	30h
;acc     equ     0eeh
Bit1	bit	21h.7
Bit2	bit	s:90h.4
Bit3	bit	data.5
Bit4	bit	acc.3
Bit5	bit	Bit3

        acall	Targ
        ajmp	Targ

        lcall	Targ
        lcall	@wr4
        ljmp	Targ
        ljmp	@wr2

        ecall	Targ
        ecall	@dpx
        ejmp	Targ
        ejmp	@dr16

        sjmp	Targ
        jc	Targ
        jnc	Targ
        jnz	Targ
        jz	Targ
        je	Targ
        jsle	Targ
        jle	Targ
        jne	Targ
        jsg	Targ
        jsge	Targ
        jsl	Targ
        jsle	Targ

        jmp	@a+dptr
        jmp	@wr2
        jmp	@dr16
        jmp	Targ
        jmp	Targ+4000h
        jmp	4000h
        call	@wr4
        call	@dpx
        call	Targ
        call	Targ+4000h

        jb      Bit1,Targ
        jbc	Bit2,Targ
        jnb     Bit4,Targ
        jb	Bit3,Targ
        jnb	s:91h.4,Targ
        jbc	44h.5,Targ

        djnz	r5,Targ
        djnz	acc,Targ
        djnz    data,Targ

        cjne	a,data,Targ
        cjne	a,#'A',Targ
        cjne	r6,#50,Targ
        cjne	@r1,#40h,Targ

Targ:

	add	a,#12h
        add	a,data
        add	a,1234h
        add	a,@r1
        add	a,@wr2
        add	a,@dr8
        add	a,r4
        add	a,a
        add	a,r13
	add	r3,r12
	add	wr8,wr12
        add	dr20,dpx
        add	r4,#23h
        add	r11,#23h
        add	wr4,#1234h
        add	dr4,#1234h
        add	r8,data
        add	r11,data
        add	wr8,data
        add     r8,1234h
        add	wr8,55ah
        add	r11,@r1
        add	r2,@wr6
        add	r6,@dr12

        sub	a,r7
        sub	wr4,wr10
        sub	dr12,dr28
        sub	r4,#10
        sub	wr6,#1000
        sub	dr16,#05aa5h
        sub	a,data
        sub	wr8,data
        sub	r12,1243h
        sub	wr10,1342h
        sub	r3,@wr14
        sub	a,@spx

        cmp	a,r7
        cmp	wr4,wr10
        cmp	dr12,dr28
        cmp	r4,#10
        cmp	wr6,#1000
        cmp	dr16,#05aa5h
        cmp	dr16,#-3
        cmp	a,data
        cmp	wr8,data
        cmp	r12,1243h
        cmp	wr10,1342h
        cmp	r3,@wr14
        cmp	a,@spx

        addc	a,r6
        addc	r11,@r0
        addc	a,data
        addc	a,#20h
        subb	a,r6
        subb	r11,@r0
        subb	a,data
        subb	a,#20h

        anl	c,Bit1
        anl	cy,Bit3
        anl	c,/Bit1
        anl	cy,/Bit3
        orl	c,Bit1
        orl	cy,Bit3
        orl	c,/Bit1
        orl	cy,/Bit3

        anl	data,a
        anl	data,r11
        anl	data,#10001111b
	anl	a,#20h
        anl	a,acc
        anl	a,90h
        anl	a,s:90h
        anl	a,@r1
        anl	a,@wr10
        anl	a,@dr12
        anl	a,r4
        anl	a,r10
        anl	a,a
        anl	r10,r4
        anl	wr10,wr6
        anl	r10,#55h
        anl	r11,#0aah
        anl	wr14,#1000100010001001b
        anl	r1,data
        anl	r11,data
        anl	wr4,data
        anl	r10,1234h
        anl	wr2,1234h
        anl	r11,@r1
        anl	r6,@wr14
        anl	r7,@dr16

        orl	data,a
        orl	data,r11
        orl	data,#10001111b
	orl	a,#20h
        orl	a,acc
        orl	a,90h
        orl	a,s:90h
        orl	a,@r1
        orl	a,@wr10
        orl	a,@dr12
        orl	a,r4
        orl	a,r10
        orl	a,a
        orl	r10,r4
        orl	wr10,wr6
        orl	r10,#55h
        orl	r11,#0aah
        orl	wr14,#1000100010001001b
        orl	r1,data
        orl	r11,data
        orl	wr4,data
        orl	r10,1234h
        orl	wr2,1234h
        orl	r11,@r1
        orl	r6,@wr14
        orl	r7,@dr16

        xrl	data,a
        xrl	data,r11
        xrl	data,#10001111b
	xrl	a,#20h
        xrl	a,acc
        xrl	a,90h
        xrl	a,s:90h
        xrl	a,@r1
        xrl	a,@wr10
        xrl	a,@dr12
        xrl	a,r4
        xrl	a,r10
        xrl	a,a
        xrl	r10,r4
        xrl	wr10,wr6
        xrl	r10,#55h
        xrl	r11,#0aah
        xrl	wr14,#1000100010001001b
        xrl	r1,data
        xrl	r11,data
        xrl	wr4,data
        xrl	r10,1234h
        xrl	wr2,1234h
        xrl	r11,@r1
        xrl	r6,@wr14
        xrl	r7,@dr16


        clr	a
        clr	c
        clr	Bit1
        clr	s:92h.6

        cpl	a
        cpl	c
        cpl	Bit1
        cpl	s:92h.6

        setb	c
        setb	Bit1
        setb	s:92h.6

	dec	a
        dec	data
        dec	@r1
        dec	r5,#1
        dec     r10
        dec	r11,#1
        dec	a,#2
        dec	r11,#4
        dec	wr2,#2
        dec	spx,#4

	inc	a
        inc	data
        inc	@r1
        inc	r5,#1
        inc     r10
        inc	r11,#1
        inc	a,#2
        inc	r11,#4
        inc	wr2,#2
        inc	spx,#4
        inc	dptr

        mul	ab
        mul	r5,r7
        mul	wr10,wr14

        div	ab
        div	r5,r7
        div	wr10,wr14

	mov	a,#10
        mov	acc,#20
        mov	@r1,#30
        mov	r4,#40
        mov	data,acc
        mov	s:90h,@r1
        mov	70h,r6
        mov	@r1,data
        mov	r5,data
        mov	a,acc
        mov	a,@r1
        mov	a,r2
        mov	acc,a
        mov	@r1,a
        mov	r4,a
        mov	a,r12
        mov	r12,a
        mov	r11,r5
        mov	r5,r11
        mov	r10,r6
        mov	wr4,wr10
        mov	dr12,dpx
        mov	r11,#50
        mov	r7,#60
        mov	r14,#70
        mov	wr12,#8090
        mov	dr12,#8090
        mov	dr12,#-100
        mov	r11,data
        mov	r4,data
        mov	r15,data
        mov	wr10,acc
        mov	dr16,s:0a0h
        mov	a,1234h
        mov	r10,1234h
        mov	wr14,1234h
        mov	dr20,1243h
        mov	a,@wr10
        mov	r2,@wr10
        mov	a,@dr12
        mov	r4,@dr12
        mov	wr10,@wr12
        mov	wr10,@dr12
        mov	data,r11
        mov	data,r5
        mov	data,r8
        mov	data,wr2
        mov	data,spx
        mov	1234h,a
        mov	1234h,r5
        mov	1234h,wr8
        mov	1234h,dr16
        mov	@wr14,a
        mov	@wr14,r9
        mov	@dr12,a
        mov	@dr12,r8
        mov	@wr14,wr18
        mov	@dr8,wr18
        mov	a,@wr2+10
        mov	r4,@wr2-20
        mov	wr10,@wr2+30
        mov	a,@dpx-40
        mov	r8,@dpx+50
        mov	wr10,@dpx-60
        mov	@wr2+10,a
        mov	@wr2-20,r4
        mov	@wr2+30,wr10
        mov	@dpx-40,a
        mov	@dpx+50,r8
        mov	@dpx-60,wr10
        mov	dptr,#1234h

        movc	a,@a+dptr
        movc	a,@a+pc

        movh	dr12,#55aah

        movs	wr10,a
        movz	wr12,r12

        movx	a,@dptr
        movx	a,@r1
        movx	@dptr,a
        movx	@r0,r11

        pop	data
        pop	acc
        pop	a
        pop	r5
        pop	wr8
        pop	dr20
        push	data
        push	acc
        push	a
        push	r5
        push	wr8
        push	dr20
        push	#20
        pushw	#55aah

        xch	a,r5
        xch	a,data
        xch	a,@r1
        xch	r5,r11
        xch	data,a
        xch	@r1,a
        xchd	a,@r1
        xchd	@r1,r11

        nop
        ret
        reti
        eret
        trap

        da	a
        rl	a
        rlc	a
        rr	a
        rrc	a
        swap	r11

        sll	a
        sll	r6
        sll	wr12
        sra	a
        sra	r6
        sra	wr12
        srl	a
        srl	r6
        srl	wr12