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

Subversion Repositories usb_nand_reader

[/] [usb_nand_reader/] [trunk/] [mini32/] [CMD_PageProgram.asm] - Blame information for rev 7

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 7 pradd
_cmd_chip_page_program:
2
;CMD_PageProgram.c,7 ::                 unsigned char cmd_chip_page_program(unsigned char* inBuffer, int addressCycles, int pageSize)
3
ADDIU   SP, SP, -16
4
SW      RA, 0(SP)
5
;CMD_PageProgram.c,9 ::                 int i = 0, b;
6
MOVZ    R30, R0, R0
7
SH      R30, 14(SP)
8
;CMD_PageProgram.c,10 ::                nand_send_command(NC_PAGE_PROGRAM_START);
9
SH      R27, 4(SP)
10
SH      R26, 6(SP)
11
SW      R25, 8(SP)
12
ORI     R25, R0, 128
13
JAL     _nand_send_command+0
14
NOP
15
LW      R25, 8(SP)
16
LH      R26, 6(SP)
17
;CMD_PageProgram.c,11 ::                nand_send_address(inBuffer + 1, addressCycles);
18
ADDIU   R2, R25, 1
19
SW      R25, 8(SP)
20
MOVZ    R25, R2, R0
21
JAL     _nand_send_address+0
22
NOP
23
;CMD_PageProgram.c,12 ::                do_delay(5);
24
ORI     R25, R0, 5
25
JAL     _do_delay+0
26
NOP
27
LW      R25, 8(SP)
28
LH      R27, 4(SP)
29
;CMD_PageProgram.c,13 ::                while(i < pageSize)
30
L_cmd_chip_page_program0:
31
SEH     R3, R27
32
LH      R2, 14(SP)
33
SLT     R2, R2, R3
34
BNE     R2, R0, L__cmd_chip_page_program5
35
NOP
36
J       L_cmd_chip_page_program1
37
NOP
38
L__cmd_chip_page_program5:
39
;CMD_PageProgram.c,15 ::                USB_Polling_Proc();
40
SH      R27, 4(SP)
41
SH      R26, 6(SP)
42
SW      R25, 8(SP)
43
JAL     _USB_Polling_Proc+0
44
NOP
45
LW      R25, 8(SP)
46
LH      R26, 6(SP)
47
LH      R27, 4(SP)
48
;CMD_PageProgram.c,16 ::                while(0 == (b = HID_Read()))
49
L_cmd_chip_page_program2:
50
JAL     _HID_Read+0
51
NOP
52
ANDI    R2, R2, 255
53
SH      R2, 12(SP)
54
LH      R2, 12(SP)
55
BEQ     R2, R0, L__cmd_chip_page_program6
56
NOP
57
J       L_cmd_chip_page_program3
58
NOP
59
L__cmd_chip_page_program6:
60
;CMD_PageProgram.c,17 ::                USB_Break();
61
JAL     _USB_Break+0
62
NOP
63
J       L_cmd_chip_page_program2
64
NOP
65
L_cmd_chip_page_program3:
66
;CMD_PageProgram.c,19 ::                nand_write(inBuffer, b);
67
SH      R27, 4(SP)
68
SH      R26, 6(SP)
69
SW      R25, 8(SP)
70
LH      R26, 12(SP)
71
JAL     _nand_write+0
72
NOP
73
LW      R25, 8(SP)
74
LH      R26, 6(SP)
75
LH      R27, 4(SP)
76
;CMD_PageProgram.c,20 ::                i += b;
77
LH      R3, 12(SP)
78
LH      R2, 14(SP)
79
ADDU    R2, R2, R3
80
SH      R2, 14(SP)
81
;CMD_PageProgram.c,21 ::                }
82
J       L_cmd_chip_page_program0
83
NOP
84
L_cmd_chip_page_program1:
85
;CMD_PageProgram.c,22 ::                do_delay(5);
86
SH      R27, 4(SP)
87
SH      R26, 6(SP)
88
SW      R25, 8(SP)
89
ORI     R25, R0, 5
90
JAL     _do_delay+0
91
NOP
92
;CMD_PageProgram.c,23 ::                nand_send_command(NC_PAGE_PROGRAM_END);
93
ORI     R25, R0, 16
94
JAL     _nand_send_command+0
95
NOP
96
;CMD_PageProgram.c,24 ::                do_delay(100);
97
ORI     R25, R0, 100
98
JAL     _do_delay+0
99
NOP
100
;CMD_PageProgram.c,25 ::                nand_wait_ready();
101
JAL     _nand_wait_ready+0
102
NOP
103
;CMD_PageProgram.c,26 ::                return cmd_chip_read_status();
104
JAL     _cmd_chip_read_status+0
105
NOP
106
LW      R25, 8(SP)
107
LH      R26, 6(SP)
108
LH      R27, 4(SP)
109
;CMD_PageProgram.c,27 ::                }
110
L_end_cmd_chip_page_program:
111
LW      RA, 0(SP)
112
ADDIU   SP, SP, 16
113
JR      RA
114
NOP
115
; end of _cmd_chip_page_program

powered by: WebSVN 2.1.0

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