OpenCores
URL https://opencores.org/ocsvn/ffr16/ffr16/trunk

Subversion Repositories ffr16

[/] [ffr16/] [branches/] [APERT/] [sources/] [fpu/] [050803KN/] [compile/] [PASS1.DAT] - Blame information for rev 14

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 2 armando
      LABEL-
2
INSTRUCTION-
3
   OPERAND1-
4
   OPERAND2-
5
    COMMENT-; FAT16 READER V.050303 - Armando Astarloa - 16 BIT VER.
6
      LABEL-
7
INSTRUCTION-
8
   OPERAND1-
9
   OPERAND2-
10
    COMMENT-; APERT - UPV/EHU 2003 - DISTRIBUTED UNDER GPL LICENCE
11
      LABEL-
12
INSTRUCTION-
13
   OPERAND1-
14
   OPERAND2-
15
    COMMENT-;
16
      LABEL-
17
INSTRUCTION-
18
   OPERAND1-
19
   OPERAND2-
20
    COMMENT-; s0 -> TMP0 s1 -> TMP1 s2 -> TMP2 s3 -> TMP3 s4 -> TMP4 / SECTORS_PER_CLUSTER_READED s5 -> TMP5/SECTOR_WORDS_READED (256 TO 0)
21
      LABEL-
22
INSTRUCTION-
23
   OPERAND1-
24
   OPERAND2-
25
    COMMENT-; s6 -> TMP s7 -> SECTORS_PER_CLUSTER s8 -> CLUSTER_BEGIN_LBA0 (FAT) s9 -> CLUSTER_BEGIN_LBA1 sA -> CLUSTER_BEGIN_LBA2
26
      LABEL-
27
INSTRUCTION-
28
   OPERAND1-
29
   OPERAND2-
30
    COMMENT-; sB -> CLUSTER_BEGIN_LBA3 sC -> ROOT_DIRECTORY_FIRST_CLUSTER0 (SUPPOSED LESS THAN 256 - USUALLY 2)
31
      LABEL-
32
INSTRUCTION-
33
   OPERAND1-
34
   OPERAND2-
35
    COMMENT-; sD -> data[7:0] WB MASTER sE -> data[15:8] WB MASTER sF -> acummulator
36
      LABEL-
37
INSTRUCTION-CONSTANT
38
   OPERAND1-DATA_WB_OUT_7_0_MASTER
39
   OPERAND2-00
40
    COMMENT-
41
      LABEL-
42
INSTRUCTION-CONSTANT
43
   OPERAND1-DATA_WB_OUT_15_8_MASTER
44
   OPERAND2-01
45
    COMMENT-
46
      LABEL-
47
INSTRUCTION-CONSTANT
48
   OPERAND1-CONTROL_WB_OUT_MASTER
49
   OPERAND2-02
50
    COMMENT-
51
      LABEL-
52
INSTRUCTION-
53
   OPERAND1-
54
   OPERAND2-
55
    COMMENT-; D7 = D6 = D5 = D4 = D3 = D2 = A0_MASTER D1 = W_WE_MASTER D0 = STB_O_MASTER
56
      LABEL-
57
INSTRUCTION-
58
   OPERAND1-
59
   OPERAND2-
60
    COMMENT-; STROBE_O_MASTER = 1 & W_WE=0 & WB_A0 = 0
61
      LABEL-
62
INSTRUCTION-CONSTANT
63
   OPERAND1-READ_SLAVE
64
   OPERAND2-01
65
    COMMENT-
66
      LABEL-
67
INSTRUCTION-
68
   OPERAND1-
69
   OPERAND2-
70
    COMMENT-; STROBE_O_MASTER = 1 & W_WE=1 & WB_A0 = 0
71
      LABEL-
72
INSTRUCTION-CONSTANT
73
   OPERAND1-WRITE_LBA_15_0
74
   OPERAND2-03
75
    COMMENT-
76
      LABEL-
77
INSTRUCTION-
78
   OPERAND1-
79
   OPERAND2-
80
    COMMENT-; STROBE_CF_READER = 1 & W_WE=1 & WB_A0 = 1
81
      LABEL-
82
INSTRUCTION-CONSTANT
83
   OPERAND1-WRITE_LBA_27_16
84
   OPERAND2-07
85
    COMMENT-
86
      LABEL-
87
INSTRUCTION-
88
   OPERAND1-
89
   OPERAND2-
90
    COMMENT-;--
91
      LABEL-
92
INSTRUCTION-
93
   OPERAND1-
94
   OPERAND2-
95
    COMMENT-;-- SLAVE INTERFACE
96
      LABEL-
97
INSTRUCTION-
98
   OPERAND1-
99
   OPERAND2-
100
    COMMENT-;--
101
      LABEL-
102
INSTRUCTION-CONSTANT
103
   OPERAND1-DATA_WB_OUT_7_0_SLAVE
104
   OPERAND2-03
105
    COMMENT-
106
      LABEL-
107
INSTRUCTION-CONSTANT
108
   OPERAND1-DATA_WB_OUT_15_8_SLAVE
109
   OPERAND2-04
110
    COMMENT-
111
      LABEL-
112
INSTRUCTION-CONSTANT
113
   OPERAND1-CONTROL_WB_OUT_SLAVE
114
   OPERAND2-05
115
    COMMENT-
116
      LABEL-
117
INSTRUCTION-
118
   OPERAND1-
119
   OPERAND2-
120
    COMMENT-; D7 =  D6 =  D5  D4 =  D3 =
121
      LABEL-
122
INSTRUCTION-
123
   OPERAND1-
124
   OPERAND2-
125
    COMMENT-; D2 = TAG1_ERROR
126
      LABEL-
127
INSTRUCTION-
128
   OPERAND1-
129
   OPERAND2-
130
    COMMENT-; D1 = TAG0_WORD_AVAILABLE
131
      LABEL-
132
INSTRUCTION-
133
   OPERAND1-
134
   OPERAND2-
135
    COMMENT-; D0 = ACK_O_SLAVE
136
      LABEL-
137
INSTRUCTION-CONSTANT
138
   OPERAND1-ACK_O_SLAVE
139
   OPERAND2-01
140
    COMMENT-
141
      LABEL-
142
INSTRUCTION-CONSTANT
143
   OPERAND1-TAG0_WORD_AVAILABLE
144
   OPERAND2-02
145
    COMMENT-
146
      LABEL-
147
INSTRUCTION-CONSTANT
148
   OPERAND1-ERROR
149
   OPERAND2-04
150
    COMMENT-
151
      LABEL-
152
INSTRUCTION-
153
   OPERAND1-
154
   OPERAND2-
155
    COMMENT-;--
156
      LABEL-
157
INSTRUCTION-
158
   OPERAND1-
159
   OPERAND2-
160
    COMMENT-;-- BUS CONTROL SIGNALS
161
      LABEL-
162
INSTRUCTION-
163
   OPERAND1-
164
   OPERAND2-
165
    COMMENT-;--
166
      LABEL-
167
INSTRUCTION-CONSTANT
168
   OPERAND1-CONTROL_OUT_MASTER
169
   OPERAND2-06
170
    COMMENT-
171
      LABEL-
172
INSTRUCTION-
173
   OPERAND1-
174
   OPERAND2-
175
    COMMENT-; D7 =  D6 = D5 = D4 = D3 = D2 = D1 =
176
      LABEL-
177
INSTRUCTION-
178
   OPERAND1-
179
   OPERAND2-
180
    COMMENT-; D0 = WB_BUS_MASTER_WRITE_ENABLE
181
      LABEL-
182
INSTRUCTION-CONSTANT
183
   OPERAND1-WB_BUS_MASTER_WRITE_ENABLE
184
   OPERAND2-01
185
    COMMENT-
186
      LABEL-
187
INSTRUCTION-CONSTANT
188
   OPERAND1-CONTROL_OUT_SLAVE
189
   OPERAND2-07
190
    COMMENT-
191
      LABEL-
192
INSTRUCTION-
193
   OPERAND1-
194
   OPERAND2-
195
    COMMENT-; D7 =  D6 = D5 = D4 = D3 = D2 = D1 =
196
      LABEL-
197
INSTRUCTION-
198
   OPERAND1-
199
   OPERAND2-
200
    COMMENT-; D0 = WB_BUS_SLAVE_WRITE_ENABLE
201
      LABEL-
202
INSTRUCTION-CONSTANT
203
   OPERAND1-WB_BUS_SLAVE_WRITE_ENABLE
204
   OPERAND2-01
205
    COMMENT-
206
      LABEL-
207
INSTRUCTION-
208
   OPERAND1-
209
   OPERAND2-
210
    COMMENT-;--
211
      LABEL-
212
INSTRUCTION-
213
   OPERAND1-
214
   OPERAND2-
215
    COMMENT-;-- EXTERNAL REGISTERS FOR MORE DATA ALLOCATION (OTHER OPTION IS THE USE OF
216
      LABEL-
217
INSTRUCTION-
218
   OPERAND1-
219
   OPERAND2-
220
    COMMENT-;-- ANOTHER BLOCK RAM IF IT IS AVALIABLE
221
      LABEL-
222
INSTRUCTION-
223
   OPERAND1-
224
   OPERAND2-
225
    COMMENT-;--
226
      LABEL-
227
INSTRUCTION-CONSTANT
228
   OPERAND1-TMP_OUT_0
229
   OPERAND2-08
230
    COMMENT-
231
      LABEL-
232
INSTRUCTION-CONSTANT
233
   OPERAND1-TMP_OUT_1
234
   OPERAND2-09
235
    COMMENT-
236
      LABEL-
237
INSTRUCTION-CONSTANT
238
   OPERAND1-TMP_OUT_2
239
   OPERAND2-0A
240
    COMMENT-
241
      LABEL-
242
INSTRUCTION-CONSTANT
243
   OPERAND1-TMP_OUT_3
244
   OPERAND2-0B
245
    COMMENT-
246
      LABEL-
247
INSTRUCTION-CONSTANT
248
   OPERAND1-TMP_OUT_4
249
   OPERAND2-0C
250
    COMMENT-
251
      LABEL-
252
INSTRUCTION-CONSTANT
253
   OPERAND1-TMP_OUT_5
254
   OPERAND2-0D
255
    COMMENT-
256
      LABEL-
257
INSTRUCTION-CONSTANT
258
   OPERAND1-TMP_OUT_6
259
   OPERAND2-0E
260
    COMMENT-
261
      LABEL-
262
INSTRUCTION-CONSTANT
263
   OPERAND1-TMP_OUT_7
264
   OPERAND2-0F
265
    COMMENT-
266
      LABEL-
267
INSTRUCTION-
268
   OPERAND1-
269
   OPERAND2-
270
    COMMENT-;--
271
      LABEL-
272
INSTRUCTION-
273
   OPERAND1-
274
   OPERAND2-
275
    COMMENT-;-- INPUT PORTS
276
      LABEL-
277
INSTRUCTION-
278
   OPERAND1-
279
   OPERAND2-
280
    COMMENT-;--
281
      LABEL-
282
INSTRUCTION-
283
   OPERAND1-
284
   OPERAND2-
285
    COMMENT-;--
286
      LABEL-
287
INSTRUCTION-
288
   OPERAND1-
289
   OPERAND2-
290
    COMMENT-;-- WISHBONE INTERFACE PORTS - INPUTS
291
      LABEL-
292
INSTRUCTION-
293
   OPERAND1-
294
   OPERAND2-
295
    COMMENT-;--
296
      LABEL-
297
INSTRUCTION-CONSTANT
298
   OPERAND1-CONTROL_WB_IN_MASTER
299
   OPERAND2-00
300
    COMMENT-
301
      LABEL-
302
INSTRUCTION-
303
   OPERAND1-
304
   OPERAND2-
305
    COMMENT-; D7 = D6 = D5 = D4 = D3 = D2 =
306
      LABEL-
307
INSTRUCTION-
308
   OPERAND1-
309
   OPERAND2-
310
    COMMENT-; D1 = ERROR_INPUT
311
      LABEL-
312
INSTRUCTION-
313
   OPERAND1-
314
   OPERAND2-
315
    COMMENT-; D0 = ACK_I_MASTER
316
      LABEL-
317
INSTRUCTION-
318
   OPERAND1-
319
   OPERAND2-
320
    COMMENT-;
321
      LABEL-
322
INSTRUCTION-CONSTANT
323
   OPERAND1-ACK_I_MASTER
324
   OPERAND2-01
325
    COMMENT-
326
      LABEL-
327
INSTRUCTION-CONSTANT
328
   OPERAND1-ERROR_INPUT
329
   OPERAND2-02
330
    COMMENT-
331
      LABEL-
332
INSTRUCTION-CONSTANT
333
   OPERAND1-CONTROL_WB_IN_SLAVE
334
   OPERAND2-01
335
    COMMENT-
336
      LABEL-
337
INSTRUCTION-
338
   OPERAND1-
339
   OPERAND2-
340
    COMMENT-; D7 = D6 = D5 = D4 = D3 = D2 =
341
      LABEL-
342
INSTRUCTION-
343
   OPERAND1-
344
   OPERAND2-
345
    COMMENT-; D1 = -
346
      LABEL-
347
INSTRUCTION-
348
   OPERAND1-
349
   OPERAND2-
350
    COMMENT-; D0 = STB_I_SLAVE
351
      LABEL-
352
INSTRUCTION-
353
   OPERAND1-
354
   OPERAND2-
355
    COMMENT-;
356
      LABEL-
357
INSTRUCTION-CONSTANT
358
   OPERAND1-STB_I_SLAVE
359
   OPERAND2-01
360
    COMMENT-
361
      LABEL-
362
INSTRUCTION-
363
   OPERAND1-
364
   OPERAND2-
365
    COMMENT-;CONSTANT TAG0_FORCE_RESET,02
366
      LABEL-
367
INSTRUCTION-
368
   OPERAND1-
369
   OPERAND2-
370
    COMMENT-;--
371
      LABEL-
372
INSTRUCTION-
373
   OPERAND1-
374
   OPERAND2-
375
    COMMENT-;-- WISHBONE INTERFACE PORTS - INPUTS
376
      LABEL-
377
INSTRUCTION-
378
   OPERAND1-
379
   OPERAND2-
380
    COMMENT-;--
381
      LABEL-
382
INSTRUCTION-CONSTANT
383
   OPERAND1-DATA_WB_IN_7_0_MASTER
384
   OPERAND2-02
385
    COMMENT-
386
      LABEL-
387
INSTRUCTION-CONSTANT
388
   OPERAND1-DATA_WB_IN_15_8_MASTER
389
   OPERAND2-03
390
    COMMENT-
391
      LABEL-
392
INSTRUCTION-
393
   OPERAND1-
394
   OPERAND2-
395
    COMMENT-;--
396
      LABEL-
397
INSTRUCTION-
398
   OPERAND1-
399
   OPERAND2-
400
    COMMENT-;-- EXTERNAL REGISTERS FOR MORE DATA ALLOCATION (OTHER OPTION IS THE USE OF
401
      LABEL-
402
INSTRUCTION-
403
   OPERAND1-
404
   OPERAND2-
405
    COMMENT-;-- ANOTHER BLOCK RAM IF IT IS AVALIABLE
406
      LABEL-
407
INSTRUCTION-
408
   OPERAND1-
409
   OPERAND2-
410
    COMMENT-;--
411
      LABEL-
412
INSTRUCTION-CONSTANT
413
   OPERAND1-TMP_IN_0
414
   OPERAND2-04
415
    COMMENT-
416
      LABEL-
417
INSTRUCTION-CONSTANT
418
   OPERAND1-TMP_IN_1
419
   OPERAND2-05
420
    COMMENT-
421
      LABEL-
422
INSTRUCTION-CONSTANT
423
   OPERAND1-TMP_IN_2
424
   OPERAND2-06
425
    COMMENT-
426
      LABEL-
427
INSTRUCTION-CONSTANT
428
   OPERAND1-TMP_IN_3
429
   OPERAND2-07
430
    COMMENT-
431
      LABEL-
432
INSTRUCTION-CONSTANT
433
   OPERAND1-TMP_IN_4
434
   OPERAND2-08
435
    COMMENT-
436
      LABEL-
437
INSTRUCTION-CONSTANT
438
   OPERAND1-TMP_IN_5
439
   OPERAND2-09
440
    COMMENT-
441
      LABEL-
442
INSTRUCTION-CONSTANT
443
   OPERAND1-TMP_IN_6
444
   OPERAND2-0A
445
    COMMENT-
446
      LABEL-
447
INSTRUCTION-CONSTANT
448
   OPERAND1-TMP_IN_7
449
   OPERAND2-0B
450
    COMMENT-
451
      LABEL-
452
INSTRUCTION-
453
   OPERAND1-
454
   OPERAND2-
455
    COMMENT-;--
456
      LABEL-
457
INSTRUCTION-
458
   OPERAND1-
459
   OPERAND2-
460
    COMMENT-;-- REGISTERS INITIALIZATION
461
      LABEL-
462
INSTRUCTION-
463
   OPERAND1-
464
   OPERAND2-
465
    COMMENT-;--
466
      LABEL-inicialization
467
INSTRUCTION-
468
   OPERAND1-
469
   OPERAND2-
470
    COMMENT-
471
      LABEL-
472
INSTRUCTION-
473
   OPERAND1-
474
   OPERAND2-
475
    COMMENT-;
476
      LABEL-
477
INSTRUCTION-
478
   OPERAND1-
479
   OPERAND2-
480
    COMMENT-; WISHBONE INTERFACES INIZIALIZATION
481
      LABEL-
482
INSTRUCTION-
483
   OPERAND1-
484
   OPERAND2-
485
    COMMENT-;
486
      LABEL-
487
INSTRUCTION-LOAD
488
   OPERAND1-sF
489
   OPERAND2-00
490
    COMMENT-
491
      LABEL-
492
INSTRUCTION-OUTPUT
493
   OPERAND1-sF
494
   OPERAND2-DATA_WB_OUT_7_0_MASTER
495
    COMMENT-
496
      LABEL-
497
INSTRUCTION-OUTPUT
498
   OPERAND1-sF
499
   OPERAND2-DATA_WB_OUT_15_8_MASTER
500
    COMMENT-
501
      LABEL-
502
INSTRUCTION-OUTPUT
503
   OPERAND1-sF
504
   OPERAND2-DATA_WB_OUT_7_0_SLAVE
505
    COMMENT-
506
      LABEL-
507
INSTRUCTION-OUTPUT
508
   OPERAND1-sF
509
   OPERAND2-DATA_WB_OUT_15_8_SLAVE
510
    COMMENT-
511
      LABEL-
512
INSTRUCTION-OUTPUT
513
   OPERAND1-sF
514
   OPERAND2-CONTROL_WB_OUT_MASTER
515
    COMMENT-
516
      LABEL-
517
INSTRUCTION-OUTPUT
518
   OPERAND1-sF
519
   OPERAND2-CONTROL_WB_OUT_SLAVE
520
    COMMENT-
521
      LABEL-
522
INSTRUCTION-
523
   OPERAND1-
524
   OPERAND2-
525
    COMMENT-;
526
      LABEL-
527
INSTRUCTION-
528
   OPERAND1-
529
   OPERAND2-
530
    COMMENT-; WAIT FOR 410NS*3 (RESET DELAY)
531
      LABEL-
532
INSTRUCTION-
533
   OPERAND1-
534
   OPERAND2-
535
    COMMENT-
536
      LABEL-main
537
INSTRUCTION-
538
   OPERAND1-
539
   OPERAND2-
540
    COMMENT-
541
      LABEL-
542
INSTRUCTION-
543
   OPERAND1-
544
   OPERAND2-
545
    COMMENT-; PROCESS MASTER BOOT RECORD
546
      LABEL-
547
INSTRUCTION-CALL
548
   OPERAND1-process_master_boot_record
549
   OPERAND2-
550
    COMMENT-
551
      LABEL-
552
INSTRUCTION-
553
   OPERAND1-
554
   OPERAND2-
555
    COMMENT-; PROCESS ROOT DIRECTORY
556
      LABEL-
557
INSTRUCTION-CALL
558
   OPERAND1-process_root_directory
559
   OPERAND2-
560
    COMMENT-
561
      LABEL-start
562
INSTRUCTION-
563
   OPERAND1-
564
   OPERAND2-
565
    COMMENT-
566
      LABEL-
567
INSTRUCTION-CALL
568
   OPERAND1-cluster_2_lba
569
   OPERAND2-
570
    COMMENT-
571
      LABEL-
572
INSTRUCTION-
573
   OPERAND1-
574
   OPERAND2-
575
    COMMENT-;CALL write_lba_to_slave
576
      LABEL-
577
INSTRUCTION-
578
   OPERAND1-
579
   OPERAND2-
580
    COMMENT-; sector_per_cluster -> sector_per_cluster_readed
581
      LABEL-
582
INSTRUCTION-LOAD
583
   OPERAND1-s4
584
   OPERAND2-s7
585
    COMMENT-
586
      LABEL-
587
INSTRUCTION-
588
   OPERAND1-
589
   OPERAND2-
590
    COMMENT-; 256 -> (s6) SECTOR_WORDS_READED
591
      LABEL-
592
INSTRUCTION-CALL
593
   OPERAND1-read_sector
594
   OPERAND2-
595
    COMMENT-
596
      LABEL-idle
597
INSTRUCTION-
598
   OPERAND1-
599
   OPERAND2-
600
    COMMENT-
601
      LABEL-
602
INSTRUCTION-INPUT
603
   OPERAND1-s6
604
   OPERAND2-CONTROL_WB_IN_SLAVE
605
    COMMENT-
606
      LABEL-
607
INSTRUCTION-
608
   OPERAND1-
609
   OPERAND2-
610
    COMMENT-; CHECK STB INPUT
611
      LABEL-
612
INSTRUCTION-
613
   OPERAND1-
614
   OPERAND2-
615
    COMMENT-; CONTROL_WB_IN_SLAVE-> TMP (s6)
616
      LABEL-
617
INSTRUCTION-
618
   OPERAND1-
619
   OPERAND2-
620
    COMMENT-; IF STB=1 GO TO THE NEXT STATE
621
      LABEL-
622
INSTRUCTION-
623
   OPERAND1-
624
   OPERAND2-
625
    COMMENT-; IF STB=0 GO TO THE IDLE STATE
626
      LABEL-
627
INSTRUCTION-AND
628
   OPERAND1-s6
629
   OPERAND2-STB_I_SLAVE
630
    COMMENT-
631
      LABEL-
632
INSTRUCTION-JUMP
633
   OPERAND1-Z
634
   OPERAND2-idle
635
    COMMENT-
636
      LABEL-transfer_word_to_master
637
INSTRUCTION-
638
   OPERAND1-
639
   OPERAND2-
640
    COMMENT-
641
      LABEL-
642
INSTRUCTION-CALL
643
   OPERAND1-read_word_from_slave
644
   OPERAND2-
645
    COMMENT-
646
      LABEL-
647
INSTRUCTION-CALL
648
   OPERAND1-write_a_word_to_master
649
   OPERAND2-
650
    COMMENT-
651
      LABEL-
652
INSTRUCTION-
653
   OPERAND1-
654
   OPERAND2-
655
    COMMENT-; (SECTOR WORDS READED)-1
656
      LABEL-
657
INSTRUCTION-SUB
658
   OPERAND1-s5
659
   OPERAND2-01
660
    COMMENT-
661
      LABEL-check_sectors_words_readed
662
INSTRUCTION-
663
   OPERAND1-
664
   OPERAND2-
665
    COMMENT-
666
      LABEL-
667
INSTRUCTION-
668
   OPERAND1-
669
   OPERAND2-
670
    COMMENT-; IF sector_words_readed = 0 THEN READ_NEW_SECTOR
671
      LABEL-
672
INSTRUCTION-
673
   OPERAND1-
674
   OPERAND2-
675
    COMMENT-; IF sector_words_readed > 0 THEN TRANSFER_WORD_TO_MASTER
676
      LABEL-
677
INSTRUCTION-AND
678
   OPERAND1-s5
679
   OPERAND2-s5
680
    COMMENT-
681
      LABEL-
682
INSTRUCTION-CALL
683
   OPERAND1-Z
684
   OPERAND2-check_sector_per_cluster_readed
685
    COMMENT-
686
      LABEL-
687
INSTRUCTION-JUMP
688
   OPERAND1-idle
689
   OPERAND2-
690
    COMMENT-
691
      LABEL-track_new_cluster
692
INSTRUCTION-
693
   OPERAND1-
694
   OPERAND2-
695
    COMMENT-
696
      LABEL-
697
INSTRUCTION-
698
   OPERAND1-
699
   OPERAND2-
700
    COMMENT-; save the number of dummy reads that must be done when the fat sector will be readed
701
      LABEL-
702
INSTRUCTION-
703
   OPERAND1-
704
   OPERAND2-
705
    COMMENT-; an are stored into s5 register
706
      LABEL-
707
INSTRUCTION-
708
   OPERAND1-
709
   OPERAND2-
710
    COMMENT-; in s0 bits 6-0 of the cluster number (offset in the sector -> 256 words-fat16 entries)
711
      LABEL-
712
INSTRUCTION-
713
   OPERAND1-
714
   OPERAND2-
715
    COMMENT-; as is each read operation a word is readed no multiplication is needed
716
      LABEL-
717
INSTRUCTION-
718
   OPERAND1-
719
   OPERAND2-
720
    COMMENT-; RESTORE CLUSTER NUMBER
721
      LABEL-
722
INSTRUCTION-INPUT
723
   OPERAND1-s0
724
   OPERAND2-TMP_IN_4
725
    COMMENT-
726
      LABEL-
727
INSTRUCTION-INPUT
728
   OPERAND1-s1
729
   OPERAND2-TMP_IN_5
730
    COMMENT-
731
      LABEL-
732
INSTRUCTION-INPUT
733
   OPERAND1-s2
734
   OPERAND2-TMP_IN_6
735
    COMMENT-
736
      LABEL-
737
INSTRUCTION-INPUT
738
   OPERAND1-s3
739
   OPERAND2-TMP_IN_7
740
    COMMENT-
741
      LABEL-
742
INSTRUCTION-
743
   OPERAND1-
744
   OPERAND2-
745
    COMMENT-;
746
      LABEL-
747
INSTRUCTION-
748
   OPERAND1-
749
   OPERAND2-
750
    COMMENT-; compose LBA address of the sector of the fat that must be readed
751
      LABEL-
752
INSTRUCTION-
753
   OPERAND1-
754
   OPERAND2-
755
    COMMENT-;
756
      LABEL-
757
INSTRUCTION-
758
   OPERAND1-
759
   OPERAND2-
760
    COMMENT-; SHIFT RIGHT 15-8 TO 7-0
761
      LABEL-
762
INSTRUCTION-
763
   OPERAND1-
764
   OPERAND2-
765
    COMMENT-;
766
      LABEL-
767
INSTRUCTION-LOAD
768
   OPERAND1-sF
769
   OPERAND2-07
770
    COMMENT-
771
      LABEL-do_shift
772
INSTRUCTION-
773
   OPERAND1-
774
   OPERAND2-
775
    COMMENT-
776
      LABEL-
777
INSTRUCTION-SR0
778
   OPERAND1-s3
779
   OPERAND2-
780
    COMMENT-
781
      LABEL-
782
INSTRUCTION-
783
   OPERAND1-
784
   OPERAND2-
785
    COMMENT-; uses the carry for the MSB and stores LSB into the carry
786
      LABEL-
787
INSTRUCTION-SRA
788
   OPERAND1-s2
789
   OPERAND2-
790
    COMMENT-
791
      LABEL-
792
INSTRUCTION-SRA
793
   OPERAND1-s1
794
   OPERAND2-
795
    COMMENT-
796
      LABEL-
797
INSTRUCTION-SRA
798
   OPERAND1-s0
799
   OPERAND2-
800
    COMMENT-
801
      LABEL-
802
INSTRUCTION-SUB
803
   OPERAND1-sF
804
   OPERAND2-01
805
    COMMENT-
806
      LABEL-
807
INSTRUCTION-JUMP
808
   OPERAND1-NZ
809
   OPERAND2-do_shift
810
    COMMENT-
811
      LABEL-
812
INSTRUCTION-CALL
813
   OPERAND1-add_load_fat_begin_lba
814
   OPERAND2-
815
    COMMENT-
816
      LABEL-
817
INSTRUCTION-
818
   OPERAND1-
819
   OPERAND2-
820
    COMMENT-; adds fat_begin_lba to the sector relative to the fat obteined from the cluster
821
      LABEL-
822
INSTRUCTION-
823
   OPERAND1-
824
   OPERAND2-
825
    COMMENT-; now there is the lba of the FAT sector that must be readed in s0,s1,s2,s3
826
      LABEL-
827
INSTRUCTION-CALL
828
   OPERAND1-write_lba_to_slave
829
   OPERAND2-
830
    COMMENT-
831
      LABEL-
832
INSTRUCTION-
833
   OPERAND1-
834
   OPERAND2-
835
    COMMENT-; -- DUMMY READ OF THE WORDS OF THE SECTOR TILL THE ONE OF THE CLUSTER INTEGER
836
      LABEL-
837
INSTRUCTION-INPUT
838
   OPERAND1-sF
839
   OPERAND2-TMP_IN_4
840
    COMMENT-
841
      LABEL-
842
INSTRUCTION-AND
843
   OPERAND1-sF
844
   OPERAND2-7F
845
    COMMENT-
846
      LABEL-
847
INSTRUCTION-CALL
848
   OPERAND1-do_dummy_reads_from_slave
849
   OPERAND2-
850
    COMMENT-
851
      LABEL-
852
INSTRUCTION-
853
   OPERAND1-
854
   OPERAND2-
855
    COMMENT-;
856
      LABEL-
857
INSTRUCTION-
858
   OPERAND1-
859
   OPERAND2-
860
    COMMENT-;  (sD) data[7:0] WB MASTER -> (s0) TEMPORAL REGISTER
861
      LABEL-
862
INSTRUCTION-
863
   OPERAND1-
864
   OPERAND2-
865
    COMMENT-;  (sE) data[7:0] WB MASTER -> (s1) TEMPORAL REGISTER
866
      LABEL-
867
INSTRUCTION-
868
   OPERAND1-
869
   OPERAND2-
870
    COMMENT-; READ 2 BYTES
871
      LABEL-
872
INSTRUCTION-CALL
873
   OPERAND1-read_word_from_slave
874
   OPERAND2-
875
    COMMENT-
876
      LABEL-
877
INSTRUCTION-LOAD
878
   OPERAND1-s0
879
   OPERAND2-sD
880
    COMMENT-
881
      LABEL-
882
INSTRUCTION-LOAD
883
   OPERAND1-s1
884
   OPERAND2-sE
885
    COMMENT-
886
      LABEL-
887
INSTRUCTION-
888
   OPERAND1-
889
   OPERAND2-
890
    COMMENT-;  (sD) data[7:0] WB MASTER -> (s2) TEMPORAL REGISTER
891
      LABEL-
892
INSTRUCTION-
893
   OPERAND1-
894
   OPERAND2-
895
    COMMENT-;  (sE) data[7:0] WB MASTER -> (s3) TEMPORAL REGISTER
896
      LABEL-
897
INSTRUCTION-
898
   OPERAND1-
899
   OPERAND2-
900
    COMMENT-; READ 2 BYTES
901
      LABEL-
902
INSTRUCTION-
903
   OPERAND1-
904
   OPERAND2-
905
    COMMENT-;
906
      LABEL-
907
INSTRUCTION-
908
   OPERAND1-
909
   OPERAND2-
910
    COMMENT-; CHECK IF ITS THE LAST ONE
911
      LABEL-
912
INSTRUCTION-
913
   OPERAND1-
914
   OPERAND2-
915
    COMMENT-; CB3-CL2-CB1-CB0 IN FAT LITTLE ENDIAN ORDER CB0-CB1 CB2-CB3
916
      LABEL-
917
INSTRUCTION-LOAD
918
   OPERAND1-sF
919
   OPERAND2-sE
920
    COMMENT-
921
      LABEL-
922
INSTRUCTION-SUB
923
   OPERAND1-sF
924
   OPERAND2-FF
925
    COMMENT-
926
      LABEL-
927
INSTRUCTION-JUMP
928
   OPERAND1-NZ
929
   OPERAND2-continue_file_processing
930
    COMMENT-
931
      LABEL-
932
INSTRUCTION-LOAD
933
   OPERAND1-sF
934
   OPERAND2-sD
935
    COMMENT-
936
      LABEL-
937
INSTRUCTION-SUB
938
   OPERAND1-sF
939
   OPERAND2-FF
940
    COMMENT-
941
      LABEL-
942
INSTRUCTION-JUMP
943
   OPERAND1-NZ
944
   OPERAND2-continue_file_processing
945
    COMMENT-
946
      LABEL-file_end
947
INSTRUCTION-
948
   OPERAND1-
949
   OPERAND2-
950
    COMMENT-
951
      LABEL-
952
INSTRUCTION-
953
   OPERAND1-
954
   OPERAND2-
955
    COMMENT-; infinite loop (file readed and tranferred)
956
      LABEL-
957
INSTRUCTION-JUMP
958
   OPERAND1-file_end
959
   OPERAND2-
960
    COMMENT-
961
      LABEL-continue_file_processing
962
INSTRUCTION-
963
   OPERAND1-
964
   OPERAND2-
965
    COMMENT-
966
      LABEL-
967
INSTRUCTION-
968
   OPERAND1-
969
   OPERAND2-
970
    COMMENT-; in s0,s1 is the cluster name
971
      LABEL-
972
INSTRUCTION-
973
   OPERAND1-
974
   OPERAND2-
975
    COMMENT-; --
976
      LABEL-
977
INSTRUCTION-
978
   OPERAND1-
979
   OPERAND2-
980
    COMMENT-; (SECTOR WORDS READED)= 256
981
      LABEL-
982
INSTRUCTION-
983
   OPERAND1-
984
   OPERAND2-
985
    COMMENT-; sector_per_cluster -> sector_per_cluster_readed
986
      LABEL-
987
INSTRUCTION-LOAD
988
   OPERAND1-s2
989
   OPERAND2-00
990
    COMMENT-
991
      LABEL-
992
INSTRUCTION-LOAD
993
   OPERAND1-s3
994
   OPERAND2-00
995
    COMMENT-
996
      LABEL-
997
INSTRUCTION-LOAD
998
   OPERAND1-s4
999
   OPERAND2-s7
1000
    COMMENT-
1001
      LABEL-
1002
INSTRUCTION-CALL
1003
   OPERAND1-cluster_2_lba
1004
   OPERAND2-
1005
    COMMENT-
1006
      LABEL-
1007
INSTRUCTION-CALL
1008
   OPERAND1-read_sector
1009
   OPERAND2-
1010
    COMMENT-
1011
      LABEL-
1012
INSTRUCTION-RETURN
1013
   OPERAND1-
1014
   OPERAND2-
1015
    COMMENT-
1016
      LABEL-add_load_fat_begin_lba
1017
INSTRUCTION-
1018
   OPERAND1-
1019
   OPERAND2-
1020
    COMMENT-
1021
      LABEL-
1022
INSTRUCTION-INPUT
1023
   OPERAND1-sF
1024
   OPERAND2-TMP_IN_0
1025
    COMMENT-
1026
      LABEL-
1027
INSTRUCTION-ADD
1028
   OPERAND1-s0
1029
   OPERAND2-sF
1030
    COMMENT-
1031
      LABEL-
1032
INSTRUCTION-INPUT
1033
   OPERAND1-sF
1034
   OPERAND2-TMP_IN_1
1035
    COMMENT-
1036
      LABEL-
1037
INSTRUCTION-ADDCY
1038
   OPERAND1-s1
1039
   OPERAND2-sF
1040
    COMMENT-
1041
      LABEL-
1042
INSTRUCTION-INPUT
1043
   OPERAND1-sF
1044
   OPERAND2-TMP_IN_2
1045
    COMMENT-
1046
      LABEL-
1047
INSTRUCTION-ADDCY
1048
   OPERAND1-s2
1049
   OPERAND2-sF
1050
    COMMENT-
1051
      LABEL-
1052
INSTRUCTION-INPUT
1053
   OPERAND1-sF
1054
   OPERAND2-TMP_IN_3
1055
    COMMENT-
1056
      LABEL-
1057
INSTRUCTION-ADDCY
1058
   OPERAND1-s3
1059
   OPERAND2-sF
1060
    COMMENT-
1061
      LABEL-
1062
INSTRUCTION-RETURN
1063
   OPERAND1-
1064
   OPERAND2-
1065
    COMMENT-
1066
      LABEL-check_sector_per_cluster_readed
1067
INSTRUCTION-
1068
   OPERAND1-
1069
   OPERAND2-
1070
    COMMENT-
1071
      LABEL-
1072
INSTRUCTION-
1073
   OPERAND1-
1074
   OPERAND2-
1075
    COMMENT-; IF sector_per_cluster_readed = 0 THEN TRACK_NEW_CLUSTER
1076
      LABEL-
1077
INSTRUCTION-
1078
   OPERAND1-
1079
   OPERAND2-
1080
    COMMENT-; IF sector_per_cluster_readed > 0 THEN CHECK SECTOR WORDS READED
1081
      LABEL-
1082
INSTRUCTION-
1083
   OPERAND1-
1084
   OPERAND2-
1085
    COMMENT-; (sector_per_cluster_readed)-1
1086
      LABEL-
1087
INSTRUCTION-
1088
   OPERAND1-
1089
   OPERAND2-
1090
    COMMENT-; (SECTOR WORDS READED)= 256
1091
      LABEL-
1092
INSTRUCTION-SUB
1093
   OPERAND1-s4
1094
   OPERAND2-01
1095
    COMMENT-
1096
      LABEL-
1097
INSTRUCTION-AND
1098
   OPERAND1-s4
1099
   OPERAND2-s4
1100
    COMMENT-
1101
      LABEL-
1102
INSTRUCTION-JUMP
1103
   OPERAND1-Z
1104
   OPERAND2-track_new_cluster
1105
    COMMENT-
1106
      LABEL-read_new_sector
1107
INSTRUCTION-
1108
   OPERAND1-
1109
   OPERAND2-
1110
    COMMENT-
1111
      LABEL-
1112
INSTRUCTION-
1113
   OPERAND1-
1114
   OPERAND2-
1115
    COMMENT-; (SECTOR WORDS READED)= 256
1116
      LABEL-
1117
INSTRUCTION-
1118
   OPERAND1-
1119
   OPERAND2-
1120
    COMMENT-; increment LBA
1121
      LABEL-
1122
INSTRUCTION-
1123
   OPERAND1-
1124
   OPERAND2-
1125
    COMMENT-; sector_per_cluster -> sector_per_cluster_readed-1
1126
      LABEL-
1127
INSTRUCTION-ADD
1128
   OPERAND1-s0
1129
   OPERAND2-01
1130
    COMMENT-
1131
      LABEL-
1132
INSTRUCTION-ADDCY
1133
   OPERAND1-s1
1134
   OPERAND2-00
1135
    COMMENT-
1136
      LABEL-
1137
INSTRUCTION-ADDCY
1138
   OPERAND1-s2
1139
   OPERAND2-00
1140
    COMMENT-
1141
      LABEL-
1142
INSTRUCTION-ADDCY
1143
   OPERAND1-s3
1144
   OPERAND2-00
1145
    COMMENT-
1146
      LABEL-read_sector
1147
INSTRUCTION-
1148
   OPERAND1-
1149
   OPERAND2-
1150
    COMMENT-
1151
      LABEL-
1152
INSTRUCTION-LOAD
1153
   OPERAND1-s5
1154
   OPERAND2-00
1155
    COMMENT-
1156
      LABEL-
1157
INSTRUCTION-CALL
1158
   OPERAND1-write_lba_to_slave
1159
   OPERAND2-
1160
    COMMENT-
1161
      LABEL-
1162
INSTRUCTION-RETURN
1163
   OPERAND1-
1164
   OPERAND2-
1165
    COMMENT-
1166
      LABEL-
1167
INSTRUCTION-
1168
   OPERAND1-
1169
   OPERAND2-
1170
    COMMENT-;
1171
      LABEL-
1172
INSTRUCTION-
1173
   OPERAND1-
1174
   OPERAND2-
1175
    COMMENT-; --
1176
      LABEL-
1177
INSTRUCTION-
1178
   OPERAND1-
1179
   OPERAND2-
1180
    COMMENT-; -- PROCESS MASTER BOOT RECORD (READ LBA BEGIN OF THE FIRST PARTITION)
1181
      LABEL-
1182
INSTRUCTION-
1183
   OPERAND1-
1184
   OPERAND2-
1185
    COMMENT-; --
1186
      LABEL-process_master_boot_record
1187
INSTRUCTION-
1188
   OPERAND1-
1189
   OPERAND2-
1190
    COMMENT-
1191
      LABEL-
1192
INSTRUCTION-
1193
   OPERAND1-
1194
   OPERAND2-
1195
    COMMENT-;
1196
      LABEL-
1197
INSTRUCTION-
1198
   OPERAND1-
1199
   OPERAND2-
1200
    COMMENT-; LOAD LBA FOR MBR READ
1201
      LABEL-
1202
INSTRUCTION-
1203
   OPERAND1-
1204
   OPERAND2-
1205
    COMMENT-;
1206
      LABEL-
1207
INSTRUCTION-LOAD
1208
   OPERAND1-s0
1209
   OPERAND2-00
1210
    COMMENT-
1211
      LABEL-
1212
INSTRUCTION-LOAD
1213
   OPERAND1-s1
1214
   OPERAND2-00
1215
    COMMENT-
1216
      LABEL-
1217
INSTRUCTION-LOAD
1218
   OPERAND1-s2
1219
   OPERAND2-00
1220
    COMMENT-
1221
      LABEL-
1222
INSTRUCTION-LOAD
1223
   OPERAND1-s3
1224
   OPERAND2-00
1225
    COMMENT-
1226
      LABEL-
1227
INSTRUCTION-CALL
1228
   OPERAND1-write_lba_to_slave
1229
   OPERAND2-
1230
    COMMENT-
1231
      LABEL-
1232
INSTRUCTION-
1233
   OPERAND1-
1234
   OPERAND2-
1235
    COMMENT-; information of the lba begin for the first partition
1236
      LABEL-
1237
INSTRUCTION-
1238
   OPERAND1-
1239
   OPERAND2-
1240
    COMMENT-; has an offset of 454 bytes -> 227(0xE3) words
1241
      LABEL-
1242
INSTRUCTION-LOAD
1243
   OPERAND1-sF
1244
   OPERAND2-E3
1245
    COMMENT-
1246
      LABEL-
1247
INSTRUCTION-CALL
1248
   OPERAND1-do_dummy_reads_from_slave
1249
   OPERAND2-
1250
    COMMENT-
1251
      LABEL-
1252
INSTRUCTION-
1253
   OPERAND1-
1254
   OPERAND2-
1255
    COMMENT-;
1256
      LABEL-
1257
INSTRUCTION-
1258
   OPERAND1-
1259
   OPERAND2-
1260
    COMMENT-; --
1261
      LABEL-
1262
INSTRUCTION-
1263
   OPERAND1-
1264
   OPERAND2-
1265
    COMMENT-; -- MBR READ - Partition_LBA_Begin EXTRACTION
1266
      LABEL-
1267
INSTRUCTION-
1268
   OPERAND1-
1269
   OPERAND2-
1270
    COMMENT-; --
1271
      LABEL-
1272
INSTRUCTION-
1273
   OPERAND1-
1274
   OPERAND2-
1275
    COMMENT-;
1276
      LABEL-
1277
INSTRUCTION-
1278
   OPERAND1-
1279
   OPERAND2-
1280
    COMMENT-;  (sD) data[7:0] WB MASTER -> (s0) lba
1281
      LABEL-
1282
INSTRUCTION-
1283
   OPERAND1-
1284
   OPERAND2-
1285
    COMMENT-;  (sE) data[15:8] WB MASTER -> (s1) lba
1286
      LABEL-
1287
INSTRUCTION-
1288
   OPERAND1-
1289
   OPERAND2-
1290
    COMMENT-;  (sD) data[7:0] WB MASTER -> (s2) lba
1291
      LABEL-
1292
INSTRUCTION-
1293
   OPERAND1-
1294
   OPERAND2-
1295
    COMMENT-;  (sE) data[15:8] WB MASTER -> (s3) lba
1296
      LABEL-
1297
INSTRUCTION-call
1298
   OPERAND1-store_all_temporal_registers
1299
   OPERAND2-
1300
    COMMENT-
1301
      LABEL-
1302
INSTRUCTION-LOAD
1303
   OPERAND1-s8
1304
   OPERAND2-s0
1305
    COMMENT-
1306
      LABEL-
1307
INSTRUCTION-LOAD
1308
   OPERAND1-s9
1309
   OPERAND2-s1
1310
    COMMENT-
1311
      LABEL-
1312
INSTRUCTION-LOAD
1313
   OPERAND1-sA
1314
   OPERAND2-s2
1315
    COMMENT-
1316
      LABEL-
1317
INSTRUCTION-LOAD
1318
   OPERAND1-sB
1319
   OPERAND2-s3
1320
    COMMENT-
1321
      LABEL-
1322
INSTRUCTION-
1323
   OPERAND1-
1324
   OPERAND2-
1325
    COMMENT-;
1326
      LABEL-
1327
INSTRUCTION-
1328
   OPERAND1-
1329
   OPERAND2-
1330
    COMMENT-; NOW IS THE LBA_BEGIN ON THE TMP REGISTERS
1331
      LABEL-
1332
INSTRUCTION-
1333
   OPERAND1-
1334
   OPERAND2-
1335
    COMMENT-; --------------------
1336
      LABEL-
1337
INSTRUCTION-
1338
   OPERAND1-
1339
   OPERAND2-
1340
    COMMENT-; READ FIRST SECTOR (FAT32 VOLUMEN ID) OF THE PARTITION
1341
      LABEL-
1342
INSTRUCTION-
1343
   OPERAND1-
1344
   OPERAND2-
1345
    COMMENT-; ---------------------
1346
      LABEL-
1347
INSTRUCTION-CALL
1348
   OPERAND1-write_lba_to_slave
1349
   OPERAND2-
1350
    COMMENT-
1351
      LABEL-
1352
INSTRUCTION-
1353
   OPERAND1-
1354
   OPERAND2-
1355
    COMMENT-;
1356
      LABEL-
1357
INSTRUCTION-
1358
   OPERAND1-
1359
   OPERAND2-
1360
    COMMENT-; READ -> SECTORS_PER_CLUSTER (OFFSET 0x0D)
1361
      LABEL-
1362
INSTRUCTION-
1363
   OPERAND1-
1364
   OPERAND2-
1365
    COMMENT-;
1366
      LABEL-
1367
INSTRUCTION-
1368
   OPERAND1-
1369
   OPERAND2-
1370
    COMMENT-; offset 0x0D (13) => READ 13 bytes -> 6(0x06) words and drop LSB in the next
1371
      LABEL-
1372
INSTRUCTION-LOAD
1373
   OPERAND1-sF
1374
   OPERAND2-06
1375
    COMMENT-
1376
      LABEL-
1377
INSTRUCTION-CALL
1378
   OPERAND1-do_dummy_reads_from_slave
1379
   OPERAND2-
1380
    COMMENT-
1381
      LABEL-
1382
INSTRUCTION-
1383
   OPERAND1-
1384
   OPERAND2-
1385
    COMMENT-;
1386
      LABEL-
1387
INSTRUCTION-
1388
   OPERAND1-
1389
   OPERAND2-
1390
    COMMENT-;  (sE) data[7:0] WB MASTER -> (s7) SECTORS PER CLUSTER
1391
      LABEL-
1392
INSTRUCTION-CALL
1393
   OPERAND1-read_word_from_slave
1394
   OPERAND2-
1395
    COMMENT-
1396
      LABEL-
1397
INSTRUCTION-LOAD
1398
   OPERAND1-s7
1399
   OPERAND2-sE
1400
    COMMENT-
1401
      LABEL-
1402
INSTRUCTION-
1403
   OPERAND1-
1404
   OPERAND2-
1405
    COMMENT-;
1406
      LABEL-
1407
INSTRUCTION-
1408
   OPERAND1-
1409
   OPERAND2-
1410
    COMMENT-; READ -> Number_of_Reserved_Sectors (2 bytes) (OFFSET 0x0E)
1411
      LABEL-
1412
INSTRUCTION-
1413
   OPERAND1-
1414
   OPERAND2-
1415
    COMMENT-;
1416
      LABEL-
1417
INSTRUCTION-
1418
   OPERAND1-
1419
   OPERAND2-
1420
    COMMENT-; offset 0x0E (14) => READ 2 bytes -> 1(0x01) words
1421
      LABEL-
1422
INSTRUCTION-
1423
   OPERAND1-
1424
   OPERAND2-
1425
    COMMENT-;  (sD) data[15:8] WB MASTER -> (s6) TEMPORAL REGISTER
1426
      LABEL-
1427
INSTRUCTION-CALL
1428
   OPERAND1-read_word_from_slave
1429
   OPERAND2-
1430
    COMMENT-
1431
      LABEL-
1432
INSTRUCTION-LOAD
1433
   OPERAND1-s6
1434
   OPERAND2-sD
1435
    COMMENT-
1436
      LABEL-
1437
INSTRUCTION-
1438
   OPERAND1-
1439
   OPERAND2-
1440
    COMMENT-;  (sE) data[7:0] WB MASTER -> (s4) TEMPORAL REGISTER
1441
      LABEL-
1442
INSTRUCTION-
1443
   OPERAND1-
1444
   OPERAND2-
1445
    COMMENT-;
1446
      LABEL-
1447
INSTRUCTION-LOAD
1448
   OPERAND1-s4
1449
   OPERAND2-sE
1450
    COMMENT-
1451
      LABEL-
1452
INSTRUCTION-
1453
   OPERAND1-
1454
   OPERAND2-
1455
    COMMENT-;
1456
      LABEL-
1457
INSTRUCTION-
1458
   OPERAND1-
1459
   OPERAND2-
1460
    COMMENT-;fat_begin_lba = Partition_LBA_Begin + Number_of_Reserved_Sectors
1461
      LABEL-
1462
INSTRUCTION-
1463
   OPERAND1-
1464
   OPERAND2-
1465
    COMMENT-;
1466
      LABEL-
1467
INSTRUCTION-ADD
1468
   OPERAND1-s8
1469
   OPERAND2-s6
1470
    COMMENT-
1471
      LABEL-
1472
INSTRUCTION-ADDCY
1473
   OPERAND1-s9
1474
   OPERAND2-s4
1475
    COMMENT-
1476
      LABEL-
1477
INSTRUCTION-ADDCY
1478
   OPERAND1-sA
1479
   OPERAND2-00
1480
    COMMENT-
1481
      LABEL-
1482
INSTRUCTION-ADDCY
1483
   OPERAND1-sB
1484
   OPERAND2-00
1485
    COMMENT-
1486
      LABEL-
1487
INSTRUCTION-
1488
   OPERAND1-
1489
   OPERAND2-
1490
    COMMENT-; store fat_begin_lba in external registers
1491
      LABEL-
1492
INSTRUCTION-OUTPUT
1493
   OPERAND1-s8
1494
   OPERAND2-TMP_OUT_0
1495
    COMMENT-
1496
      LABEL-
1497
INSTRUCTION-OUTPUT
1498
   OPERAND1-s9
1499
   OPERAND2-TMP_OUT_1
1500
    COMMENT-
1501
      LABEL-
1502
INSTRUCTION-OUTPUT
1503
   OPERAND1-sA
1504
   OPERAND2-TMP_OUT_2
1505
    COMMENT-
1506
      LABEL-
1507
INSTRUCTION-OUTPUT
1508
   OPERAND1-sB
1509
   OPERAND2-TMP_OUT_3
1510
    COMMENT-
1511
      LABEL-
1512
INSTRUCTION-
1513
   OPERAND1-
1514
   OPERAND2-
1515
    COMMENT-;
1516
      LABEL-
1517
INSTRUCTION-
1518
   OPERAND1-
1519
   OPERAND2-
1520
    COMMENT-;cluster_begin_lba = Partition_LBA_Begin + Number_of_Reserved_Sectors +
1521
      LABEL-
1522
INSTRUCTION-
1523
   OPERAND1-
1524
   OPERAND2-
1525
    COMMENT-;                           (Number_of_FATs * Sectors_Per_FAT)+ RootDirSectors;
1526
      LABEL-
1527
INSTRUCTION-
1528
   OPERAND1-
1529
   OPERAND2-
1530
    COMMENT-;cluster_begin_lba = fat_begin_lba + (Number_of_FATs * Sectors_Per_FAT)+ RootDirSectors;
1531
      LABEL-
1532
INSTRUCTION-
1533
   OPERAND1-
1534
   OPERAND2-
1535
    COMMENT-; READ -> Number_of_Fats (OFFSET 0x10) (always 2)
1536
      LABEL-
1537
INSTRUCTION-
1538
   OPERAND1-
1539
   OPERAND2-
1540
    COMMENT-;
1541
      LABEL-
1542
INSTRUCTION-
1543
   OPERAND1-
1544
   OPERAND2-
1545
    COMMENT-; offset 0x10 (16) => READ 2 bytes -> 1(0x01) words
1546
      LABEL-
1547
INSTRUCTION-
1548
   OPERAND1-
1549
   OPERAND2-
1550
    COMMENT-;
1551
      LABEL-
1552
INSTRUCTION-
1553
   OPERAND1-
1554
   OPERAND2-
1555
    COMMENT-;  (sD) data[7:0] WB MASTER -> (s6) TEMPORAL REGISTER
1556
      LABEL-
1557
INSTRUCTION-CALL
1558
   OPERAND1-read_word_from_slave
1559
   OPERAND2-
1560
    COMMENT-
1561
      LABEL-
1562
INSTRUCTION-LOAD
1563
   OPERAND1-s6
1564
   OPERAND2-sD
1565
    COMMENT-
1566
      LABEL-
1567
INSTRUCTION-
1568
   OPERAND1-
1569
   OPERAND2-
1570
    COMMENT-;
1571
      LABEL-
1572
INSTRUCTION-
1573
   OPERAND1-
1574
   OPERAND2-
1575
    COMMENT-; FOR FAT16 => NUMBER OF SECTORS OCCUPIED BY THE ROOT DIRECTORY (BYTES_PER_SEC=512)
1576
      LABEL-
1577
INSTRUCTION-
1578
   OPERAND1-
1579
   OPERAND2-
1580
    COMMENT-;
1581
      LABEL-
1582
INSTRUCTION-
1583
   OPERAND1-
1584
   OPERAND2-
1585
    COMMENT-; READ -> RootEntCnt (OFFSET 0x11) (FAT16 PROCESSING)
1586
      LABEL-
1587
INSTRUCTION-
1588
   OPERAND1-
1589
   OPERAND2-
1590
    COMMENT-; RootDirSectors=((BPB_RootEntCnt*32)+(BPB_BytesPerSec-1))/BPB_BytesPerSec
1591
      LABEL-
1592
INSTRUCTION-
1593
   OPERAND1-
1594
   OPERAND2-
1595
    COMMENT-; offset 0x11 (17) => READ 1 bytes
1596
      LABEL-
1597
INSTRUCTION-
1598
   OPERAND1-
1599
   OPERAND2-
1600
    COMMENT-;
1601
      LABEL-
1602
INSTRUCTION-
1603
   OPERAND1-
1604
   OPERAND2-
1605
    COMMENT-;  (sE) data[7:0] WB MASTER -> (s0) TEMPORAL REGISTER
1606
      LABEL-
1607
INSTRUCTION-LOAD
1608
   OPERAND1-s0
1609
   OPERAND2-sE
1610
    COMMENT-
1611
      LABEL-
1612
INSTRUCTION-
1613
   OPERAND1-
1614
   OPERAND2-
1615
    COMMENT-;  (sD) data[15:0] WB MASTER -> (sD) TEMPORAL REGISTER - offset 0x12 (18) => READ 1 bytes
1616
      LABEL-
1617
INSTRUCTION-CALL
1618
   OPERAND1-read_word_from_slave
1619
   OPERAND2-
1620
    COMMENT-
1621
      LABEL-
1622
INSTRUCTION-LOAD
1623
   OPERAND1-s1
1624
   OPERAND2-sD
1625
    COMMENT-
1626
      LABEL-
1627
INSTRUCTION-
1628
   OPERAND1-
1629
   OPERAND2-
1630
    COMMENT-; MULTIPLY BY 32 (100000) 5 SHIFTS TO THE LEFT
1631
      LABEL-
1632
INSTRUCTION-LOAD
1633
   OPERAND1-sF
1634
   OPERAND2-05
1635
    COMMENT-
1636
      LABEL-
1637
INSTRUCTION-
1638
   OPERAND1-
1639
   OPERAND2-
1640
    COMMENT-; LSB '0'
1641
      LABEL-mult_32
1642
INSTRUCTION-
1643
   OPERAND1-
1644
   OPERAND2-
1645
    COMMENT-
1646
      LABEL-
1647
INSTRUCTION-SL0
1648
   OPERAND1-s0
1649
   OPERAND2-
1650
    COMMENT-
1651
      LABEL-
1652
INSTRUCTION-
1653
   OPERAND1-
1654
   OPERAND2-
1655
    COMMENT-; CARRY -> LSB , MSB -> CARRY
1656
      LABEL-
1657
INSTRUCTION-SLA
1658
   OPERAND1-s1
1659
   OPERAND2-
1660
    COMMENT-
1661
      LABEL-
1662
INSTRUCTION-SUB
1663
   OPERAND1-sF
1664
   OPERAND2-01
1665
    COMMENT-
1666
      LABEL-
1667
INSTRUCTION-JUMP
1668
   OPERAND1-NZ
1669
   OPERAND2-mult_32
1670
    COMMENT-
1671
      LABEL-
1672
INSTRUCTION-
1673
   OPERAND1-
1674
   OPERAND2-
1675
    COMMENT-;BPB_RootEntCnt*32+(BPB_BytesPerSec-1) 511 (0x1FF)
1676
      LABEL-
1677
INSTRUCTION-
1678
   OPERAND1-
1679
   OPERAND2-
1680
    COMMENT-;ADD s0,FF (if rounds up => not necessary??)
1681
      LABEL-
1682
INSTRUCTION-
1683
   OPERAND1-
1684
   OPERAND2-
1685
    COMMENT-;ADDCY s1,01
1686
      LABEL-
1687
INSTRUCTION-
1688
   OPERAND1-
1689
   OPERAND2-
1690
    COMMENT-;/BPB_BytesPerSec (512) (1000000000)9 SHIFTS TO THE RIGHT
1691
      LABEL-
1692
INSTRUCTION-LOAD
1693
   OPERAND1-sF
1694
   OPERAND2-09
1695
    COMMENT-
1696
      LABEL-div_512
1697
INSTRUCTION-
1698
   OPERAND1-
1699
   OPERAND2-
1700
    COMMENT-
1701
      LABEL-
1702
INSTRUCTION-
1703
   OPERAND1-
1704
   OPERAND2-
1705
    COMMENT-; uses the carry for the MSB and stores LSB into the carry
1706
      LABEL-
1707
INSTRUCTION-SR0
1708
   OPERAND1-s1
1709
   OPERAND2-
1710
    COMMENT-
1711
      LABEL-
1712
INSTRUCTION-SRA
1713
   OPERAND1-s0
1714
   OPERAND2-
1715
    COMMENT-
1716
      LABEL-
1717
INSTRUCTION-SUB
1718
   OPERAND1-sF
1719
   OPERAND2-01
1720
    COMMENT-
1721
      LABEL-
1722
INSTRUCTION-JUMP
1723
   OPERAND1-NZ
1724
   OPERAND2-div_512
1725
    COMMENT-
1726
      LABEL-
1727
INSTRUCTION-
1728
   OPERAND1-
1729
   OPERAND2-
1730
    COMMENT-; ROUNDs UP
1731
      LABEL-
1732
INSTRUCTION-
1733
   OPERAND1-
1734
   OPERAND2-
1735
    COMMENT-;ADD s0,01
1736
      LABEL-
1737
INSTRUCTION-
1738
   OPERAND1-
1739
   OPERAND2-
1740
    COMMENT-;ADDCY s1,00
1741
      LABEL-
1742
INSTRUCTION-
1743
   OPERAND1-
1744
   OPERAND2-
1745
    COMMENT-;fat_begin_lba + RootDirSectors
1746
      LABEL-
1747
INSTRUCTION-ADD
1748
   OPERAND1-s8
1749
   OPERAND2-s0
1750
    COMMENT-
1751
      LABEL-
1752
INSTRUCTION-ADDCY
1753
   OPERAND1-s9
1754
   OPERAND2-s1
1755
    COMMENT-
1756
      LABEL-
1757
INSTRUCTION-ADDCY
1758
   OPERAND1-sA
1759
   OPERAND2-s2
1760
    COMMENT-
1761
      LABEL-
1762
INSTRUCTION-ADDCY
1763
   OPERAND1-sB
1764
   OPERAND2-s3
1765
    COMMENT-
1766
      LABEL-
1767
INSTRUCTION-
1768
   OPERAND1-
1769
   OPERAND2-
1770
    COMMENT-; READ -> Sectors_per_fat (OFFSET 0x24)
1771
      LABEL-
1772
INSTRUCTION-
1773
   OPERAND1-
1774
   OPERAND2-
1775
    COMMENT-;
1776
      LABEL-
1777
INSTRUCTION-
1778
   OPERAND1-
1779
   OPERAND2-
1780
    COMMENT-; offset 0x16 (22) => READ 2 bytes -> 01(0x01) words
1781
      LABEL-
1782
INSTRUCTION-
1783
   OPERAND1-
1784
   OPERAND2-
1785
    COMMENT-;
1786
      LABEL-
1787
INSTRUCTION-LOAD
1788
   OPERAND1-sF
1789
   OPERAND2-01
1790
    COMMENT-
1791
      LABEL-
1792
INSTRUCTION-CALL
1793
   OPERAND1-do_dummy_reads_from_slave
1794
   OPERAND2-
1795
    COMMENT-
1796
      LABEL-
1797
INSTRUCTION-CALL
1798
   OPERAND1-store_all_temporal_registers
1799
   OPERAND2-
1800
    COMMENT-
1801
      LABEL-
1802
INSTRUCTION-
1803
   OPERAND1-
1804
   OPERAND2-
1805
    COMMENT-;  (Number_of_FATs * Sectors_Per_FAT)
1806
      LABEL-
1807
INSTRUCTION-
1808
   OPERAND1-
1809
   OPERAND2-
1810
    COMMENT-; Number_of_FATs = 2 (10) . Do a shift to the left of the Sectors_Per_Fat
1811
      LABEL-
1812
INSTRUCTION-
1813
   OPERAND1-
1814
   OPERAND2-
1815
    COMMENT-; ***       FAT16 = Sectors_per_fat(BPB_FATSz16)
1816
      LABEL-
1817
INSTRUCTION-
1818
   OPERAND1-
1819
   OPERAND2-
1820
    COMMENT-; LSB '0'
1821
      LABEL-
1822
INSTRUCTION-SL0
1823
   OPERAND1-s0
1824
   OPERAND2-
1825
    COMMENT-
1826
      LABEL-
1827
INSTRUCTION-
1828
   OPERAND1-
1829
   OPERAND2-
1830
    COMMENT-; CARRY -> LSB , MSB -> CARRY
1831
      LABEL-
1832
INSTRUCTION-SLA
1833
   OPERAND1-s1
1834
   OPERAND2-
1835
    COMMENT-
1836
      LABEL-
1837
INSTRUCTION-
1838
   OPERAND1-
1839
   OPERAND2-
1840
    COMMENT-;SLA s2 for fat16 only 2 bytes
1841
      LABEL-
1842
INSTRUCTION-
1843
   OPERAND1-
1844
   OPERAND2-
1845
    COMMENT-;SLA s3
1846
      LABEL-
1847
INSTRUCTION-
1848
   OPERAND1-
1849
   OPERAND2-
1850
    COMMENT-; fat_begin_lba + RootDirSectors + (Number_of_FATs * Sectors_Per_FAT)
1851
      LABEL-
1852
INSTRUCTION-ADD
1853
   OPERAND1-s8
1854
   OPERAND2-s0
1855
    COMMENT-
1856
      LABEL-
1857
INSTRUCTION-ADDCY
1858
   OPERAND1-s9
1859
   OPERAND2-s1
1860
    COMMENT-
1861
      LABEL-
1862
INSTRUCTION-ADDCY
1863
   OPERAND1-sA
1864
   OPERAND2-00
1865
    COMMENT-
1866
      LABEL-
1867
INSTRUCTION-ADDCY
1868
   OPERAND1-sB
1869
   OPERAND2-00
1870
    COMMENT-
1871
      LABEL-
1872
INSTRUCTION-
1873
   OPERAND1-
1874
   OPERAND2-
1875
    COMMENT-; cluster_begin_lba is stored in s8, s9, sA, SB
1876
      LABEL-
1877
INSTRUCTION-
1878
   OPERAND1-
1879
   OPERAND2-
1880
    COMMENT-;
1881
      LABEL-
1882
INSTRUCTION-
1883
   OPERAND1-
1884
   OPERAND2-
1885
    COMMENT-; FOR FAT16 ROOT DIRECTORY POSITION IS FIXED
1886
      LABEL-
1887
INSTRUCTION-
1888
   OPERAND1-
1889
   OPERAND2-
1890
    COMMENT-; root_first_lba =  fat_begin_lba(in external regs) + (Number_of_FATs * Sectors_Per_FAT) (s0,s1,s2,s3)
1891
      LABEL-
1892
INSTRUCTION-
1893
   OPERAND1-
1894
   OPERAND2-
1895
    COMMENT-;
1896
      LABEL-
1897
INSTRUCTION-LOAD
1898
   OPERAND1-s2
1899
   OPERAND2-00
1900
    COMMENT-
1901
      LABEL-
1902
INSTRUCTION-LOAD
1903
   OPERAND1-s3
1904
   OPERAND2-00
1905
    COMMENT-
1906
      LABEL-
1907
INSTRUCTION-CALL
1908
   OPERAND1-add_load_fat_begin_lba
1909
   OPERAND2-
1910
    COMMENT-
1911
      LABEL-
1912
INSTRUCTION-
1913
   OPERAND1-
1914
   OPERAND2-
1915
    COMMENT-; s0,s1,s2,s3 have Root directory begin lba
1916
      LABEL-
1917
INSTRUCTION-RETURN
1918
   OPERAND1-
1919
   OPERAND2-
1920
    COMMENT-
1921
      LABEL-store_all_temporal_registers
1922
INSTRUCTION-
1923
   OPERAND1-
1924
   OPERAND2-
1925
    COMMENT-
1926
      LABEL-
1927
INSTRUCTION-
1928
   OPERAND1-
1929
   OPERAND2-
1930
    COMMENT-; READ 2 BYTES
1931
      LABEL-
1932
INSTRUCTION-CALL
1933
   OPERAND1-read_word_from_slave
1934
   OPERAND2-
1935
    COMMENT-
1936
      LABEL-
1937
INSTRUCTION-
1938
   OPERAND1-
1939
   OPERAND2-
1940
    COMMENT-;  (sD) data[7:0] WB MASTER -> (s0) TEMPORAL REGISTER
1941
      LABEL-
1942
INSTRUCTION-
1943
   OPERAND1-
1944
   OPERAND2-
1945
    COMMENT-;  (sE) data[7:0] WB MASTER -> (s1) TEMPORAL REGISTER
1946
      LABEL-
1947
INSTRUCTION-LOAD
1948
   OPERAND1-s0
1949
   OPERAND2-sD
1950
    COMMENT-
1951
      LABEL-
1952
INSTRUCTION-LOAD
1953
   OPERAND1-s1
1954
   OPERAND2-sE
1955
    COMMENT-
1956
      LABEL-
1957
INSTRUCTION-
1958
   OPERAND1-
1959
   OPERAND2-
1960
    COMMENT-;  (sD) data[7:0] WB MASTER -> (s2) TEMPORAL REGISTER
1961
      LABEL-
1962
INSTRUCTION-
1963
   OPERAND1-
1964
   OPERAND2-
1965
    COMMENT-;  (sE) data[7:0] WB MASTER -> (s3) TEMPORAL REGISTER
1966
      LABEL-
1967
INSTRUCTION-
1968
   OPERAND1-
1969
   OPERAND2-
1970
    COMMENT-; READ 2 BYTES
1971
      LABEL-
1972
INSTRUCTION-CALL
1973
   OPERAND1-read_word_from_slave
1974
   OPERAND2-
1975
    COMMENT-
1976
      LABEL-
1977
INSTRUCTION-LOAD
1978
   OPERAND1-s2
1979
   OPERAND2-sD
1980
    COMMENT-
1981
      LABEL-
1982
INSTRUCTION-LOAD
1983
   OPERAND1-s3
1984
   OPERAND2-sE
1985
    COMMENT-
1986
      LABEL-
1987
INSTRUCTION-RETURN
1988
   OPERAND1-
1989
   OPERAND2-
1990
    COMMENT-
1991
      LABEL-process_root_directory
1992
INSTRUCTION-
1993
   OPERAND1-
1994
   OPERAND2-
1995
    COMMENT-
1996
      LABEL-
1997
INSTRUCTION-
1998
   OPERAND1-
1999
   OPERAND2-
2000
    COMMENT-; INPUT :
2001
      LABEL-
2002
INSTRUCTION-
2003
   OPERAND1-
2004
   OPERAND2-
2005
    COMMENT-; s0,s1,s2,s3 root directory lba (FAT16- FIXED)
2006
      LABEL-
2007
INSTRUCTION-
2008
   OPERAND1-
2009
   OPERAND2-
2010
    COMMENT-; CALL cluster_2_lba
2011
      LABEL-
2012
INSTRUCTION-
2013
   OPERAND1-
2014
   OPERAND2-
2015
    COMMENT-; now s0,s1,s2,s3 contains the lba for the root directory
2016
      LABEL-
2017
INSTRUCTION-
2018
   OPERAND1-
2019
   OPERAND2-
2020
    COMMENT-; the first 32 byte record on the sector must be the root directory information
2021
      LABEL-
2022
INSTRUCTION-
2023
   OPERAND1-
2024
   OPERAND2-
2025
    COMMENT-; check if EOF (first byte of the 32 bytes is 0)
2026
      LABEL-
2027
INSTRUCTION-CALL
2028
   OPERAND1-write_lba_to_slave
2029
   OPERAND2-
2030
    COMMENT-
2031
      LABEL-check_for_a_file
2032
INSTRUCTION-
2033
   OPERAND1-
2034
   OPERAND2-
2035
    COMMENT-
2036
      LABEL-
2037
INSTRUCTION-CALL
2038
   OPERAND1-read_word_from_slave
2039
   OPERAND2-
2040
    COMMENT-
2041
      LABEL-
2042
INSTRUCTION-
2043
   OPERAND1-
2044
   OPERAND2-
2045
    COMMENT-;  (sD) data[7:0] WB MASTER -> (s6) TEMPORAL REGISTER
2046
      LABEL-
2047
INSTRUCTION-LOAD
2048
   OPERAND1-s6
2049
   OPERAND2-sD
2050
    COMMENT-
2051
      LABEL-
2052
INSTRUCTION-LOAD
2053
   OPERAND1-sF
2054
   OPERAND2-s6
2055
    COMMENT-
2056
      LABEL-
2057
INSTRUCTION-AND
2058
   OPERAND1-sF
2059
   OPERAND2-sF
2060
    COMMENT-
2061
      LABEL-
2062
INSTRUCTION-
2063
   OPERAND1-
2064
   OPERAND2-
2065
    COMMENT-; if sF=0 the is not directory => error
2066
      LABEL-
2067
INSTRUCTION-JUMP
2068
   OPERAND1-Z
2069
   OPERAND2-put_error_code
2070
    COMMENT-
2071
      LABEL-
2072
INSTRUCTION-
2073
   OPERAND1-
2074
   OPERAND2-
2075
    COMMENT-;
2076
      LABEL-
2077
INSTRUCTION-
2078
   OPERAND1-
2079
   OPERAND2-
2080
    COMMENT-; check that is not a deleted entry
2081
      LABEL-
2082
INSTRUCTION-
2083
   OPERAND1-
2084
   OPERAND2-
2085
    COMMENT-;
2086
      LABEL-
2087
INSTRUCTION-
2088
   OPERAND1-
2089
   OPERAND2-
2090
    COMMENT-;  (sD) data[7:0] WB MASTER -> (s6) TEMPORAL REGISTER
2091
      LABEL-
2092
INSTRUCTION-LOAD
2093
   OPERAND1-sF
2094
   OPERAND2-E5
2095
    COMMENT-
2096
      LABEL-
2097
INSTRUCTION-AND
2098
   OPERAND1-sF
2099
   OPERAND2-s6
2100
    COMMENT-
2101
      LABEL-
2102
INSTRUCTION-
2103
   OPERAND1-
2104
   OPERAND2-
2105
    COMMENT-; if s6=E5 is a deteled entry => check for new one (offset => sF)
2106
      LABEL-
2107
INSTRUCTION-JUMP
2108
   OPERAND1-Z
2109
   OPERAND2-check_next_directory_entry
2110
    COMMENT-
2111
      LABEL-check_attribute
2112
INSTRUCTION-
2113
   OPERAND1-
2114
   OPERAND2-
2115
    COMMENT-
2116
      LABEL-
2117
INSTRUCTION-
2118
   OPERAND1-
2119
   OPERAND2-
2120
    COMMENT-; ATTRIBUTE -> OFFSET Bh
2121
      LABEL-
2122
INSTRUCTION-
2123
   OPERAND1-
2124
   OPERAND2-
2125
    COMMENT-; check that is not a directory or LONG NAME
2126
      LABEL-
2127
INSTRUCTION-
2128
   OPERAND1-
2129
   OPERAND2-
2130
    COMMENT-; 00arshdv - DV for long name - D for directory
2131
      LABEL-
2132
INSTRUCTION-
2133
   OPERAND1-
2134
   OPERAND2-
2135
    COMMENT-;  (sD) data[7:0] WB MASTER -> (s6) TEMPORAL REGISTER
2136
      LABEL-
2137
INSTRUCTION-LOAD
2138
   OPERAND1-sF
2139
   OPERAND2-04
2140
    COMMENT-
2141
      LABEL-
2142
INSTRUCTION-CALL
2143
   OPERAND1-do_dummy_reads_from_slave
2144
   OPERAND2-
2145
    COMMENT-
2146
      LABEL-
2147
INSTRUCTION-CALL
2148
   OPERAND1-read_word_from_slave
2149
   OPERAND2-
2150
    COMMENT-
2151
      LABEL-
2152
INSTRUCTION-LOAD
2153
   OPERAND1-s6
2154
   OPERAND2-sE
2155
    COMMENT-
2156
      LABEL-
2157
INSTRUCTION-LOAD
2158
   OPERAND1-sF
2159
   OPERAND2-03
2160
    COMMENT-
2161
      LABEL-
2162
INSTRUCTION-AND
2163
   OPERAND1-sF
2164
   OPERAND2-s6
2165
    COMMENT-
2166
      LABEL-
2167
INSTRUCTION-JUMP
2168
   OPERAND1-NZ
2169
   OPERAND2-check_next_directory_entry_attribute
2170
    COMMENT-
2171
      LABEL-
2172
INSTRUCTION-
2173
   OPERAND1-
2174
   OPERAND2-
2175
    COMMENT-; if s6=0 that is not a file => error
2176
      LABEL-
2177
INSTRUCTION-
2178
   OPERAND1-
2179
   OPERAND2-
2180
    COMMENT-;JUMP Z,check_next_directory_entry
2181
      LABEL-
2182
INSTRUCTION-
2183
   OPERAND1-
2184
   OPERAND2-
2185
    COMMENT-; check that is not a directory
2186
      LABEL-
2187
INSTRUCTION-
2188
   OPERAND1-
2189
   OPERAND2-
2190
    COMMENT-; check that is a file (short filename entry)
2191
      LABEL-
2192
INSTRUCTION-
2193
   OPERAND1-
2194
   OPERAND2-
2195
    COMMENT-; in other case error
2196
      LABEL-
2197
INSTRUCTION-
2198
   OPERAND1-
2199
   OPERAND2-
2200
    COMMENT-;
2201
      LABEL-
2202
INSTRUCTION-
2203
   OPERAND1-
2204
   OPERAND2-
2205
    COMMENT-;
2206
      LABEL-
2207
INSTRUCTION-
2208
   OPERAND1-
2209
   OPERAND2-
2210
    COMMENT-; READ CLUSTER INFORMATION FOR THE FILE
2211
      LABEL-
2212
INSTRUCTION-
2213
   OPERAND1-
2214
   OPERAND2-
2215
    COMMENT-;
2216
      LABEL-
2217
INSTRUCTION-CALL
2218
   OPERAND1-read_dir_cluster_hi_cluster_low
2219
   OPERAND2-
2220
    COMMENT-
2221
      LABEL-
2222
INSTRUCTION-RETURN
2223
   OPERAND1-
2224
   OPERAND2-
2225
    COMMENT-
2226
      LABEL-check_next_directory_entry
2227
INSTRUCTION-
2228
   OPERAND1-
2229
   OPERAND2-
2230
    COMMENT-
2231
      LABEL-
2232
INSTRUCTION-
2233
   OPERAND1-
2234
   OPERAND2-
2235
    COMMENT-; go fwd 11 words
2236
      LABEL-
2237
INSTRUCTION-LOAD
2238
   OPERAND1-sF
2239
   OPERAND2-05
2240
    COMMENT-
2241
      LABEL-
2242
INSTRUCTION-CALL
2243
   OPERAND1-do_dummy_reads_from_slave
2244
   OPERAND2-
2245
    COMMENT-
2246
      LABEL-check_next_directory_entry_attribute
2247
INSTRUCTION-
2248
   OPERAND1-
2249
   OPERAND2-
2250
    COMMENT-
2251
      LABEL-
2252
INSTRUCTION-
2253
   OPERAND1-
2254
   OPERAND2-
2255
    COMMENT-; go fwd 5 words
2256
      LABEL-
2257
INSTRUCTION-LOAD
2258
   OPERAND1-sF
2259
   OPERAND2-0A
2260
    COMMENT-
2261
      LABEL-
2262
INSTRUCTION-CALL
2263
   OPERAND1-do_dummy_reads_from_slave
2264
   OPERAND2-
2265
    COMMENT-
2266
      LABEL-
2267
INSTRUCTION-JUMP
2268
   OPERAND1-check_for_a_file
2269
   OPERAND2-
2270
    COMMENT-
2271
      LABEL-read_dir_cluster_hi_cluster_low
2272
INSTRUCTION-
2273
   OPERAND1-
2274
   OPERAND2-
2275
    COMMENT-
2276
      LABEL-
2277
INSTRUCTION-
2278
   OPERAND1-
2279
   OPERAND2-
2280
    COMMENT-; INPUT :
2281
      LABEL-
2282
INSTRUCTION-
2283
   OPERAND1-
2284
   OPERAND2-
2285
    COMMENT-;      before arrive here first two bytes of the directory
2286
      LABEL-
2287
INSTRUCTION-
2288
   OPERAND1-
2289
   OPERAND2-
2290
    COMMENT-;      structure must be readed
2291
      LABEL-
2292
INSTRUCTION-
2293
   OPERAND1-
2294
   OPERAND2-
2295
    COMMENT-; OUTPUT :
2296
      LABEL-
2297
INSTRUCTION-
2298
   OPERAND1-
2299
   OPERAND2-
2300
    COMMENT-; s0,s1 : CLUS_LOW
2301
      LABEL-
2302
INSTRUCTION-
2303
   OPERAND1-
2304
   OPERAND2-
2305
    COMMENT-; s2,s3 : CLUS_HI
2306
      LABEL-
2307
INSTRUCTION-
2308
   OPERAND1-
2309
   OPERAND2-
2310
    COMMENT-;
2311
      LABEL-
2312
INSTRUCTION-
2313
   OPERAND1-
2314
   OPERAND2-
2315
    COMMENT-; READ -> cluster_HI (OFFSET 0x14)
2316
      LABEL-
2317
INSTRUCTION-
2318
   OPERAND1-
2319
   OPERAND2-
2320
    COMMENT-;
2321
      LABEL-
2322
INSTRUCTION-
2323
   OPERAND1-
2324
   OPERAND2-
2325
    COMMENT-; offset 0x14 (20) => READ 18 bytes -> 9(0x09) words
2326
      LABEL-
2327
INSTRUCTION-
2328
   OPERAND1-
2329
   OPERAND2-
2330
    COMMENT-;
2331
      LABEL-
2332
INSTRUCTION-LOAD
2333
   OPERAND1-sF
2334
   OPERAND2-04
2335
    COMMENT-
2336
      LABEL-
2337
INSTRUCTION-CALL
2338
   OPERAND1-do_dummy_reads_from_slave
2339
   OPERAND2-
2340
    COMMENT-
2341
      LABEL-
2342
INSTRUCTION-
2343
   OPERAND1-
2344
   OPERAND2-
2345
    COMMENT-;  (sD) data[7:0] WB MASTER -> s2
2346
      LABEL-
2347
INSTRUCTION-
2348
   OPERAND1-
2349
   OPERAND2-
2350
    COMMENT-;  (sE) data[7:0] WB MASTER -> s3
2351
      LABEL-
2352
INSTRUCTION-
2353
   OPERAND1-
2354
   OPERAND2-
2355
    COMMENT-; READ 2 BYTES
2356
      LABEL-
2357
INSTRUCTION-CALL
2358
   OPERAND1-read_word_from_slave
2359
   OPERAND2-
2360
    COMMENT-
2361
      LABEL-
2362
INSTRUCTION-LOAD
2363
   OPERAND1-s2
2364
   OPERAND2-sD
2365
    COMMENT-
2366
      LABEL-
2367
INSTRUCTION-LOAD
2368
   OPERAND1-s3
2369
   OPERAND2-sE
2370
    COMMENT-
2371
      LABEL-
2372
INSTRUCTION-OUTPUT
2373
   OPERAND1-sE
2374
   OPERAND2-TMP_OUT_7
2375
    COMMENT-
2376
      LABEL-
2377
INSTRUCTION-
2378
   OPERAND1-
2379
   OPERAND2-
2380
    COMMENT-;
2381
      LABEL-
2382
INSTRUCTION-
2383
   OPERAND1-
2384
   OPERAND2-
2385
    COMMENT-; READ -> cluster_low(OFFSET 0x1A)
2386
      LABEL-
2387
INSTRUCTION-
2388
   OPERAND1-
2389
   OPERAND2-
2390
    COMMENT-;
2391
      LABEL-
2392
INSTRUCTION-
2393
   OPERAND1-
2394
   OPERAND2-
2395
    COMMENT-; offset 0x1A (26) => READ 4 bytes -> 2(0x02) words
2396
      LABEL-
2397
INSTRUCTION-
2398
   OPERAND1-
2399
   OPERAND2-
2400
    COMMENT-;
2401
      LABEL-
2402
INSTRUCTION-LOAD
2403
   OPERAND1-sF
2404
   OPERAND2-02
2405
    COMMENT-
2406
      LABEL-
2407
INSTRUCTION-CALL
2408
   OPERAND1-do_dummy_reads_from_slave
2409
   OPERAND2-
2410
    COMMENT-
2411
      LABEL-
2412
INSTRUCTION-
2413
   OPERAND1-
2414
   OPERAND2-
2415
    COMMENT-;  (sD) data[7:0] WB MASTER ->  s0
2416
      LABEL-
2417
INSTRUCTION-
2418
   OPERAND1-
2419
   OPERAND2-
2420
    COMMENT-;  (sE) data[7:0] WB MASTER ->  s1
2421
      LABEL-
2422
INSTRUCTION-
2423
   OPERAND1-
2424
   OPERAND2-
2425
    COMMENT-; READ 2 BYTES
2426
      LABEL-
2427
INSTRUCTION-CALL
2428
   OPERAND1-read_word_from_slave
2429
   OPERAND2-
2430
    COMMENT-
2431
      LABEL-
2432
INSTRUCTION-LOAD
2433
   OPERAND1-s0
2434
   OPERAND2-sD
2435
    COMMENT-
2436
      LABEL-
2437
INSTRUCTION-LOAD
2438
   OPERAND1-s1
2439
   OPERAND2-sE
2440
    COMMENT-
2441
      LABEL-
2442
INSTRUCTION-
2443
   OPERAND1-
2444
   OPERAND2-
2445
    COMMENT-; s0,s1 clus_low s3,s4 - clus_high
2446
      LABEL-
2447
INSTRUCTION-RETURN
2448
   OPERAND1-
2449
   OPERAND2-
2450
    COMMENT-
2451
      LABEL-
2452
INSTRUCTION-
2453
   OPERAND1-
2454
   OPERAND2-
2455
    COMMENT-; -- MBR READ OPERATION - LBA BEGIN DETERMINATION
2456
      LABEL-
2457
INSTRUCTION-
2458
   OPERAND1-
2459
   OPERAND2-
2460
    COMMENT-; '00' -> LBA_7_0,LBA_15_8,LBA_23_16,LD_LBA_27_24
2461
      LABEL-cluster_2_lba
2462
INSTRUCTION-
2463
   OPERAND1-
2464
   OPERAND2-
2465
    COMMENT-
2466
      LABEL-
2467
INSTRUCTION-
2468
   OPERAND1-
2469
   OPERAND2-
2470
    COMMENT-; --
2471
      LABEL-
2472
INSTRUCTION-
2473
   OPERAND1-
2474
   OPERAND2-
2475
    COMMENT-; -- LBA ADDRESS DETERMINATION
2476
      LABEL-
2477
INSTRUCTION-
2478
   OPERAND1-
2479
   OPERAND2-
2480
    COMMENT-; --
2481
      LABEL-
2482
INSTRUCTION-
2483
   OPERAND1-
2484
   OPERAND2-
2485
    COMMENT-; lba_addr = cluster_begin_lba + (cluster_number - 2) * sectors_per_cluster;
2486
      LABEL-
2487
INSTRUCTION-
2488
   OPERAND1-
2489
   OPERAND2-
2490
    COMMENT-;
2491
      LABEL-
2492
INSTRUCTION-
2493
   OPERAND1-
2494
   OPERAND2-
2495
    COMMENT-; INPUT :
2496
      LABEL-
2497
INSTRUCTION-
2498
   OPERAND1-
2499
   OPERAND2-
2500
    COMMENT-; s0 : CLUSTER_NUMBER0, s1 : CLUSTER_NUMBER1, s2: CLUSTER_NUMBER2, s3 : CLUSTER_NUMBER3
2501
      LABEL-
2502
INSTRUCTION-
2503
   OPERAND1-
2504
   OPERAND2-
2505
    COMMENT-; OUTPUT :
2506
      LABEL-
2507
INSTRUCTION-
2508
   OPERAND1-
2509
   OPERAND2-
2510
    COMMENT-; s0 : LBA_ADDR_7_0 TMP1, s1 : LBA_ADDR_15_8, s2 : LBA_ADDR_24_16, s3 : LBA_ADDR_27_24
2511
      LABEL-
2512
INSTRUCTION-
2513
   OPERAND1-
2514
   OPERAND2-
2515
    COMMENT-;
2516
      LABEL-
2517
INSTRUCTION-
2518
   OPERAND1-
2519
   OPERAND2-
2520
    COMMENT-; cluster_number - 2
2521
      LABEL-
2522
INSTRUCTION-
2523
   OPERAND1-
2524
   OPERAND2-
2525
    COMMENT-;
2526
      LABEL-
2527
INSTRUCTION-OUTPUT
2528
   OPERAND1-s0
2529
   OPERAND2-TMP_OUT_4
2530
    COMMENT-
2531
      LABEL-
2532
INSTRUCTION-OUTPUT
2533
   OPERAND1-s1
2534
   OPERAND2-TMP_OUT_5
2535
    COMMENT-
2536
      LABEL-
2537
INSTRUCTION-OUTPUT
2538
   OPERAND1-s2
2539
   OPERAND2-TMP_OUT_6
2540
    COMMENT-
2541
      LABEL-
2542
INSTRUCTION-OUTPUT
2543
   OPERAND1-s3
2544
   OPERAND2-TMP_OUT_7
2545
    COMMENT-
2546
      LABEL-
2547
INSTRUCTION-SUB
2548
   OPERAND1-s0
2549
   OPERAND2-02
2550
    COMMENT-
2551
      LABEL-
2552
INSTRUCTION-SUBCY
2553
   OPERAND1-s1
2554
   OPERAND2-00
2555
    COMMENT-
2556
      LABEL-
2557
INSTRUCTION-SUBCY
2558
   OPERAND1-s2
2559
   OPERAND2-00
2560
    COMMENT-
2561
      LABEL-
2562
INSTRUCTION-SUBCY
2563
   OPERAND1-s3
2564
   OPERAND2-00
2565
    COMMENT-
2566
      LABEL-
2567
INSTRUCTION-
2568
   OPERAND1-
2569
   OPERAND2-
2570
    COMMENT-;
2571
      LABEL-
2572
INSTRUCTION-
2573
   OPERAND1-
2574
   OPERAND2-
2575
    COMMENT-; (cluster_number - 2) * sectors_per_cluster(s7);
2576
      LABEL-
2577
INSTRUCTION-
2578
   OPERAND1-
2579
   OPERAND2-
2580
    COMMENT-;
2581
      LABEL-
2582
INSTRUCTION-
2583
   OPERAND1-
2584
   OPERAND2-
2585
    COMMENT-; to perform the multiplication as sector_per_cluster is 2 multiple must be known
2586
      LABEL-
2587
INSTRUCTION-
2588
   OPERAND1-
2589
   OPERAND2-
2590
    COMMENT-; who many times must be shifted
2591
      LABEL-
2592
INSTRUCTION-
2593
   OPERAND1-
2594
   OPERAND2-
2595
    COMMENT-; (use sD as temporal register)
2596
      LABEL-
2597
INSTRUCTION-LOAD
2598
   OPERAND1-sF
2599
   OPERAND2-08
2600
    COMMENT-
2601
      LABEL-
2602
INSTRUCTION-LOAD
2603
   OPERAND1-sD
2604
   OPERAND2-s7
2605
    COMMENT-
2606
      LABEL-multiply
2607
INSTRUCTION-
2608
   OPERAND1-
2609
   OPERAND2-
2610
    COMMENT-
2611
      LABEL-
2612
INSTRUCTION-SR0
2613
   OPERAND1-sD
2614
   OPERAND2-
2615
    COMMENT-
2616
      LABEL-
2617
INSTRUCTION-
2618
   OPERAND1-
2619
   OPERAND2-
2620
    COMMENT-; loop until detection of the 1 (2 multiple) - Add timeout!!!
2621
      LABEL-
2622
INSTRUCTION-JUMP
2623
   OPERAND1-C
2624
   OPERAND2-add_cluster_begin_lba
2625
    COMMENT-
2626
      LABEL-
2627
INSTRUCTION-
2628
   OPERAND1-
2629
   OPERAND2-
2630
    COMMENT-; LSB '0'
2631
      LABEL-
2632
INSTRUCTION-SL0
2633
   OPERAND1-s0
2634
   OPERAND2-
2635
    COMMENT-
2636
      LABEL-
2637
INSTRUCTION-
2638
   OPERAND1-
2639
   OPERAND2-
2640
    COMMENT-; CARRY -> LSB , MSB -> CARRY
2641
      LABEL-
2642
INSTRUCTION-SLA
2643
   OPERAND1-s1
2644
   OPERAND2-
2645
    COMMENT-
2646
      LABEL-
2647
INSTRUCTION-SLA
2648
   OPERAND1-s2
2649
   OPERAND2-
2650
    COMMENT-
2651
      LABEL-
2652
INSTRUCTION-SLA
2653
   OPERAND1-s3
2654
   OPERAND2-
2655
    COMMENT-
2656
      LABEL-
2657
INSTRUCTION-JUMP
2658
   OPERAND1-multiply
2659
   OPERAND2-
2660
    COMMENT-
2661
      LABEL-add_cluster_begin_lba
2662
INSTRUCTION-
2663
   OPERAND1-
2664
   OPERAND2-
2665
    COMMENT-
2666
      LABEL-
2667
INSTRUCTION-
2668
   OPERAND1-
2669
   OPERAND2-
2670
    COMMENT-; lba_addr (TMP0,TMP1,TMP2,TMP3)= cluster_begin_lba + (cluster_number - 2) * sectors_per_cluster;
2671
      LABEL-
2672
INSTRUCTION-ADD
2673
   OPERAND1-s0
2674
   OPERAND2-s8
2675
    COMMENT-
2676
      LABEL-
2677
INSTRUCTION-ADDCY
2678
   OPERAND1-s1
2679
   OPERAND2-s9
2680
    COMMENT-
2681
      LABEL-
2682
INSTRUCTION-ADDCY
2683
   OPERAND1-s2
2684
   OPERAND2-sA
2685
    COMMENT-
2686
      LABEL-
2687
INSTRUCTION-ADDCY
2688
   OPERAND1-s3
2689
   OPERAND2-sB
2690
    COMMENT-
2691
      LABEL-
2692
INSTRUCTION-RETURN
2693
   OPERAND1-
2694
   OPERAND2-
2695
    COMMENT-
2696
      LABEL-
2697
INSTRUCTION-
2698
   OPERAND1-
2699
   OPERAND2-
2700
    COMMENT-; --
2701
      LABEL-
2702
INSTRUCTION-
2703
   OPERAND1-
2704
   OPERAND2-
2705
    COMMENT-; -- WRITE A WORD INTO THE WB SLAVE INTERFACE (TO THE MASTER)
2706
      LABEL-
2707
INSTRUCTION-
2708
   OPERAND1-
2709
   OPERAND2-
2710
    COMMENT-; --
2711
      LABEL-
2712
INSTRUCTION-
2713
   OPERAND1-
2714
   OPERAND2-
2715
    COMMENT-; INPUTS :
2716
      LABEL-
2717
INSTRUCTION-
2718
   OPERAND1-
2719
   OPERAND2-
2720
    COMMENT-; TMP0 : LSB TO DATA_WB_OUT_7_0_SLAVE
2721
      LABEL-
2722
INSTRUCTION-
2723
   OPERAND1-
2724
   OPERAND2-
2725
    COMMENT-; TMP1 : MSB TO DATA_WB_OUT_15_8_SLAVE
2726
      LABEL-
2727
INSTRUCTION-
2728
   OPERAND1-
2729
   OPERAND2-
2730
    COMMENT-;
2731
      LABEL-write_a_word_to_master
2732
INSTRUCTION-
2733
   OPERAND1-
2734
   OPERAND2-
2735
    COMMENT-
2736
      LABEL-
2737
INSTRUCTION-
2738
   OPERAND1-
2739
   OPERAND2-
2740
    COMMENT-; TMP0 => DATA_WB_OUT_7_0_SLAVE
2741
      LABEL-
2742
INSTRUCTION-OUTPUT
2743
   OPERAND1-sD
2744
   OPERAND2-DATA_WB_OUT_7_0_SLAVE
2745
    COMMENT-
2746
      LABEL-
2747
INSTRUCTION-
2748
   OPERAND1-
2749
   OPERAND2-
2750
    COMMENT-; 00 => DATA_WB_OUT_15_8_SLAVE
2751
      LABEL-
2752
INSTRUCTION-
2753
   OPERAND1-
2754
   OPERAND2-
2755
    COMMENT-;LOAD sF,00 -- 8 BIT VERSION
2756
      LABEL-
2757
INSTRUCTION-
2758
   OPERAND1-
2759
   OPERAND2-
2760
    COMMENT-;OUTPUT sF,DATA_WB_OUT_15_8_SLAVE -- 8 BIT VERSION
2761
      LABEL-
2762
INSTRUCTION-OUTPUT
2763
   OPERAND1-sE
2764
   OPERAND2-DATA_WB_OUT_15_8_SLAVE
2765
    COMMENT-
2766
      LABEL-
2767
INSTRUCTION-CALL
2768
   OPERAND1-write_a_byte_to_master
2769
   OPERAND2-
2770
    COMMENT-
2771
      LABEL-
2772
INSTRUCTION-
2773
   OPERAND1-
2774
   OPERAND2-
2775
    COMMENT-;
2776
      LABEL-
2777
INSTRUCTION-
2778
   OPERAND1-
2779
   OPERAND2-
2780
    COMMENT-; CHECK STB INPUT | CONTROL_WB_IN_SLAVE-> TMP (s6)
2781
      LABEL-
2782
INSTRUCTION-
2783
   OPERAND1-
2784
   OPERAND2-
2785
    COMMENT-;
2786
      LABEL-wait_strobe
2787
INSTRUCTION-
2788
   OPERAND1-
2789
   OPERAND2-
2790
    COMMENT-
2791
      LABEL-
2792
INSTRUCTION-INPUT
2793
   OPERAND1-s6
2794
   OPERAND2-CONTROL_WB_IN_SLAVE
2795
    COMMENT-
2796
      LABEL-
2797
INSTRUCTION-
2798
   OPERAND1-
2799
   OPERAND2-
2800
    COMMENT-;
2801
      LABEL-
2802
INSTRUCTION-
2803
   OPERAND1-
2804
   OPERAND2-
2805
    COMMENT-;
2806
      LABEL-
2807
INSTRUCTION-AND
2808
   OPERAND1-s6
2809
   OPERAND2-STB_I_SLAVE
2810
    COMMENT-
2811
      LABEL-
2812
INSTRUCTION-JUMP
2813
   OPERAND1-Z
2814
   OPERAND2-wait_strobe
2815
    COMMENT-
2816
      LABEL-
2817
INSTRUCTION-
2818
   OPERAND1-
2819
   OPERAND2-
2820
    COMMENT-; TMP1 => DATA_WB_OUT_7_0_SLAVE
2821
      LABEL-
2822
INSTRUCTION-
2823
   OPERAND1-
2824
   OPERAND2-
2825
    COMMENT-; OUTPUT sE,DATA_WB_OUT_7_0_SLAVE
2826
      LABEL-
2827
INSTRUCTION-
2828
   OPERAND1-
2829
   OPERAND2-
2830
    COMMENT-; 00 =>DATA_WB_OUT_15_8_SLAVE
2831
      LABEL-
2832
INSTRUCTION-
2833
   OPERAND1-
2834
   OPERAND2-
2835
    COMMENT-;LOAD sF,00 -- 8 BIT VERSION
2836
      LABEL-
2837
INSTRUCTION-
2838
   OPERAND1-
2839
   OPERAND2-
2840
    COMMENT-;OUTPUT sF,DATA_WB_OUT_15_8_SLAVE -- 8 BIT VERSION
2841
      LABEL-
2842
INSTRUCTION-
2843
   OPERAND1-
2844
   OPERAND2-
2845
    COMMENT-;CALL write_a_byte_to_master -- 8 BIT VERSION
2846
      LABEL-
2847
INSTRUCTION-RETURN
2848
   OPERAND1-
2849
   OPERAND2-
2850
    COMMENT-
2851
      LABEL-write_a_byte_to_master
2852
INSTRUCTION-
2853
   OPERAND1-
2854
   OPERAND2-
2855
    COMMENT-
2856
      LABEL-
2857
INSTRUCTION-
2858
   OPERAND1-
2859
   OPERAND2-
2860
    COMMENT-;
2861
      LABEL-
2862
INSTRUCTION-
2863
   OPERAND1-
2864
   OPERAND2-
2865
    COMMENT-; WB SLAVE WRITE ENABLE ACTIVE
2866
      LABEL-
2867
INSTRUCTION-
2868
   OPERAND1-
2869
   OPERAND2-
2870
    COMMENT-;
2871
      LABEL-
2872
INSTRUCTION-LOAD
2873
   OPERAND1-sF
2874
   OPERAND2-WB_BUS_SLAVE_WRITE_ENABLE
2875
    COMMENT-
2876
      LABEL-
2877
INSTRUCTION-OUTPUT
2878
   OPERAND1-sF
2879
   OPERAND2-CONTROL_OUT_SLAVE
2880
    COMMENT-
2881
      LABEL-
2882
INSTRUCTION-
2883
   OPERAND1-
2884
   OPERAND2-
2885
    COMMENT-;
2886
      LABEL-
2887
INSTRUCTION-
2888
   OPERAND1-
2889
   OPERAND2-
2890
    COMMENT-; ACK TO THE MASTER UNTIL STB FINISH
2891
      LABEL-
2892
INSTRUCTION-
2893
   OPERAND1-
2894
   OPERAND2-
2895
    COMMENT-;
2896
      LABEL-ack_to_the_master
2897
INSTRUCTION-
2898
   OPERAND1-
2899
   OPERAND2-
2900
    COMMENT-
2901
      LABEL-
2902
INSTRUCTION-LOAD
2903
   OPERAND1-sF
2904
   OPERAND2-ACK_O_SLAVE
2905
    COMMENT-
2906
      LABEL-
2907
INSTRUCTION-OUTPUT
2908
   OPERAND1-sF
2909
   OPERAND2-CONTROL_WB_OUT_SLAVE
2910
    COMMENT-
2911
      LABEL-
2912
INSTRUCTION-
2913
   OPERAND1-
2914
   OPERAND2-
2915
    COMMENT-;
2916
      LABEL-
2917
INSTRUCTION-
2918
   OPERAND1-
2919
   OPERAND2-
2920
    COMMENT-;
2921
      LABEL-
2922
INSTRUCTION-LOAD
2923
   OPERAND1-sF
2924
   OPERAND2-00
2925
    COMMENT-
2926
      LABEL-
2927
INSTRUCTION-OUTPUT
2928
   OPERAND1-sF
2929
   OPERAND2-CONTROL_OUT_SLAVE
2930
    COMMENT-
2931
      LABEL-
2932
INSTRUCTION-OUTPUT
2933
   OPERAND1-sF
2934
   OPERAND2-CONTROL_WB_OUT_SLAVE
2935
    COMMENT-
2936
      LABEL-
2937
INSTRUCTION-RETURN
2938
   OPERAND1-
2939
   OPERAND2-
2940
    COMMENT-
2941
      LABEL-
2942
INSTRUCTION-
2943
   OPERAND1-
2944
   OPERAND2-
2945
    COMMENT-; --
2946
      LABEL-
2947
INSTRUCTION-
2948
   OPERAND1-
2949
   OPERAND2-
2950
    COMMENT-; -- WRITE A LBA INTO THE WB MASTER INTERFACE (TO THE SLAVE)
2951
      LABEL-
2952
INSTRUCTION-
2953
   OPERAND1-
2954
   OPERAND2-
2955
    COMMENT-; --
2956
      LABEL-
2957
INSTRUCTION-
2958
   OPERAND1-
2959
   OPERAND2-
2960
    COMMENT-; INPUTS :
2961
      LABEL-
2962
INSTRUCTION-
2963
   OPERAND1-
2964
   OPERAND2-
2965
    COMMENT-; TMP0 : LBA_ADDR_7_0, TMP1 : LBA_ADDR_15_8, TMP2 : LBA_ADDR_24_16, TMP3 : LBA_ADDR_27_24
2966
      LABEL-
2967
INSTRUCTION-
2968
   OPERAND1-
2969
   OPERAND2-
2970
    COMMENT-;
2971
      LABEL-
2972
INSTRUCTION-
2973
   OPERAND1-
2974
   OPERAND2-
2975
    COMMENT-;
2976
      LABEL-write_lba_to_slave
2977
INSTRUCTION-
2978
   OPERAND1-
2979
   OPERAND2-
2980
    COMMENT-
2981
      LABEL-
2982
INSTRUCTION-
2983
   OPERAND1-
2984
   OPERAND2-
2985
    COMMENT-;
2986
      LABEL-
2987
INSTRUCTION-
2988
   OPERAND1-
2989
   OPERAND2-
2990
    COMMENT-; WB MASTER WRITE ENABLE ACTIVE
2991
      LABEL-
2992
INSTRUCTION-
2993
   OPERAND1-
2994
   OPERAND2-
2995
    COMMENT-;
2996
      LABEL-
2997
INSTRUCTION-LOAD
2998
   OPERAND1-sF
2999
   OPERAND2-WB_BUS_MASTER_WRITE_ENABLE
3000
    COMMENT-
3001
      LABEL-
3002
INSTRUCTION-OUTPUT
3003
   OPERAND1-sF
3004
   OPERAND2-CONTROL_OUT_MASTER
3005
    COMMENT-
3006
      LABEL-
3007
INSTRUCTION-
3008
   OPERAND1-
3009
   OPERAND2-
3010
    COMMENT-
3011
      LABEL-
3012
INSTRUCTION-
3013
   OPERAND1-
3014
   OPERAND2-
3015
    COMMENT-;write_lba_15_0_to_slave:
3016
      LABEL-
3017
INSTRUCTION-
3018
   OPERAND1-
3019
   OPERAND2-
3020
    COMMENT-;
3021
      LABEL-
3022
INSTRUCTION-
3023
   OPERAND1-
3024
   OPERAND2-
3025
    COMMENT-; TMP0 : LBA_ADDR_7_0 (s0)  => DATA_WB_OUT_7_0_MASTER
3026
      LABEL-
3027
INSTRUCTION-
3028
   OPERAND1-
3029
   OPERAND2-
3030
    COMMENT-; TMP1 : LBA_ADDR_15_8 (s1) => DATA_WB_OUT_15_8_MASTER
3031
      LABEL-
3032
INSTRUCTION-
3033
   OPERAND1-
3034
   OPERAND2-
3035
    COMMENT-;
3036
      LABEL-
3037
INSTRUCTION-OUTPUT
3038
   OPERAND1-s0
3039
   OPERAND2-DATA_WB_OUT_7_0_MASTER
3040
    COMMENT-
3041
      LABEL-
3042
INSTRUCTION-OUTPUT
3043
   OPERAND1-s1
3044
   OPERAND2-DATA_WB_OUT_15_8_MASTER
3045
    COMMENT-
3046
      LABEL-
3047
INSTRUCTION-
3048
   OPERAND1-
3049
   OPERAND2-
3050
    COMMENT-;
3051
      LABEL-
3052
INSTRUCTION-
3053
   OPERAND1-
3054
   OPERAND2-
3055
    COMMENT-; --
3056
      LABEL-
3057
INSTRUCTION-
3058
   OPERAND1-
3059
   OPERAND2-
3060
    COMMENT-; -- WRITE LBA 15-0 TO THE SLAVE
3061
      LABEL-
3062
INSTRUCTION-
3063
   OPERAND1-
3064
   OPERAND2-
3065
    COMMENT-; --
3066
      LABEL-
3067
INSTRUCTION-
3068
   OPERAND1-
3069
   OPERAND2-
3070
    COMMENT-;
3071
      LABEL-
3072
INSTRUCTION-
3073
   OPERAND1-
3074
   OPERAND2-
3075
    COMMENT-; WB_CONTROL_OUT_MASTER
3076
      LABEL-
3077
INSTRUCTION-
3078
   OPERAND1-
3079
   OPERAND2-
3080
    COMMENT-; W_WE_MASTER = 1
3081
      LABEL-
3082
INSTRUCTION-
3083
   OPERAND1-
3084
   OPERAND2-
3085
    COMMENT-; STB_O_MASTER = 1
3086
      LABEL-
3087
INSTRUCTION-
3088
   OPERAND1-
3089
   OPERAND2-
3090
    COMMENT-; A0 = 0
3091
      LABEL-
3092
INSTRUCTION-
3093
   OPERAND1-
3094
   OPERAND2-
3095
    COMMENT-;
3096
      LABEL-
3097
INSTRUCTION-LOAD
3098
   OPERAND1-sF
3099
   OPERAND2-WRITE_LBA_15_0
3100
    COMMENT-
3101
      LABEL-
3102
INSTRUCTION-OUTPUT
3103
   OPERAND1-sF
3104
   OPERAND2-CONTROL_WB_OUT_MASTER
3105
    COMMENT-
3106
      LABEL-
3107
INSTRUCTION-
3108
   OPERAND1-
3109
   OPERAND2-
3110
    COMMENT-;
3111
      LABEL-
3112
INSTRUCTION-
3113
   OPERAND1-
3114
   OPERAND2-
3115
    COMMENT-; WAIT FOR THE ACK
3116
      LABEL-
3117
INSTRUCTION-
3118
   OPERAND1-
3119
   OPERAND2-
3120
    COMMENT-;
3121
      LABEL-
3122
INSTRUCTION-CALL
3123
   OPERAND1-wait_for_the_ack
3124
   OPERAND2-
3125
    COMMENT-
3126
      LABEL-
3127
INSTRUCTION-
3128
   OPERAND1-
3129
   OPERAND2-
3130
    COMMENT-;write_lba_27_16_to_slave:
3131
      LABEL-
3132
INSTRUCTION-
3133
   OPERAND1-
3134
   OPERAND2-
3135
    COMMENT-;
3136
      LABEL-
3137
INSTRUCTION-
3138
   OPERAND1-
3139
   OPERAND2-
3140
    COMMENT-; TMP2 : LBA_ADDR_23_16 (s2)        => DATA_WB_OUT_7_0_MASTER
3141
      LABEL-
3142
INSTRUCTION-
3143
   OPERAND1-
3144
   OPERAND2-
3145
    COMMENT-; TMP3 : LBA_ADDR_27_24 (s3)        => DATA_WB_OUT_15_8_MASTER
3146
      LABEL-
3147
INSTRUCTION-
3148
   OPERAND1-
3149
   OPERAND2-
3150
    COMMENT-;
3151
      LABEL-
3152
INSTRUCTION-OUTPUT
3153
   OPERAND1-s2
3154
   OPERAND2-DATA_WB_OUT_7_0_MASTER
3155
    COMMENT-
3156
      LABEL-
3157
INSTRUCTION-OUTPUT
3158
   OPERAND1-s3
3159
   OPERAND2-DATA_WB_OUT_15_8_MASTER
3160
    COMMENT-
3161
      LABEL-
3162
INSTRUCTION-
3163
   OPERAND1-
3164
   OPERAND2-
3165
    COMMENT-
3166
      LABEL-
3167
INSTRUCTION-
3168
   OPERAND1-
3169
   OPERAND2-
3170
    COMMENT-; --
3171
      LABEL-
3172
INSTRUCTION-
3173
   OPERAND1-
3174
   OPERAND2-
3175
    COMMENT-; -- WRITE LBA 27-16 TO THE SLAVE
3176
      LABEL-
3177
INSTRUCTION-
3178
   OPERAND1-
3179
   OPERAND2-
3180
    COMMENT-; --
3181
      LABEL-
3182
INSTRUCTION-
3183
   OPERAND1-
3184
   OPERAND2-
3185
    COMMENT-; WB_CONTROL_OUT_MASTER
3186
      LABEL-
3187
INSTRUCTION-
3188
   OPERAND1-
3189
   OPERAND2-
3190
    COMMENT-; W_WE_MASTER = 1
3191
      LABEL-
3192
INSTRUCTION-
3193
   OPERAND1-
3194
   OPERAND2-
3195
    COMMENT-; STB_O_MASTER = 1
3196
      LABEL-
3197
INSTRUCTION-
3198
   OPERAND1-
3199
   OPERAND2-
3200
    COMMENT-; A0 = 0
3201
      LABEL-
3202
INSTRUCTION-
3203
   OPERAND1-
3204
   OPERAND2-
3205
    COMMENT-;
3206
      LABEL-
3207
INSTRUCTION-LOAD
3208
   OPERAND1-sF
3209
   OPERAND2-WRITE_LBA_27_16
3210
    COMMENT-
3211
      LABEL-
3212
INSTRUCTION-OUTPUT
3213
   OPERAND1-sF
3214
   OPERAND2-CONTROL_WB_OUT_MASTER
3215
    COMMENT-
3216
      LABEL-
3217
INSTRUCTION-
3218
   OPERAND1-
3219
   OPERAND2-
3220
    COMMENT-;
3221
      LABEL-
3222
INSTRUCTION-
3223
   OPERAND1-
3224
   OPERAND2-
3225
    COMMENT-; WAIT FOR THE ACK
3226
      LABEL-
3227
INSTRUCTION-
3228
   OPERAND1-
3229
   OPERAND2-
3230
    COMMENT-;
3231
      LABEL-
3232
INSTRUCTION-CALL
3233
   OPERAND1-wait_for_the_ack
3234
   OPERAND2-
3235
    COMMENT-
3236
      LABEL-
3237
INSTRUCTION-
3238
   OPERAND1-
3239
   OPERAND2-
3240
    COMMENT-; --
3241
      LABEL-
3242
INSTRUCTION-
3243
   OPERAND1-
3244
   OPERAND2-
3245
    COMMENT-; -- FINISH WRITE OPERATION ON THE MASTER WB INTERFACE
3246
      LABEL-
3247
INSTRUCTION-
3248
   OPERAND1-
3249
   OPERAND2-
3250
    COMMENT-; --
3251
      LABEL-
3252
INSTRUCTION-
3253
   OPERAND1-
3254
   OPERAND2-
3255
    COMMENT-;
3256
      LABEL-
3257
INSTRUCTION-
3258
   OPERAND1-
3259
   OPERAND2-
3260
    COMMENT-; WB_CONTROL_OUT_MASTER
3261
      LABEL-
3262
INSTRUCTION-
3263
   OPERAND1-
3264
   OPERAND2-
3265
    COMMENT-; W_WE_MASTER = 0
3266
      LABEL-
3267
INSTRUCTION-
3268
   OPERAND1-
3269
   OPERAND2-
3270
    COMMENT-; STB_O_MASTER = 0
3271
      LABEL-
3272
INSTRUCTION-
3273
   OPERAND1-
3274
   OPERAND2-
3275
    COMMENT-; A0 = 0
3276
      LABEL-
3277
INSTRUCTION-
3278
   OPERAND1-
3279
   OPERAND2-
3280
    COMMENT-;
3281
      LABEL-
3282
INSTRUCTION-LOAD
3283
   OPERAND1-sF
3284
   OPERAND2-00
3285
    COMMENT-
3286
      LABEL-
3287
INSTRUCTION-OUTPUT
3288
   OPERAND1-sF
3289
   OPERAND2-CONTROL_WB_OUT_MASTER
3290
    COMMENT-
3291
      LABEL-
3292
INSTRUCTION-OUTPUT
3293
   OPERAND1-sF
3294
   OPERAND2-CONTROL_OUT_MASTER
3295
    COMMENT-
3296
      LABEL-
3297
INSTRUCTION-RETURN
3298
   OPERAND1-
3299
   OPERAND2-
3300
    COMMENT-
3301
      LABEL-
3302
INSTRUCTION-
3303
   OPERAND1-
3304
   OPERAND2-
3305
    COMMENT-; --
3306
      LABEL-
3307
INSTRUCTION-
3308
   OPERAND1-
3309
   OPERAND2-
3310
    COMMENT-; -- PERFORM DUMMY READS FROM THE WB SLAVE
3311
      LABEL-
3312
INSTRUCTION-
3313
   OPERAND1-
3314
   OPERAND2-
3315
    COMMENT-; --
3316
      LABEL-
3317
INSTRUCTION-
3318
   OPERAND1-
3319
   OPERAND2-
3320
    COMMENT-; -- IN sF ARE THE NUMBER OF WORDS THAT MUST BE READED
3321
      LABEL-
3322
INSTRUCTION-
3323
   OPERAND1-
3324
   OPERAND2-
3325
    COMMENT-; --
3326
      LABEL-do_dummy_reads_from_slave
3327
INSTRUCTION-
3328
   OPERAND1-
3329
   OPERAND2-
3330
    COMMENT-
3331
      LABEL-
3332
INSTRUCTION-LOAD
3333
   OPERAND1-s6
3334
   OPERAND2-sF
3335
    COMMENT-
3336
      LABEL-dummy_reads_from_slave
3337
INSTRUCTION-
3338
   OPERAND1-
3339
   OPERAND2-
3340
    COMMENT-
3341
      LABEL-
3342
INSTRUCTION-CALL
3343
   OPERAND1-read_word_from_slave
3344
   OPERAND2-
3345
    COMMENT-
3346
      LABEL-
3347
INSTRUCTION-SUB
3348
   OPERAND1-s6
3349
   OPERAND2-01
3350
    COMMENT-
3351
      LABEL-
3352
INSTRUCTION-JUMP
3353
   OPERAND1-NZ
3354
   OPERAND2-dummy_reads_from_slave
3355
    COMMENT-
3356
      LABEL-
3357
INSTRUCTION-RETURN
3358
   OPERAND1-
3359
   OPERAND2-
3360
    COMMENT-
3361
      LABEL-
3362
INSTRUCTION-
3363
   OPERAND1-
3364
   OPERAND2-
3365
    COMMENT-
3366
      LABEL-
3367
INSTRUCTION-
3368
   OPERAND1-
3369
   OPERAND2-
3370
    COMMENT-; --
3371
      LABEL-
3372
INSTRUCTION-
3373
   OPERAND1-
3374
   OPERAND2-
3375
    COMMENT-; -- PERFORM A WORD READING FROM THE WB SLAVE
3376
      LABEL-
3377
INSTRUCTION-
3378
   OPERAND1-
3379
   OPERAND2-
3380
    COMMENT-; --
3381
      LABEL-read_word_from_slave
3382
INSTRUCTION-
3383
   OPERAND1-
3384
   OPERAND2-
3385
    COMMENT-
3386
      LABEL-
3387
INSTRUCTION-
3388
   OPERAND1-
3389
   OPERAND2-
3390
    COMMENT-; WB_CONTROL_OUT_MASTER
3391
      LABEL-
3392
INSTRUCTION-
3393
   OPERAND1-
3394
   OPERAND2-
3395
    COMMENT-; W_WE_MASTER = 0
3396
      LABEL-
3397
INSTRUCTION-
3398
   OPERAND1-
3399
   OPERAND2-
3400
    COMMENT-; STB_O_MASTER = 1
3401
      LABEL-
3402
INSTRUCTION-
3403
   OPERAND1-
3404
   OPERAND2-
3405
    COMMENT-; A0 = 0
3406
      LABEL-
3407
INSTRUCTION-
3408
   OPERAND1-
3409
   OPERAND2-
3410
    COMMENT-; wait state
3411
      LABEL-
3412
INSTRUCTION-LOAD
3413
   OPERAND1-sF
3414
   OPERAND2-READ_SLAVE
3415
    COMMENT-
3416
      LABEL-
3417
INSTRUCTION-OUTPUT
3418
   OPERAND1-sF
3419
   OPERAND2-CONTROL_WB_OUT_MASTER
3420
    COMMENT-
3421
      LABEL-
3422
INSTRUCTION-
3423
   OPERAND1-
3424
   OPERAND2-
3425
    COMMENT-;
3426
      LABEL-
3427
INSTRUCTION-
3428
   OPERAND1-
3429
   OPERAND2-
3430
    COMMENT-; WAIT FOR THE ACK
3431
      LABEL-
3432
INSTRUCTION-
3433
   OPERAND1-
3434
   OPERAND2-
3435
    COMMENT-;
3436
      LABEL-
3437
INSTRUCTION-
3438
   OPERAND1-
3439
   OPERAND2-
3440
    COMMENT-; CALL wait_for_the_ack
3441
      LABEL-
3442
INSTRUCTION-
3443
   OPERAND1-
3444
   OPERAND2-
3445
    COMMENT-;JUMP Z,data_available_on_wb_master
3446
      LABEL-wait_for_the_ack
3447
INSTRUCTION-
3448
   OPERAND1-
3449
   OPERAND2-
3450
    COMMENT-
3451
      LABEL-
3452
INSTRUCTION-
3453
   OPERAND1-
3454
   OPERAND2-
3455
    COMMENT-;
3456
      LABEL-
3457
INSTRUCTION-
3458
   OPERAND1-
3459
   OPERAND2-
3460
    COMMENT-; CONTROL_WB_IN_MASTER -> TMP (s6)
3461
      LABEL-
3462
INSTRUCTION-
3463
   OPERAND1-
3464
   OPERAND2-
3465
    COMMENT-;
3466
      LABEL-
3467
INSTRUCTION-INPUT
3468
   OPERAND1-sF
3469
   OPERAND2-CONTROL_WB_IN_MASTER
3470
    COMMENT-
3471
      LABEL-
3472
INSTRUCTION-
3473
   OPERAND1-
3474
   OPERAND2-
3475
    COMMENT-;
3476
      LABEL-
3477
INSTRUCTION-AND
3478
   OPERAND1-sF
3479
   OPERAND2-ACK_I_MASTER
3480
    COMMENT-
3481
      LABEL-
3482
INSTRUCTION-JUMP
3483
   OPERAND1-Z
3484
   OPERAND2-wait_for_the_ack
3485
    COMMENT-
3486
      LABEL-data_available_on_wb_master
3487
INSTRUCTION-
3488
   OPERAND1-
3489
   OPERAND2-
3490
    COMMENT-
3491
      LABEL-
3492
INSTRUCTION-
3493
   OPERAND1-
3494
   OPERAND2-
3495
    COMMENT-; This part is not necessary in write operations
3496
      LABEL-
3497
INSTRUCTION-
3498
   OPERAND1-
3499
   OPERAND2-
3500
    COMMENT-; DATA_WB_IN_7_0_MASTER -> (sD) data[7:0] WB MASTER
3501
      LABEL-
3502
INSTRUCTION-
3503
   OPERAND1-
3504
   OPERAND2-
3505
    COMMENT-; DATA_WB_IN_15_8_MASTER -> (sE) data[15:8] WB MASTER
3506
      LABEL-
3507
INSTRUCTION-INPUT
3508
   OPERAND1-sD
3509
   OPERAND2-DATA_WB_IN_7_0_MASTER
3510
    COMMENT-
3511
      LABEL-
3512
INSTRUCTION-INPUT
3513
   OPERAND1-sE
3514
   OPERAND2-DATA_WB_IN_15_8_MASTER
3515
    COMMENT-
3516
      LABEL-
3517
INSTRUCTION-
3518
   OPERAND1-
3519
   OPERAND2-
3520
    COMMENT-; DISABLE RD/WR OPERATION REQUEST
3521
      LABEL-
3522
INSTRUCTION-LOAD
3523
   OPERAND1-sF
3524
   OPERAND2-00
3525
    COMMENT-
3526
      LABEL-
3527
INSTRUCTION-OUTPUT
3528
   OPERAND1-sF
3529
   OPERAND2-CONTROL_WB_OUT_MASTER
3530
    COMMENT-
3531
      LABEL-
3532
INSTRUCTION-RETURN
3533
   OPERAND1-
3534
   OPERAND2-
3535
    COMMENT-
3536
      LABEL-put_error_code
3537
INSTRUCTION-
3538
   OPERAND1-
3539
   OPERAND2-
3540
    COMMENT-
3541
      LABEL-
3542
INSTRUCTION-LOAD
3543
   OPERAND1-sF
3544
   OPERAND2-ERROR
3545
    COMMENT-
3546
      LABEL-
3547
INSTRUCTION-OUTPUT
3548
   OPERAND1-sF
3549
   OPERAND2-CONTROL_WB_OUT_SLAVE
3550
    COMMENT-
3551
      LABEL-
3552
INSTRUCTION-JUMP
3553
   OPERAND1-put_error_code
3554
   OPERAND2-
3555
    COMMENT-
3556
      LABEL-interrupt
3557
INSTRUCTION-
3558
   OPERAND1-
3559
   OPERAND2-
3560
    COMMENT-
3561
      LABEL-
3562
INSTRUCTION-RETURNI
3563
   OPERAND1-ENABLE
3564
   OPERAND2-
3565
    COMMENT-

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.