📄 mac_mem.lst
字号:
\ 000007 19 DEC R1
70 *pRam = *pData;
\ 000008 8C82 MOV DPL,R4
\ 00000A 8D83 MOV DPH,R5
\ 00000C E0 MOVX A,@DPTR
\ 00000D 8A82 MOV DPL,R2
\ 00000F 8B83 MOV DPH,R3
\ 000011 F0 MOVX @DPTR,A
71 pRam++;
\ 000012 A3 INC DPTR
\ 000013 AA82 MOV R2,DPL
\ 000015 AB83 MOV R3,DPH
72 pData++;
\ 000017 8C82 MOV DPL,R4
\ 000019 8D83 MOV DPH,R5
\ 00001B A3 INC DPTR
\ 00001C AC82 MOV R4,DPL
\ 00001E AD83 MOV R5,DPH
73 }
\ ??macMemWriteRam_0:
\ 000020 E9 MOV A,R1
\ 000021 70E4 JNZ ??macMemWriteRam_1
74 }
\ 000023 80.. SJMP ?Subroutine0
\ In segment BANKED_CODE, align 1, keep-with-next
\ ?Subroutine0:
\ 000000 7F01 MOV R7,#0x1
\ 000002 02.... LJMP ?BANKED_LEAVE_XDATA
75
76
77 /**************************************************************************************************
78 * @fn macMemReadRam
79 *
80 * @brief Read multiple bytes from RAM.
81 *
82 * @param pRam - pointer to RAM to be read from
83 * @param pData - pointer to location to store read data
84 * @param len - number of bytes to read
85 *
86 * @return none
87 **************************************************************************************************
88 */
\ In segment BANKED_CODE, align 1, keep-with-next
89 void macMemReadRam(macRam_t * pRam, uint8 * pData, uint8 len)
\ macMemReadRam:
90 {
\ 000000 74F7 MOV A,#-0x9
\ 000002 12.... LCALL ?BANKED_ENTER_XDATA
\ 000005 ; Saved register size: 9
\ 000005 ; Auto size: 0
\ 000005 801D SJMP ??macMemReadRam_0
91 while (len)
92 {
93 len--;
\ ??macMemReadRam_1:
\ 000007 19 DEC R1
94 *pData = *pRam;
\ 000008 8A82 MOV DPL,R2
\ 00000A 8B83 MOV DPH,R3
\ 00000C E0 MOVX A,@DPTR
\ 00000D 8C82 MOV DPL,R4
\ 00000F 8D83 MOV DPH,R5
\ 000011 F0 MOVX @DPTR,A
95 pRam++;
\ 000012 8A82 MOV DPL,R2
\ 000014 8B83 MOV DPH,R3
\ 000016 A3 INC DPTR
\ 000017 AA82 MOV R2,DPL
\ 000019 AB83 MOV R3,DPH
96 pData++;
\ 00001B 8C82 MOV DPL,R4
\ 00001D 8D83 MOV DPH,R5
\ 00001F A3 INC DPTR
\ 000020 AC82 MOV R4,DPL
\ 000022 AD83 MOV R5,DPH
97 }
\ ??macMemReadRam_0:
\ 000024 E9 MOV A,R1
\ 000025 70E0 JNZ ??macMemReadRam_1
98 }
\ 000027 80.. SJMP ?Subroutine0
99
100
101 /**************************************************************************************************
102 * @fn macMemWriteTxFifo
103 *
104 * @brief Write multiple bytes to the transmit FIFO.
105 *
106 * @param pData - pointer to bytes to be written to TX FIFO
107 * @param len - number of bytes to write
108 *
109 * @return none
110 **************************************************************************************************
111 */
\ In segment BANKED_CODE, align 1, keep-with-next
112 void macMemWriteTxFifo(uint8 * pData, uint8 len)
\ macMemWriteTxFifo:
113 {
\ 000000 74F7 MOV A,#-0x9
\ 000002 12.... LCALL ?BANKED_ENTER_XDATA
\ 000005 ; Saved register size: 9
\ 000005 ; Auto size: 0
\ 000005 EA MOV A,R2
\ 000006 FE MOV R6,A
\ 000007 EB MOV A,R3
\ 000008 FF MOV R7,A
\ 000009 89.. MOV ?V0 + 0,R1
114 MAC_ASSERT(len != 0); /* pointless to write zero bytes */
\ 00000B E9 MOV A,R1
\ 00000C 7008 JNZ ??macMemWriteTxFifo_0
\ 00000E ; Setup parameters for call to function halAssertHandler
\ 00000E 90.... MOV DPTR,#(halAssertHandler & 0xffff)
\ 000011 74.. MOV A,#((halAssertHandler >> 16) & 0xff)
\ 000013 12.... LCALL ?BCALL ; Banked call to: DPTR()
115
116 do
117 {
118 RFD = *pData;
\ ??macMemWriteTxFifo_0:
\ 000016 8E82 MOV DPL,R6
\ 000018 8F83 MOV DPH,R7
\ 00001A E0 MOVX A,@DPTR
\ 00001B F5D9 MOV 0xd9,A
119 pData++;
\ 00001D A3 INC DPTR
\ 00001E AE82 MOV R6,DPL
\ 000020 AF83 MOV R7,DPH
120 len--;
121 }
122 while (len);
\ 000022 15.. DEC ?V0 + 0
\ 000024 E5.. MOV A,?V0 + 0
\ 000026 70EE JNZ ??macMemWriteTxFifo_0
123 }
\ 000028 REQUIRE ?Subroutine0
\ 000028 ; // Fall through to label ?Subroutine0
124
125
126 /**************************************************************************************************
127 * @fn macMemReadRxFifo
128 *
129 * @brief Read multiple bytes from receive FIFO.
130 *
131 * @param pData - pointer to location to store read data
132 * @param len - number of bytes to read from RX FIFO
133 *
134 * @return none
135 **************************************************************************************************
136 */
\ In segment BANKED_CODE, align 1, keep-with-next
137 void macMemReadRxFifo(uint8 * pData, uint8 len)
\ macMemReadRxFifo:
138 {
\ 000000 74F7 MOV A,#-0x9
\ 000002 12.... LCALL ?BANKED_ENTER_XDATA
\ 000005 ; Saved register size: 9
\ 000005 ; Auto size: 0
\ 000005 EA MOV A,R2
\ 000006 FE MOV R6,A
\ 000007 EB MOV A,R3
\ 000008 FF MOV R7,A
\ 000009 89.. MOV ?V0 + 0,R1
139 MAC_ASSERT(len != 0); /* pointless to read zero bytes */
\ 00000B E9 MOV A,R1
\ 00000C 7008 JNZ ??macMemReadRxFifo_0
\ 00000E ; Setup parameters for call to function halAssertHandler
\ 00000E 90.... MOV DPTR,#(halAssertHandler & 0xffff)
\ 000011 74.. MOV A,#((halAssertHandler >> 16) & 0xff)
\ 000013 12.... LCALL ?BCALL ; Banked call to: DPTR()
140
141 do
142 {
143 *pData = RFD;
\ ??macMemReadRxFifo_0:
\ 000016 E5D9 MOV A,0xd9
\ 000018 8E82 MOV DPL,R6
\ 00001A 8F83 MOV DPH,R7
\ 00001C F0 MOVX @DPTR,A
144 pData++;
\ 00001D A3 INC DPTR
\ 00001E AE82 MOV R6,DPL
\ 000020 AF83 MOV R7,DPH
145 len--;
146 }
147 while (len);
\ 000022 15.. DEC ?V0 + 0
\ 000024 E5.. MOV A,?V0 + 0
\ 000026 70EE JNZ ??macMemReadRxFifo_0
148 }
\ 000028 80.. SJMP ?Subroutine0
149
150
151 /**************************************************************************************************
152 */
Maximum stack usage in bytes:
Function ISTACK PSTACK XSTACK
-------- ------ ------ ------
macMemReadRam 1 0 9
macMemReadRamByte 2 0 0
macMemReadRxFifo 1 0 9
-> halAssertHandler 0 0 18
macMemWriteRam 1 0 9
macMemWriteTxFifo 0 0 9
-> halAssertHandler 0 0 18
Segment part sizes:
Function/Label Bytes
-------------- -----
RFD 1
macMemReadRamByte 17
macMemWriteRam 37
?Subroutine0 5
macMemReadRam 41
macMemWriteTxFifo 40
macMemReadRxFifo 42
182 bytes in segment BANKED_CODE
1 byte in segment SFR_AN
182 bytes of CODE memory
0 bytes of DATA memory (+ 1 byte shared)
Errors: none
Warnings: none
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -