mirror of
https://github.com/logicog/RTLPlayground.git
synced 2026-08-30 14:52:51 +08:00
Less instructions and jumps.
Saves 39 bytes.
```patch
1634,1651c1621,1628
< mov r7,a
< mov r6,a
< ; cmd_parser.c:63: return (l >= 'a' && l <= 'z') || (l >= 'A' && l <= 'Z');
< cjne r7,#0x61,00326$
< 00326$:
< mov _parse_vlan_sloc0_1_0,c
< jc 00153$
< mov a,r7
< add a,#0xff - 0x7a
< mov _parse_vlan_sloc0_1_0,c
< jnc 00149$
< 00153$:
< cjne r6,#0x41,00329$
< 00329$:
< mov _parse_vlan_sloc0_1_0,c
< jc 00132$
< mov a,r6
< add a,#0xff - 0x5a
---
> ; cmd_parser.c:66: l |= 0x20;
> ; cmd_parser.c:67: l -= 'A';
> orl a,#0x20
> ; cmd_parser.c:68: return (l <= ('Z'-'A'));
> add a,#0xbf
> add a,#0xff - 0x19
> cpl c
> ; cmd_parser.c:245: if (cmd_words_b[2] > 0 && isletter(cmd_buffer[cmd_words_b[2]])) {
1653,1654c1630
< jc 00132$
< 00149$:
---
> jnc 00132$
```
30 lines
1.2 KiB
Plaintext
30 lines
1.2 KiB
Plaintext
Internal RAM layout:
|
|
0 1 2 3 4 5 6 7 8 9 A B C D E F
|
|
0x00:|0|0|0|0|0|0|0|0|a|a|a|a|a|a|a|a|
|
|
0x10:|c|c|c|d|d|d|d|d|d|d| | | | | | |
|
|
0x20:|B|T|b|b|b|b|b|b|b|b|b|b|b|b|b|b|
|
|
0x30:|b|b|b|b|e|e|e|e|e|e|e|e|f|f|f|f|
|
|
0x40:|f|f|f|f|f|g|g|g|g|g|g|g|g|g|g|g|
|
|
0x50:|g|h|h|h|h|h|h|h|h|h|h|h|h|i|i|i|
|
|
0x60:|i|i|i|i|i|i|i|j|j|j|j|j|j|j|j|j|
|
|
0x70:|j|j|j|j|j|Q|Q|Q|Q|Q|Q|Q|S|S|S|S|
|
|
0x80:|S|S|S|S|S|S|S|S|S|S|S|S|S|S|S|S|
|
|
0x90:|S|S|S|S|S|S|S|S|S|S|S|S|S|S|S|S|
|
|
0xa0:|S|S|S|S|S|S|S|S|S|S|S|S|S|S|S|S|
|
|
0xb0:|S|S|S|S|S|S|S|S|S|S|S|S|S|S|S|S|
|
|
0xc0:|S|S|S|S|S|S|S|S|S|S|S|S|S|S|S|S|
|
|
0xd0:|S|S|S|S|S|S|S|S|S|S|S|S|S|S|S|S|
|
|
0xe0:|S|S|S|S|S|S|S|S|S|S|S|S|S|S|S|S|
|
|
0xf0:|S|S|S|S|S|S|S|S|S|S|S|S|S|S|S|S|
|
|
0-3:Reg Banks, T:Bit regs, a-z:Data, B:Bits, Q:Overlay, I:iData, S:Stack, A:Absolute
|
|
|
|
16 bit mode initial stack starts at: 0x7c (sp set to 0x7b) with 132 bytes available.
|
|
The largest spare internal RAM space starts at 0x1a with 6 bytes available.
|
|
|
|
Other memory:
|
|
Name Start End Size Max
|
|
---------------- -------- -------- -------- --------
|
|
PAGED EXT. RAM 0 256
|
|
EXTERNAL RAM 0x0001 0x1ae8 6888 16777216
|
|
ROM/EPROM/FLASH 0x0000 0x1c6f2 46962 16777216
|