How to set Code ORG and Data

Discussion about other targets
Post Reply
DJ Sures
Member
Posts: 67
Joined: Sun Dec 11, 2022 12:41 pm

How to set Code ORG and Data

Post by DJ Sures »

Hey gang - while tackling my C CP/M BIOS, I'm running into a snag. I initially tried forcing the linker to move everything starting at 0xdb00. But I noticed today that there are variables with address spaces starting at 0x000 up. So, I went through every webpage and into the deepest darkest google searches I could find. SDCC manuals, z88dk old posts, everything.

First, this is a +z80 target with -startup 0 (not sure if that matters without -create-app).

I started with just an ORG, thinking that was going to be it...

Code: Select all

#include "../CPM Loader/Addresses.h"

void orgit() __naked {
  __asm
  org     BIOS;
  JP	_doBoot;        // 0 Initialize.
  JP	_doWboot;       // 1 Warm boot.
  JP	_doConst;       // 2 Console status.
  JP	_doConin;       // 3 Console input.
  JP	_doConout;      // 4 Console OUTput.
  JP	_doList;        // 5 List OUTput.
  JP	_doPunch;       // 6 punch OUTput.
  JP	_doReader;      // 7 Reader input.
  JP	_doHome;        // 8 Home disk.
  JP	_doSeldsk;      // 9 Select disk.
  JP	_doSettrk;      // 10 Select track.
  JP	_doSetsec;      // 11 Select sector.
  JP	_doSetdma;      // 12 Set DMA ADDress.
  JP	_doRead;        // 13 Read 128 bytes.
  JP	_doWrite;       // 14 Write 128 bytes.
  JP	_doListst;      // 15 List status.
  JP	_doSectran;     // 16 Sector translate.
  jp _doRestartError;
  __endasm;
}
Things I've tried

1) every command-line option in the book.
-zorg
--code-loc
-Cs--code-loc
-Cscode-loc

2) pragma's even with --create-app but I get
****************************************************************************
Warning: could not get the code ORG, binary ORG defaults to rombase = 0
****************************************************************************

Please, obi wan, you're my only hope. I know it's going to be the most straightforward answer from someone who knows - but I'm not sure why it's so difficult for me to find
DJ Sures
Member
Posts: 67
Joined: Sun Dec 11, 2022 12:41 pm

Re: How to set Code ORG and Data

Post by DJ Sures »

I tried creating sections as so: https://www.z88dk.org/wiki/doku.php?id=temp:front

which I was able to produce separate files for code and data. but I had to do that with crt so there was a bunch of other stuff. And the data and code was separate. I just can't figure this out
DJ Sures
Member
Posts: 67
Joined: Sun Dec 11, 2022 12:41 pm

Re: How to set Code ORG and Data

Post by DJ Sures »

I tried +80 -sub-type=basic. The LST and MAP files don't make sense anymore. Shows a bunch of compiler macros.

zcc +z80 -sub-type=basic -mz80 -startup 0 --code-loc0xdcd0 -zorg 0xdcd0 -compiler=sdcc --list -m -O3 --opt-code-speed --no-peep main.c -o "BIOS.BIN"
User avatar
dom
Well known member
Posts: 2076
Joined: Sun Jul 15, 2007 10:01 pm

Re: How to set Code ORG and Data

Post by dom »

It should be -pragma-define:CRT_ORG_CODE=0xdb00
DJ Sures
Member
Posts: 67
Joined: Sun Dec 11, 2022 12:41 pm

Re: How to set Code ORG and Data

Post by DJ Sures »

Thanks dom but I have to use -no-crt because I’m not making an executable with a main entry or any other code that crt puts in there.

Is there a way to build with crt but tell it to not add anything? Like exit and stuff? I see the wiki says how to disable the heap, but not anything else.
User avatar
dom
Well known member
Posts: 2076
Joined: Sun Jul 15, 2007 10:01 pm

Re: How to set Code ORG and Data

Post by dom »

Argh, I forgot about that. Sorry.

I think a crt that just creates a blob would be nice, but in the meantime, here's a horror that should do what you want:

Code: Select all

void orgit() __naked {
__asm
        org     0xdb00
        SECTION code_compiler
        jp      label
label:

        INCLUDE "../../clib_code.inc"
        INCLUDE "../../clib_bss.inc"
        INCLUDE "../../clib_data.inc"
        INCLUDE "../../clib_rodata.inc"
        SECTION code_compiler



__endasm;
}
It'll create a file called a_code_compiler.bin which should have everything squished into a single binary.
DJ Sures
Member
Posts: 67
Joined: Sun Dec 11, 2022 12:41 pm

Re: How to set Code ORG and Data

Post by DJ Sures »

Unfortunately, that code example won't help. And apologies, respecting your time; I was vague on my question. The summary is that the code does get placed starting at ORG, but the variable addresses are still starting at 0x0000. If I print the address of a variable at runtime, I will get 0x0000 or 0x0002 or somewhere way below ORG.

I'm not using a heap, so all variables and buffers are defined and populated at compile time. Therefore I would expect them to be referenced above ORG within the program's scope.

1) The JP at the beginning of your example would also be an issue. The BIOS starts with a jump map starting at the very first byte. I can get the working code moved to ORG by compiling with --no-crt and this at the top of my main.c file. The variables are just still referenced starting at 0x0000

Code: Select all

static void orgit() __naked {
  __asm
  org     0xdcd0;
  JP	_doBoot;        // 0 Initialize.
  JP	_doWboot;       // 1 Warm boot.
  JP	_doConst;       // 2 Console status.
  .... etc
  __endasm;
}
2) When I remove the JP and use my example above with CRT enabled, the out has a lot of stuff that makes it not work. The BIOS needs to be as small as possible and only include the code I have in my source file.

3) The example requires the code to have a main(), which I do not want to have.

This "Partially" Works
I mean "partially" because the code gets moved to the correct location at ORG, but all variables are still reference starting at 0x0000 in runtime.

1) If I disable CRT like so...

Code: Select all

zcc +z80 -mz80 --no-crt -compiler=sdcc --list -m -O3 --opt-code-speed --no-peep -lm main.c -o "C:\My Documents\NABU Internet Adapter\Store\BIOS.BIN"
2) And start my main.c with...

Code: Select all

static void orgit() __naked {
  __asm
  org     0xdcd0;
  JP	_doBoot;        // 0 Initialize.
  JP	_doWboot;       // 1 Warm boot.
  JP	_doConst;       // 2 Console status.
  .... etc
  __endasm;
}
Result
Looking at the LST, you can see the code is excellent at 0x0000. The linker will add the offset later, but 0x0000 tells me it's the beginning of the binary.

Code: Select all

main.c:
   672                          	SECTION	code_compiler
   673  0000  c30000            	JP	[b]_doBoot[/b]
   674  0003  c30000            	JP	_doWboot
   675  0006  c30000            	JP	_doConst
   676  0009  c30000            	JP	_doConin
   .... etc
We can see the code is all offset to the ORG by the linker, as we requested. You can see it in this example where the first JP of MAIN.C is to _doBoot, in which the offset is correct, and once linked, the function is in the right place.

Code: Select all

  3316                          ;	---------------------------------
  3317                          ; Function doBoot
  3318                          ; ---------------------------------
  3319                          _doBoot:
  3320  [b]1075[/b]  310000            	ld	sp, 0

The trouble begins with variables. When we look at variables, they also start at 0x0000 in the linker. So let's take a look at _rxBuffer, which the LST says is 0x0000

Code: Select all

3894                          __rxBuffer:
  3895  [b]0000[/b]  00                	DEFB +0x00
  3896  0001  00                	DEFB 0x00
  .... etc
The issue is that once the binary is assembled, the address references to the variables remain in the LST file. So when our BIOS program is running, which started at 0xdcd0, and I ask it to print the address of _rxBuffer, I get 0x0000 in runtime.

The same applies to any variable. The code is referencing address space for variables starting at 0x0000. So every variable is way down there, not above my ORG. So the BIOS uses memory starting at 0x0000 for variables that are overwriting the memory reserved for the CPM operating system and transient program area.

What I expect to happen
Like coding in assembly, if I specify the ORG at the beginning of the file, every variable will be placed in line starting at the ORG. Or, the variable addresses can be above the ORG and outside the data area. But since the variables are defined, and I'm not using any heap, they should not grow or change, so the compiled code knows where every variable should be placed. Therefore, my BIN should represent the ram size needed and reference variables above ORG.
DJ Sures
Member
Posts: 67
Joined: Sun Dec 11, 2022 12:41 pm

Re: How to set Code ORG and Data

Post by DJ Sures »

Here's a question image that might make it clearer without diving into my detailed post above :). The binary indeed has my variables. However, at runtime, the linker is not offsetting the variable references from ORG. From my example above, that was _rxBuffer, which is not on heap but actually part of of the program, so I can account for the bin size including all memory space.

All code in my program is referencing this variable at 0x0000 and not where it is supposed to be.
Capture.PNG
In addition, there are other variables sharing the same memory space. For example, the _rxBuffere is being referenced at 0x0000 and goes to 0x00ff, as seen here...

Code: Select all

  3894                          __rxBuffer:
  3895  0000  00                	DEFB +0x00
  3896  0001  00                	DEFB 0x00
  .....
  4149  00fe  00                	DEFB 0x00
  4150  00ff  00                	DEFB 0x00
 
But, we can also see three structs that are being referenced at 0x0000, 0x0002 and 0x0012, respectively... which is in the same memory address as _rxBuffer.

Code: Select all

   592                          _vdp_cursor:
   593  0000  0000              	DEFS 2
   594                          __DPH:
   595  0002  0000000000000000  	DEFS 16
              0000000000000000  
   596                          __DPB:
   597  0012  0000000000000000  	DEFS 15
              00000000000000    
You do not have the required permissions to view the files attached to this post.
DJ Sures
Member
Posts: 67
Joined: Sun Dec 11, 2022 12:41 pm

Re: How to set Code ORG and Data

Post by DJ Sures »

Okay... trying not to spam you. I have a correction to my previous posts (which I can't seem to edit) after reviewing the MAP file.

The correction is that there only seem to be three of my variables that are referenced starting 0x0000, and they're the structs I mentioned earlier. I highlighted them in the MAP output I provided below. There are also several other constants by libraries - but I'm not sure about those entries.

Code: Select all

_IO_VDPDATA                     = $00A0 ; const, local, , main_c, , main.c:581
_IO_VDPLATCH                    = $00A1 ; const, local, , main_c, , main.c:582
_IO_AYDATA                      = $0040 ; const, local, , main_c, , main.c:583
_IO_AYLATCH                     = $0041 ; const, local, , main_c, , main.c:584
_IO_HCCA                        = $0080 ; const, local, , main_c, , main.c:585
_IO_KEYBOARD                    = $0090 ; const, local, , main_c, , main.c:586
_IO_KEYBOARD_STATUS             = $0091 ; const, local, , main_c, , main.c:587
__code_adt_b_array_size         = $0000 ; const, public, def, , ,
__CLIB_OPT_IMATH                = $0000 ; const, local, , l_mulu_16_16x16, , target/z80/obj/config_private.inc:78
__CLIB_OPT_ERROR                = $0000 ; const, local, , error_einval_zc, , target/z80/obj/config_private.inc:261
__CLIB_OPT_NUM2TXT              = $0000 ; const, local, , asm_utoa, , target/z80/obj/config_private.inc:113
__CLIB_OPT_IMATH                = $0000 ; const, local, , l_divu_16_16x8, , target/z80/obj/config_private.inc:78
__CLIB_OPT_ERROR                = $0000 ; const, local, , error_edom_mc, , target/z80/obj/config_private.inc:261
__head                          = $0000 ; const, public, def, , ,
__bss_compiler_head             = $0000 ; const, public, def, , ,
__IGNORE_size                   = $0000 ; const, public, def, , ,
__code_crt_init_size            = $0000 ; const, public, def, , ,
__code_adt_b_vector_size        = $0000 ; const, public, def, , ,
__code_adt_ba_priority_queue_size = $0000 ; const, public, def, , ,
__code_adt_ba_stack_size        = $0000 ; const, public, def, , ,
__code_adt_bv_priority_queue_size = $0000 ; const, public, def, , ,
__code_adt_bv_stack_size        = $0000 ; const, public, def, , ,
__code_adt_p_forward_list_size  = $0000 ; const, public, def, , ,
__code_adt_p_forward_list_alt_size = $0000 ; const, public, def, , ,
_vdp_cursor                     = $0000 ; addr, public, , main_c, bss_compiler, main.c:592
__DPH                           = $0002 ; addr, local, , main_c, bss_compiler, main.c:594
__DPB                           = $0012 ; addr, local, , main_c, bss_compiler, main.c:596
__bss_compiler_tail             = $0021 ; const, public, def, , ,
__bss_compiler_size             = $0021 ; const, public, def, , ,
__IGNORE_head                   = $0021 ; const, public, def, , ,
__IGNORE_tail                   = $0021 ; const, public, def, , ,
__code_crt_init_head            = $0021 ; const, public, def, , ,
__code_crt_init_tail            = $0021 ; const, public, def, , ,
_orgit                          = $DCD0 ; addr, local, , main_c, code_compiler, main.c:666
l_initTextBuffer_00103          = $DD0B ; addr, local, , main_c, code_compiler, main.c:712
l_isKeyPressed_00105            = $DD31 ; addr, local, , main_c, code_compiler, main.c:740
l_isKeyPressed_00106            = $DD33 ; addr, local, , main_c, code_compiler, main.c:742
l_getChar_00101                 = $DD36 ; addr, local, , main_c, code_compiler, main.c:750
l_hcca_isRxBufferAvailable_00103 = $DD92 ; addr, local, , main_c, code_compiler, main.c:818
l_hcca_isRxBufferAvailable_00104 = $DD93 ; addr, local, , main_c, code_compiler, main.c:820
l_hcca_readByte_00101           = $DD97 ; addr, local, , main_c, code_compiler, main.c:829
l_hcca_readByte_00116           = $DDAA ; addr, local, , main_c, code_compiler, main.c:840
l_hcca_readBytes_00103          = $DEF1 ; addr, local, , main_c, code_compiler, main.c:1025
l_hcca_readBytes_00105          = $DF17 ; addr, local, , main_c, code_compiler, main.c:1050
l_hcca_writeString_00103        = $E0AD ; addr, local, , main_c, code_compiler, main.c:1248
l_hcca_writeString_00105        = $E0C6 ; addr, local, , main_c, code_compiler, main.c:1266
l_hcca_writeBytes_00103         = $E0D4 ; addr, local, , main_c, code_compiler, main.c:1278
l_hcca_writeBytes_00105         = $E0FE ; addr, local, , main_c, code_compiler, main.c:1305
l_vdp_print_00103               = $E10C ; addr, local, , main_c, code_compiler, main.c:1317
l_vdp_print_00105               = $E129 ; addr, local, , main_c, code_compiler, main.c:1338
l_vdp_printPart_00103           = $E137 ; addr, local, , main_c, code_compiler, main.c:1350
l_vdp_printPart_00105           = $E165 ; addr, local, , main_c, code_compiler, main.c:1380
l_vdp_newLine_00102             = $E182 ; addr, local, , main_c, code_compiler, main.c:1403
l_vdp_newLine_00104             = $E18D ; addr, local, , main_c, code_compiler, main.c:1413
l_vdp_setCursor2_00104          = $E1A7 ; addr, local, , main_c, code_compiler, main.c:1430
l_vdp_setCursor2_00105          = $E1B6 ; addr, local, , main_c, code_compiler, main.c:1436
l_vdp_setCursor2_00109          = $E1C5 ; addr, local, , main_c, code_compiler, main.c:1444
l_vdp_setCursor2_00110          = $E1CF ; addr, local, , main_c, code_compiler, main.c:1449
l_vdp_setCursor_00101           = $E204 ; addr, local, , main_c, code_compiler, main.c:1479
l_vdp_setCursor_00102           = $E216 ; addr, local, , main_c, code_compiler, main.c:1491
l_vdp_setCursor_00103           = $E228 ; addr, local, , main_c, code_compiler, main.c:1503
l_vdp_setCursor_00104           = $E23A ; addr, local, , main_c, code_compiler, main.c:1515
l_vdp_setCursor_00106           = $E24A ; addr, local, , main_c, code_compiler, main.c:1526
l_vdp_write_00104               = $E2B4 ; addr, local, , main_c, code_compiler, main.c:1593
l_vdp_write_00108               = $E2C2 ; addr, local, , main_c, code_compiler, main.c:1601
l_vdp_scrollTextUp_00111        = $E2F7 ; addr, local, , main_c, code_compiler, main.c:1638
l_vdp_scrollTextUp_00102        = $E324 ; addr, local, , main_c, code_compiler, main.c:1670
l_vdp_scrollTextUp_00108        = $E2FF ; addr, local, , main_c, code_compiler, main.c:1643
l_vdp_scrollTextUp_00125        = $E321 ; addr, local, , main_c, code_compiler, main.c:1667
l_vdp_scrollTextUp_00116        = $E341 ; addr, local, , main_c, code_compiler, main.c:1687
l_vdp_scrollTextUp_00114        = $E32E ; addr, local, , main_c, code_compiler, main.c:1675
l_vdp_writeUInt8ToBinary_00106  = $E460 ; addr, local, , main_c, code_compiler, main.c:1867
l_vdp_writeUInt8ToBinary_00104  = $E48F ; addr, local, , main_c, code_compiler, main.c:1901
l_vdp_writeUInt8ToBinary_00127  = $E46D ; addr, local, , main_c, code_compiler, main.c:1876
l_vdp_writeUInt8ToBinary_00126  = $E46B ; addr, local, , main_c, code_compiler, main.c:1874
l_vdp_writeUInt8ToBinary_00102  = $E485 ; addr, local, , main_c, code_compiler, main.c:1893
l_vdp_writeUInt8ToBinary_00107  = $E48C ; addr, local, , main_c, code_compiler, main.c:1898
l_vdp_writeUInt16ToBinary_00106 = $E4AF ; addr, local, , main_c, code_compiler, main.c:1922
l_vdp_writeUInt16ToBinary_00104 = $E4E7 ; addr, local, , main_c, code_compiler, main.c:1962
l_vdp_writeUInt16ToBinary_00127 = $E4C2 ; addr, local, , main_c, code_compiler, main.c:1934
l_vdp_writeUInt16ToBinary_00126 = $E4BE ; addr, local, , main_c, code_compiler, main.c:1931
l_vdp_writeUInt16ToBinary_00102 = $E4DB ; addr, local, , main_c, code_compiler, main.c:1952
l_vdp_writeUInt16ToBinary_00107 = $E4E4 ; addr, local, , main_c, code_compiler, main.c:1959
l_rn_fileHandleRead_00103       = $E5F3 ; addr, local, , main_c, code_compiler, main.c:2121
l_rn_fileHandleRead_00101       = $E61D ; addr, local, , main_c, code_compiler, main.c:2148
l_rn_fileListItem_00103         = $E9FE ; addr, local, , main_c, code_compiler, main.c:2746
l_rn_fileListItem_00104         = $E9FF ; addr, local, , main_c, code_compiler, main.c:2748
l_rn_fileDetails_00103          = $EB59 ; addr, local, , main_c, code_compiler, main.c:2978
l_rn_fileDetails_00104          = $EB5A ; addr, local, , main_c, code_compiler, main.c:2980
l_rn_fileHandleDetails_00103    = $EC9B ; addr, local, , main_c, code_compiler, main.c:3198
l_rn_fileHandleDetails_00104    = $EC9C ; addr, local, , main_c, code_compiler, main.c:3200
l_rn_fileHandleReadSeq_00103    = $ECD0 ; addr, local, , main_c, code_compiler, main.c:3233
l_rn_fileHandleReadSeq_00101    = $ECFA ; addr, local, , main_c, code_compiler, main.c:3260
___str_0                        = $F18B ; addr, local, , main_c, rodata_compiler, main.c:3312
l_doRestartError_00102          = $ED43 ; addr, local, , main_c, code_compiler, main.c:3309
___str_1                        = $F1A8 ; addr, local, , main_c, rodata_compiler, main.c:3403
__SCRATCH_AREA                  = $F758 ; addr, local, , main_c, data_compiler, main.c:5166
__DSM_AREA                      = $F7D8 ; addr, local, , main_c, data_compiler, main.c:5295
__DMA                           = $F752 ; addr, local, , main_c, data_compiler, main.c:5160
___str_2                        = $F1BD ; addr, local, , main_c, rodata_compiler, main.c:3422
__A                             = $F74A ; addr, local, , main_c, data_compiler, main.c:5148
l_doConst_00105                 = $EE3C ; addr, local, , main_c, code_compiler, main.c:3448
l_doConst_00101                 = $EE33 ; addr, local, , main_c, code_compiler, main.c:3443
__LASTKEY                       = $F749 ; addr, local, , main_c, data_compiler, main.c:5146
l_doConin_00102                 = $EE4D ; addr, local, , main_c, code_compiler, main.c:3463
l_doConin_00103                 = $EE54 ; addr, local, , main_c, code_compiler, main.c:3467
___str_3                        = $F1C7 ; addr, local, , main_c, rodata_compiler, main.c:3517
___str_4                        = $F1CD ; addr, local, , main_c, rodata_compiler, main.c:3532
___str_5                        = $F1D4 ; addr, local, , main_c, rodata_compiler, main.c:3547
__C                             = $F74C ; addr, local, , main_c, data_compiler, main.c:5152
__E                             = $F74D ; addr, local, , main_c, data_compiler, main.c:5154
___str_7                        = $F1DF ; addr, local, , main_c, rodata_compiler, main.c:3650
___str_6                        = $F1D9 ; addr, local, , main_c, rodata_compiler, main.c:3646
l_doSeldsk_00102                = $EEF3 ; addr, local, , main_c, code_compiler, main.c:3602
__HL                            = $F750 ; addr, local, , main_c, data_compiler, main.c:5158
___str_8                        = $F1E7 ; addr, local, , main_c, rodata_compiler, main.c:3654
l_doSeldsk_00103                = $EF3D ; addr, local, , main_c, code_compiler, main.c:3637
___str_9                        = $F1F1 ; addr, local, , main_c, rodata_compiler, main.c:3658
___str_10                       = $F203 ; addr, local, , main_c, rodata_compiler, main.c:3662
___str_11                       = $F20F ; addr, local, , main_c, rodata_compiler, main.c:3666
___str_12                       = $F21B ; addr, local, , main_c, rodata_compiler, main.c:3670
__TRACK                         = $F754 ; addr, local, , main_c, data_compiler, main.c:5162
___str_13                       = $F236 ; addr, local, , main_c, rodata_compiler, main.c:3692
__SECTOR                        = $F756 ; addr, local, , main_c, data_compiler, main.c:5164
___str_14                       = $F241 ; addr, local, , main_c, rodata_compiler, main.c:3711
___str_15                       = $F24D ; addr, local, , main_c, rodata_compiler, main.c:3730
___str_17                       = $F25B ; addr, local, , main_c, rodata_compiler, main.c:3862
___str_16                       = $F255 ; addr, local, , main_c, rodata_compiler, main.c:3858
___str_18                       = $F261 ; addr, local, , main_c, rodata_compiler, main.c:3866
l_doRead_00102                  = $F022 ; addr, local, , main_c, code_compiler, main.c:3835
l_doRead_00103                  = $F027 ; addr, local, , main_c, code_compiler, main.c:3838
___str_19                       = $F26A ; addr, local, , main_c, rodata_compiler, main.c:3870
___str_20                       = $F272 ; addr, local, , main_c, rodata_compiler, main.c:3886
l_doWrite_00102                 = $F055 ; addr, local, , main_c, code_compiler, main.c:3883
___str_21                       = $F27A ; addr, local, , main_c, rodata_compiler, main.c:3914
__B                             = $F74B ; addr, local, , main_c, data_compiler, main.c:5150
__BC                            = $F74E ; addr, local, , main_c, data_compiler, main.c:5156
eight_bit_1                     = $F0DF ; addr, local, , l_small_mul_16_16x16, code_math, math/integer/small/l_small_mul_16_16x16.asm:40
eight_bit_0                     = $F0DE ; addr, local, , l_small_mul_16_16x16, code_math, math/integer/small/l_small_mul_16_16x16.asm:36
rejoin                          = $F0E2 ; addr, local, , l_small_mul_16_16x16, code_math, math/integer/small/l_small_mul_16_16x16.asm:57
loop_0                          = $F0E5 ; addr, local, , l_small_mul_16_16x16, code_math, math/integer/small/l_small_mul_16_16x16.asm:61
loop_1                          = $F0EC ; addr, local, , l_small_mul_16_16x16, code_math, math/integer/small/l_small_mul_16_16x16.asm:75
compute_lp                      = $F16E ; addr, local, , asm_utoa, code_stdlib, stdlib/z80/asm_utoa.asm:100
write_lp                        = $F180 ; addr, local, , asm_utoa, code_stdlib, stdlib/z80/asm_utoa.asm:126
alpha                           = $F0C2 ; addr, local, , l_num2char, code_l, l/util/9-common/ascii/l_num2char.asm:24
divide_zero                     = $F127 ; addr, local, , l_small_divu_16_16x16, code_math, math/integer/small/l_small_divu_16_16x16.asm:141
divisor_sixteen_bit             = $F0F9 ; addr, local, , l_small_divu_16_16x16, code_math, math/integer/small/l_small_divu_16_16x16.asm:50
loop_16_0                       = $F0FF ; addr, local, , l_small_divu_16_16x16, code_math, math/integer/small/l_small_divu_16_16x16.asm:60
loop_16_1                       = $F107 ; addr, local, , l_small_divu_16_16x16, code_math, math/integer/small/l_small_divu_16_16x16.asm:69
loop_8_0                        = $F119 ; addr, local, , l_small_divu_16_16x16, code_math, math/integer/small/l_small_divu_16_16x16.asm:118
loop_8_2                        = $F120 ; addr, local, , l_small_divu_16_16x16, code_math, math/integer/small/l_small_divu_16_16x16.asm:127
loop_8_1                        = $F122 ; addr, local, , l_small_divu_16_16x16, code_math, math/integer/small/l_small_divu_16_16x16.asm:132
_doSectran                      = $F05A ; addr, public, , main_c, code_compiler, main.c:3900
_doListst                       = $F057 ; addr, public, , main_c, code_compiler, main.c:3893
_doWrite                        = $F04A ; addr, public, , main_c, code_compiler, main.c:3877
_doRead                         = $EF94 ; addr, public, , main_c, code_compiler, main.c:3737
_doSetdma                       = $EF7D ; addr, public, , main_c, code_compiler, main.c:3718
_doSetsec                       = $EF66 ; addr, public, , main_c, code_compiler, main.c:3699
_doSettrk                       = $EF4C ; addr, public, , main_c, code_compiler, main.c:3679
_doSeldsk                       = $EEA1 ; addr, public, , main_c, code_compiler, main.c:3554
_doHome                         = $EE95 ; addr, public, , main_c, code_compiler, main.c:3539
_doReader                       = $EE8A ; addr, public, , main_c, code_compiler, main.c:3524
_doPunch                        = $EE81 ; addr, public, , main_c, code_compiler, main.c:3510
_doList                         = $EE6F ; addr, public, , main_c, code_compiler, main.c:3493
_doConout                       = $EE5D ; addr, public, , main_c, code_compiler, main.c:3476
_doConin                        = $EE40 ; addr, public, , main_c, code_compiler, main.c:3455
_doConst                        = $EE1B ; addr, public, , main_c, code_compiler, main.c:3429
_doWboot                        = $EE05 ; addr, public, , main_c, code_compiler, main.c:3410
_doBoot                         = $ED45 ; addr, public, , main_c, code_compiler, main.c:3319
_doRestartError                 = $ED3B ; addr, public, , main_c, code_compiler, main.c:3304
_isr                            = $DD3E ; addr, public, , main_c, code_compiler, main.c:760
_initTextBuffer                 = $DD08 ; addr, public, , main_c, code_compiler, main.c:710
_main                           = $F0C8 ; addr, public, , main_c, code_compiler, main.c:695
__vdp_crsr_max_x                = $F748 ; addr, public, , main_c, data_compiler, main.c:5144
__vdp_pattern_table             = $F746 ; addr, public, , main_c, data_compiler, main.c:5142
__vdp_name_table                = $F744 ; addr, public, , main_c, data_compiler, main.c:5140
__vdp_textBuffer                = $F384 ; addr, public, , main_c, data_compiler, main.c:4179
__rxBufferWritePos              = $F383 ; addr, public, , main_c, data_compiler, main.c:4177
__rxBufferReadPos               = $F382 ; addr, public, , main_c, data_compiler, main.c:4175
__rxBuffer                      = $F282 ; addr, public, , main_c, data_compiler, main.c:3918
__vdp_crsr_max_y                = $F18A ; addr, public, , main_c, rodata_compiler, main.c:704
_nop                            = $DD06 ; addr, public, , main_c, code_compiler, main.c:700
_isKeyPressed                   = $DD1B ; addr, public, , main_c, code_compiler, main.c:727
_getChar                        = $DD34 ; addr, public, , main_c, code_compiler, main.c:748
_hcca_enableReceiveBufferInterrupt = $DD5B ; addr, public, , main_c, code_compiler, main.c:786
_hcca_isRxBufferAvailable       = $DD85 ; addr, public, , main_c, code_compiler, main.c:811
_hcca_readByte                  = $DD97 ; addr, public, , main_c, code_compiler, main.c:828
_hcca_readUInt16                = $DDAF ; addr, public, , main_c, code_compiler, main.c:850
_hcca_readInt16                 = $DDBF ; addr, public, , main_c, code_compiler, main.c:865
_hcca_readUInt32                = $DDCF ; addr, public, , main_c, code_compiler, main.c:880
_hcca_readInt32                 = $DE5B ; addr, public, , main_c, code_compiler, main.c:950
_hcca_readBytes                 = $DEE7 ; addr, public, , main_c, code_compiler, main.c:1020
_hcca_writeByte                 = $DF1A ; addr, public, , main_c, code_compiler, main.c:1057
_hcca_writeUInt32               = $E00A ; addr, public, , main_c, code_compiler, main.c:1143
_hcca_writeInt32                = $E039 ; addr, public, , main_c, code_compiler, main.c:1173
_hcca_writeUInt16               = $E068 ; addr, public, , main_c, code_compiler, main.c:1203
_hcca_writeInt16                = $E085 ; addr, public, , main_c, code_compiler, main.c:1223
_hcca_writeString               = $E0A2 ; addr, public, , main_c, code_compiler, main.c:1243
_hcca_writeBytes                = $E0C9 ; addr, public, , main_c, code_compiler, main.c:1273
_vdp_print                      = $E101 ; addr, public, , main_c, code_compiler, main.c:1312
_vdp_printPart                  = $E12C ; addr, public, , main_c, code_compiler, main.c:1345
_vdp_newLine                    = $E168 ; addr, public, , main_c, code_compiler, main.c:1387
_vdp_setCursor2                 = $E18E ; addr, public, , main_c, code_compiler, main.c:1419
_vdp_setCursor                  = $E1E0 ; addr, public, , main_c, code_compiler, main.c:1462
_vdp_write                      = $E24D ; addr, public, , main_c, code_compiler, main.c:1533
_vdp_scrollTextUp               = $E2C5 ; addr, public, , main_c, code_compiler, main.c:1608
_vdp_writeUInt32                = $E346 ; addr, public, , main_c, code_compiler, main.c:1695
_vdp_writeInt32                 = $E373 ; addr, public, , main_c, code_compiler, main.c:1722
_vdp_writeUInt16                = $E3A0 ; addr, public, , main_c, code_compiler, main.c:1749
_vdp_writeInt16                 = $E3CD ; addr, public, , main_c, code_compiler, main.c:1776
_vdp_writeUInt8                 = $E3FA ; addr, public, , main_c, code_compiler, main.c:1803
_vdp_writeInt8                  = $E423 ; addr, public, , main_c, code_compiler, main.c:1829
_vdp_writeUInt8ToBinary         = $E451 ; addr, public, , main_c, code_compiler, main.c:1859
_vdp_writeUInt16ToBinary        = $E4A0 ; addr, public, , main_c, code_compiler, main.c:1914
_rn_fileOpen                    = $E4F8 ; addr, public, , main_c, code_compiler, main.c:1975
_rn_fileHandleClose             = $E543 ; addr, public, , main_c, code_compiler, main.c:2017
_rn_fileSize                    = $E55F ; addr, public, , main_c, code_compiler, main.c:2037
_rn_fileHandleSize              = $E596 ; addr, public, , main_c, code_compiler, main.c:2069
_rn_fileHandleRead              = $E5B4 ; addr, public, , main_c, code_compiler, main.c:2089
_rn_fileHandleAppend            = $E624 ; addr, public, , main_c, code_compiler, main.c:2158
_rn_fileHandleInsert            = $E668 ; addr, public, , main_c, code_compiler, main.c:2196
_rn_fileHandleDeleteRange       = $E6BF ; addr, public, , main_c, code_compiler, main.c:2243
_rn_fileHandleEmptyFile         = $E6F9 ; addr, public, , main_c, code_compiler, main.c:2277
_rn_fileHandleReplace           = $E715 ; addr, public, , main_c, code_compiler, main.c:2297
_rn_fileDelete                  = $E76C ; addr, public, , main_c, code_compiler, main.c:2344
_rn_fileHandleCopy              = $E7A1 ; addr, public, , main_c, code_compiler, main.c:2376
_rn_fileHandleMove              = $E801 ; addr, public, , main_c, code_compiler, main.c:2430
_rn_fileList                    = $E861 ; addr, public, , main_c, code_compiler, main.c:2484
_rn_fileListItem                = $E8C3 ; addr, public, , main_c, code_compiler, main.c:2538
_rn_fileDetails                 = $EA07 ; addr, public, , main_c, code_compiler, main.c:2758
_rn_fileHandleDetails           = $EB62 ; addr, public, , main_c, code_compiler, main.c:2990
_rn_fileHandleReadSeq           = $ECA4 ; addr, public, , main_c, code_compiler, main.c:3210
_rn_fileHandleSeek              = $ED01 ; addr, public, , main_c, code_compiler, main.c:3270
_im2_init_fastcall              = $F0A0 ; addr, public, , im2_init_fastcall, code_z80, im2/c/sdcc/im2_init_fastcall.asm:11
asm_im2_init                    = $F0A0 ; addr, public, , asm_im2_init, code_im2, im2/z80/asm_im2_init.asm:17
l_ret                           = $F0C8 ; addr, public, , l_ret, code_l_sccz80, l/sccz80/9-common/l_ret.asm:14
__mulint_callee                 = $F0C9 ; addr, public, , __mulint_callee, code_l_sdcc, l/sdcc/__mulint_callee.asm:9
l_mulu_16_16x16                 = $F0D0 ; addr, public, , l_mulu_16_16x16, code_math, math/integer/l_mulu_16_16x16.asm:29
l_small_mul_16_16x16            = $F0D0 ; addr, public, , l_small_mul_16_16x16, code_math, math/integer/small/l_small_mul_16_16x16.asm:10
l_small_mul_16_16x8             = $F0DF ; addr, public, , l_small_mul_16_16x16, code_math, math/integer/small/l_small_mul_16_16x16.asm:42
_itoa_callee                    = $F12B ; addr, public, , itoa_callee, code_stdlib, stdlib/c/sdcc_iy/itoa_callee.asm:11
_utoa_callee                    = $F133 ; addr, public, , utoa_callee, code_stdlib, stdlib/c/sdcc_iy/utoa_callee.asm:11
asm_itoa                        = $F13B ; addr, public, , asm_itoa, code_stdlib, stdlib/z80/asm_itoa.asm:24
asm0_itoa                       = $F140 ; addr, public, , asm_itoa, code_stdlib, stdlib/z80/asm_itoa.asm:46
error_einval_zc                 = $F078 ; addr, public, , error_einval_zc, code_error, error/z80/error_einval_zc.asm:43
errno_zc                        = $F07A ; addr, public, , errno_zc, code_error, error/z80/errno_zc.asm:21
_errno                          = $F187 ; addr, public, , _errno, bss_error, error/z80/_errno.asm:7
error_zc                        = $F086 ; addr, public, , error_zc, code_error, error/z80/error_zc.asm:12
l_valid_base                    = $F0A6 ; addr, public, , l_valid_base, code_l, l/util/9-common/ascii/l_valid_base.asm:7
l_neg_hl                        = $F0B3 ; addr, public, , l_neg_hl, code_l, l/util/9-common/integer/l_neg_hl.asm:15
asm_utoa                        = $F15C ; addr, public, , asm_utoa, code_stdlib, stdlib/z80/asm_utoa.asm:23
asm0_utoa                       = $F161 ; addr, public, , asm_utoa, code_stdlib, stdlib/z80/asm_utoa.asm:45
asm1_utoa                       = $F167 ; addr, public, , asm_utoa, code_stdlib, stdlib/z80/asm_utoa.asm:52
l_num2char                      = $F0BB ; addr, public, , l_num2char, code_l, l/util/9-common/ascii/l_num2char.asm:7
l_divu_16_16x8                  = $F111 ; addr, public, , l_divu_16_16x8, code_math, math/integer/l_divu_16_16x8.asm:22
l0_divu_16_16x8                 = $F115 ; addr, public, , l_divu_16_16x8, code_math, math/integer/l_divu_16_16x8.asm:23
l_small_divu_16_16x16           = $F0F1 ; addr, public, , l_small_divu_16_16x16, code_math, math/integer/small/l_small_divu_16_16x16.asm:17
l0_small_divu_16_16x16          = $F0F5 ; addr, public, , l_small_divu_16_16x16, code_math, math/integer/small/l_small_divu_16_16x16.asm:42
l_small_divu_16_16x8            = $F111 ; addr, public, , l_small_divu_16_16x16, code_math, math/integer/small/l_small_divu_16_16x16.asm:87
l0_small_divu_16_16x8           = $F115 ; addr, public, , l_small_divu_16_16x16, code_math, math/integer/small/l_small_divu_16_16x16.asm:112
error_divide_by_zero_mc         = $F08E ; addr, public, , error_divide_by_zero_mc, code_error, error/z80/error_divide_by_zero_mc.asm:12
error_edom_mc                   = $F08E ; addr, public, , error_edom_mc, code_error, error/z80/error_edom_mc.asm:57
errno_mc                        = $F090 ; addr, public, , errno_mc, code_error, error/z80/errno_mc.asm:21
error_mc                        = $F09B ; addr, public, , error_mc, code_error, error/z80/error_mc.asm:11
__tail                          = $F7F8 ; const, public, def, , ,
__size                          = $F7F8 ; const, public, def, , ,
__code_compiler_head            = $DCD0 ; const, public, def, , ,
__code_compiler_tail            = $F075 ; const, public, def, , ,
__code_compiler_size            = $13A5 ; const, public, def, , ,
__code_adt_b_array_head         = $F075 ; const, public, def, , ,
__code_adt_b_array_tail         = $F075 ; const, public, def, , ,
__code_adt_b_vector_head        = $F075 ; const, public, def, , ,
__code_adt_b_vector_tail        = $F075 ; const, public, def, , ,
__code_adt_ba_priority_queue_head = $F075 ; const, public, def, , ,
__code_adt_ba_priority_queue_tail = $F075 ; const, public, def, , ,
__code_adt_ba_stack_head        = $F075 ; const, public, def, , ,
__code_adt_ba_stack_tail        = $F075 ; const, public, def, , ,
__code_adt_bv_priority_queue_head = $F075 ; const, public, def, , ,
__code_adt_bv_priority_queue_tail = $F075 ; const, public, def, , ,
__code_adt_bv_stack_head        = $F075 ; const, public, def, , ,
__code_adt_bv_stack_tail        = $F075 ; const, public, def, , ,
__code_adt_p_forward_list_head  = $F075 ; const, public, def, , ,
__code_adt_p_forward_list_tail  = $F075 ; const, public, def, , ,
__code_adt_p_forward_list_alt_head = $F075 ; const, public, def, , ,
__code_adt_p_forward_list_alt_tail = $F075 ; const, public, def, , ,
__code_adt_p_list_head          = $F075 ; const, public, def, , ,
__code_adt_p_list_tail          = $F075 ; const, public, def, , ,
__code_adt_p_list_size          = $0000 ; const, public, def, , ,
__code_adt_p_queue_head         = $F075 ; const, public, def, , ,
__code_adt_p_queue_tail         = $F075 ; const, public, def, , ,
__code_adt_p_queue_size         = $0000 ; const, public, def, , ,
__code_adt_p_stack_head         = $F075 ; const, public, def, , ,
__code_adt_p_stack_tail         = $F075 ; const, public, def, , ,
__code_adt_p_stack_size         = $0000 ; const, public, def, , ,
__code_adt_w_array_head         = $F075 ; const, public, def, , ,
__code_adt_w_array_tail         = $F075 ; const, public, def, , ,
__code_adt_w_array_size         = $0000 ; const, public, def, , ,
__code_adt_w_vector_head        = $F075 ; const, public, def, , ,
__code_adt_w_vector_tail        = $F075 ; const, public, def, , ,
__code_adt_w_vector_size        = $0000 ; const, public, def, , ,
__code_adt_wa_priority_queue_head = $F075 ; const, public, def, , ,
__code_adt_wa_priority_queue_tail = $F075 ; const, public, def, , ,
__code_adt_wa_priority_queue_size = $0000 ; const, public, def, , ,
__code_adt_wa_stack_head        = $F075 ; const, public, def, , ,
__code_adt_wa_stack_tail        = $F075 ; const, public, def, , ,
__code_adt_wa_stack_size        = $0000 ; const, public, def, , ,
__code_adt_wv_priority_queue_head = $F075 ; const, public, def, , ,
__code_adt_wv_priority_queue_tail = $F075 ; const, public, def, , ,
__code_adt_wv_priority_queue_size = $0000 ; const, public, def, , ,
__code_adt_wv_stack_head        = $F075 ; const, public, def, , ,
__code_adt_wv_stack_tail        = $F075 ; const, public, def, , ,
__code_adt_wv_stack_size        = $0000 ; const, public, def, , ,
__code_alloc_balloc_head        = $F075 ; const, public, def, , ,
__code_alloc_balloc_tail        = $F075 ; const, public, def, , ,
__code_alloc_balloc_size        = $0000 ; const, public, def, , ,
__code_alloc_malloc_head        = $F075 ; const, public, def, , ,
__code_alloc_malloc_tail        = $F075 ; const, public, def, , ,
__code_alloc_malloc_size        = $0000 ; const, public, def, , ,
__code_alloc_obstack_head       = $F075 ; const, public, def, , ,
__code_alloc_obstack_tail       = $F075 ; const, public, def, , ,
__code_alloc_obstack_size       = $0000 ; const, public, def, , ,
__code_arch_head                = $F075 ; const, public, def, , ,
__code_arch_tail                = $F075 ; const, public, def, , ,
__code_arch_size                = $0000 ; const, public, def, , ,
__code_bifrost_h_head           = $F075 ; const, public, def, , ,
__code_bifrost_h_tail           = $F075 ; const, public, def, , ,
__code_bifrost_h_size           = $0000 ; const, public, def, , ,
__code_bifrost_l_head           = $F075 ; const, public, def, , ,
__code_bifrost_l_tail           = $F075 ; const, public, def, , ,
__code_bifrost_l_size           = $0000 ; const, public, def, , ,
__code_bifrost2_head            = $F075 ; const, public, def, , ,
__code_bifrost2_tail            = $F075 ; const, public, def, , ,
__code_bifrost2_size            = $0000 ; const, public, def, , ,
__code_compress_aplib_head      = $F075 ; const, public, def, , ,
__code_compress_aplib_tail      = $F075 ; const, public, def, , ,
__code_compress_aplib_size      = $0000 ; const, public, def, , ,
__code_compress_zx7_head        = $F075 ; const, public, def, , ,
__code_compress_zx7_tail        = $F075 ; const, public, def, , ,
__code_compress_zx7_size        = $0000 ; const, public, def, , ,
__code_compress_zx0_head        = $F075 ; const, public, def, , ,
__code_compress_zx0_tail        = $F075 ; const, public, def, , ,
__code_compress_zx0_size        = $0000 ; const, public, def, , ,
__code_compress_zx1_head        = $F075 ; const, public, def, , ,
__code_compress_zx1_tail        = $F075 ; const, public, def, , ,
__code_compress_zx1_size        = $0000 ; const, public, def, , ,
__code_compress_zx2_head        = $F075 ; const, public, def, , ,
__code_compress_zx2_tail        = $F075 ; const, public, def, , ,
__code_compress_zx2_size        = $0000 ; const, public, def, , ,
__code_ctype_head               = $F075 ; const, public, def, , ,
__code_ctype_tail               = $F075 ; const, public, def, , ,
__code_ctype_size               = $0000 ; const, public, def, , ,
__code_driver_general_head      = $F075 ; const, public, def, , ,
__code_driver_general_tail      = $F075 ; const, public, def, , ,
__code_driver_general_size      = $0000 ; const, public, def, , ,
__code_driver_character_input_head = $F075 ; const, public, def, , ,
__code_driver_character_input_tail = $F075 ; const, public, def, , ,
__code_driver_character_input_size = $0000 ; const, public, def, , ,
__code_driver_character_output_head = $F075 ; const, public, def, , ,
__code_driver_character_output_tail = $F075 ; const, public, def, , ,
__code_driver_character_output_size = $0000 ; const, public, def, , ,
__code_driver_memstream_head    = $F075 ; const, public, def, , ,
__code_driver_memstream_tail    = $F075 ; const, public, def, , ,
__code_driver_memstream_size    = $0000 ; const, public, def, , ,
__code_driver_terminal_input_head = $F075 ; const, public, def, , ,
__code_driver_terminal_input_tail = $F075 ; const, public, def, , ,
__code_driver_terminal_input_size = $0000 ; const, public, def, , ,
__code_driver_terminal_output_head = $F075 ; const, public, def, , ,
__code_driver_terminal_output_tail = $F075 ; const, public, def, , ,
__code_driver_terminal_output_size = $0000 ; const, public, def, , ,
__code_driver_tty_head          = $F075 ; const, public, def, , ,
__code_driver_tty_tail          = $F075 ; const, public, def, , ,
__code_driver_tty_size          = $0000 ; const, public, def, , ,
__code_env_head                 = $F075 ; const, public, def, , ,
__code_env_tail                 = $F075 ; const, public, def, , ,
__code_env_size                 = $0000 ; const, public, def, , ,
__code_error_head               = $F075 ; const, public, def, , ,
__code_error_tail               = $F0A0 ; const, public, def, , ,
__code_error_size               = $002B ; const, public, def, , ,
__code_esxdos_head              = $F0A0 ; const, public, def, , ,
__code_esxdos_tail              = $F0A0 ; const, public, def, , ,
__code_esxdos_size              = $0000 ; const, public, def, , ,
__code_fcntl_head               = $F0A0 ; const, public, def, , ,
__code_fcntl_tail               = $F0A0 ; const, public, def, , ,
__code_fcntl_size               = $0000 ; const, public, def, , ,
__code_font_fzx_head            = $F0A0 ; const, public, def, , ,
__code_font_fzx_tail            = $F0A0 ; const, public, def, , ,
__code_font_fzx_size            = $0000 ; const, public, def, , ,
__code_fp_am9511_head           = $F0A0 ; const, public, def, , ,
__code_fp_am9511_tail           = $F0A0 ; const, public, def, , ,
__code_fp_am9511_size           = $0000 ; const, public, def, , ,
__code_fp_math48_head           = $F0A0 ; const, public, def, , ,
__code_fp_math48_tail           = $F0A0 ; const, public, def, , ,
__code_fp_math48_size           = $0000 ; const, public, def, , ,
__code_fp_math32_head           = $F0A0 ; const, public, def, , ,
__code_fp_math32_tail           = $F0A0 ; const, public, def, , ,
__code_fp_math32_size           = $0000 ; const, public, def, , ,
__code_fp_math16_head           = $F0A0 ; const, public, def, , ,
__code_fp_math16_tail           = $F0A0 ; const, public, def, , ,
__code_fp_math16_size           = $0000 ; const, public, def, , ,
__code_fp_mbf32_head            = $F0A0 ; const, public, def, , ,
__code_fp_mbf32_tail            = $F0A0 ; const, public, def, , ,
__code_fp_mbf32_size            = $0000 ; const, public, def, , ,
__code_im2_head                 = $F0A0 ; const, public, def, , ,
__code_im2_tail                 = $F0A6 ; const, public, def, , ,
__code_im2_size                 = $0006 ; const, public, def, , ,
__code_input_head               = $F0A6 ; const, public, def, , ,
__code_input_tail               = $F0A6 ; const, public, def, , ,
__code_input_size               = $0000 ; const, public, def, , ,
__code_inttypes_head            = $F0A6 ; const, public, def, , ,
__code_inttypes_tail            = $F0A6 ; const, public, def, , ,
__code_inttypes_size            = $0000 ; const, public, def, , ,
__code_l_head                   = $F0A6 ; const, public, def, , ,
__code_l_tail                   = $F0C5 ; const, public, def, , ,
__code_l_size                   = $001F ; const, public, def, , ,
__code_l_sccz80_head            = $F0C5 ; const, public, def, , ,
__code_l_sccz80_tail            = $F0C9 ; const, public, def, , ,
__code_l_sccz80_size            = $0004 ; const, public, def, , ,
__code_l_sdcc_head              = $F0C9 ; const, public, def, , ,
__code_l_sdcc_tail              = $F0D0 ; const, public, def, , ,
__code_l_sdcc_size              = $0007 ; const, public, def, , ,
__code_locale_head              = $F0D0 ; const, public, def, , ,
__code_locale_tail              = $F0D0 ; const, public, def, , ,
__code_locale_size              = $0000 ; const, public, def, , ,
__code_math_head                = $F0D0 ; const, public, def, , ,
__code_math_tail                = $F12B ; const, public, def, , ,
__code_math_size                = $005B ; const, public, def, , ,
__code_network_head             = $F12B ; const, public, def, , ,
__code_network_tail             = $F12B ; const, public, def, , ,
__code_network_size             = $0000 ; const, public, def, , ,
__code_nirvanam_head            = $F12B ; const, public, def, , ,
__code_nirvanam_tail            = $F12B ; const, public, def, , ,
__code_nirvanam_size            = $0000 ; const, public, def, , ,
__code_nirvanap_head            = $F12B ; const, public, def, , ,
__code_nirvanap_tail            = $F12B ; const, public, def, , ,
__code_nirvanap_size            = $0000 ; const, public, def, , ,
__code_PSGlib_head              = $F12B ; const, public, def, , ,
__code_PSGlib_tail              = $F12B ; const, public, def, , ,
__code_PSGlib_size              = $0000 ; const, public, def, , ,
__code_setjmp_head              = $F12B ; const, public, def, , ,
__code_setjmp_tail              = $F12B ; const, public, def, , ,
__code_setjmp_size              = $0000 ; const, public, def, , ,
__code_SMSlib_head              = $F12B ; const, public, def, , ,
__code_SMSlib_tail              = $F12B ; const, public, def, , ,
__code_SMSlib_size              = $0000 ; const, public, def, , ,
__code_sound_bit_head           = $F12B ; const, public, def, , ,
__code_sound_bit_tail           = $F12B ; const, public, def, , ,
__code_sound_bit_size           = $0000 ; const, public, def, , ,
__code_sound_ay_head            = $F12B ; const, public, def, , ,
__code_sound_ay_tail            = $F12B ; const, public, def, , ,
__code_sound_ay_size            = $0000 ; const, public, def, , ,
__code_stdio_head               = $F12B ; const, public, def, , ,
__code_stdio_tail               = $F12B ; const, public, def, , ,
__code_stdio_size               = $0000 ; const, public, def, , ,
__code_stdlib_head              = $F12B ; const, public, def, , ,
__code_stdlib_tail              = $F187 ; const, public, def, , ,
__code_stdlib_size              = $005C ; const, public, def, , ,
__code_string_head              = $F187 ; const, public, def, , ,
__code_string_tail              = $F187 ; const, public, def, , ,
__code_string_size              = $0000 ; const, public, def, , ,
__code_temp_sp1_head            = $F187 ; const, public, def, , ,
__code_temp_sp1_tail            = $F187 ; const, public, def, , ,
__code_temp_sp1_size            = $0000 ; const, public, def, , ,
__code_threads_head             = $F187 ; const, public, def, , ,
__code_threads_tail             = $F187 ; const, public, def, , ,
__code_threads_size             = $0000 ; const, public, def, , ,
__code_threads_mutex_head       = $F187 ; const, public, def, , ,
__code_threads_mutex_tail       = $F187 ; const, public, def, , ,
__code_threads_mutex_size       = $0000 ; const, public, def, , ,
__code_time_head                = $F187 ; const, public, def, , ,
__code_time_tail                = $F187 ; const, public, def, , ,
__code_time_size                = $0000 ; const, public, def, , ,
__code_z180_head                = $F187 ; const, public, def, , ,
__code_z180_tail                = $F187 ; const, public, def, , ,
__code_z180_size                = $0000 ; const, public, def, , ,
__code_z80_head                 = $F187 ; const, public, def, , ,
__code_z80_tail                 = $F187 ; const, public, def, , ,
__code_z80_size                 = $0000 ; const, public, def, , ,
__bss_arch_head                 = $F187 ; const, public, def, , ,
__bss_arch_tail                 = $F187 ; const, public, def, , ,
__bss_arch_size                 = $0000 ; const, public, def, , ,
__bss_alloc_balloc_head         = $F187 ; const, public, def, , ,
__bss_alloc_balloc_tail         = $F187 ; const, public, def, , ,
__bss_alloc_balloc_size         = $0000 ; const, public, def, , ,
__bss_alloc_malloc_head         = $F187 ; const, public, def, , ,
__bss_alloc_malloc_tail         = $F187 ; const, public, def, , ,
__bss_alloc_malloc_size         = $0000 ; const, public, def, , ,
__bss_compress_aplib_head       = $F187 ; const, public, def, , ,
__bss_compress_aplib_tail       = $F187 ; const, public, def, , ,
__bss_compress_aplib_size       = $0000 ; const, public, def, , ,
__bss_error_head                = $F187 ; const, public, def, , ,
__bss_error_tail                = $F189 ; const, public, def, , ,
__bss_error_size                = $0002 ; const, public, def, , ,
__bss_env_head                  = $F189 ; const, public, def, , ,
__bss_env_tail                  = $F189 ; const, public, def, , ,
__bss_env_size                  = $0000 ; const, public, def, , ,
__bss_esxdos_head               = $F189 ; const, public, def, , ,
__bss_esxdos_tail               = $F189 ; const, public, def, , ,
__bss_esxdos_size               = $0000 ; const, public, def, , ,
__bss_fcntl_head                = $F189 ; const, public, def, , ,
__bss_fcntl_tail                = $F189 ; const, public, def, , ,
__bss_fcntl_size                = $0000 ; const, public, def, , ,
__bss_fp_am9511_head            = $F189 ; const, public, def, , ,
__bss_fp_am9511_tail            = $F189 ; const, public, def, , ,
__bss_fp_am9511_size            = $0000 ; const, public, def, , ,
__bss_fp_math48_head            = $F189 ; const, public, def, , ,
__bss_fp_math48_tail            = $F189 ; const, public, def, , ,
__bss_fp_math48_size            = $0000 ; const, public, def, , ,
__bss_fp_math32_head            = $F189 ; const, public, def, , ,
__bss_fp_math32_tail            = $F189 ; const, public, def, , ,
__bss_fp_math32_size            = $0000 ; const, public, def, , ,
__bss_fp_math16_head            = $F189 ; const, public, def, , ,
__bss_fp_math16_tail            = $F189 ; const, public, def, , ,
__bss_fp_math16_size            = $0000 ; const, public, def, , ,
__bss_fp_mbf32_head             = $F189 ; const, public, def, , ,
__bss_fp_mbf32_tail             = $F189 ; const, public, def, , ,
__bss_fp_mbf32_size             = $0000 ; const, public, def, , ,
__bss_input_head                = $F189 ; const, public, def, , ,
__bss_input_tail                = $F189 ; const, public, def, , ,
__bss_input_size                = $0000 ; const, public, def, , ,
__bss_PSGlib_head               = $F189 ; const, public, def, , ,
__bss_PSGlib_tail               = $F189 ; const, public, def, , ,
__bss_PSGlib_size               = $0000 ; const, public, def, , ,
__bss_SMSlib_head               = $F189 ; const, public, def, , ,
__bss_SMSlib_tail               = $F189 ; const, public, def, , ,
__bss_SMSlib_size               = $0000 ; const, public, def, , ,
__bss_sound_bit_head            = $F189 ; const, public, def, , ,
__bss_sound_bit_tail            = $F189 ; const, public, def, , ,
__bss_sound_bit_size            = $0000 ; const, public, def, , ,
__bss_sound_ay_head             = $F189 ; const, public, def, , ,
__bss_sound_ay_tail             = $F189 ; const, public, def, , ,
__bss_sound_ay_size             = $0000 ; const, public, def, , ,
__bss_stdio_head                = $F189 ; const, public, def, , ,
__bss_stdio_tail                = $F189 ; const, public, def, , ,
__bss_stdio_size                = $0000 ; const, public, def, , ,
__bss_stdlib_head               = $F189 ; const, public, def, , ,
__bss_stdlib_tail               = $F189 ; const, public, def, , ,
__bss_stdlib_size               = $0000 ; const, public, def, , ,
__bss_string_head               = $F189 ; const, public, def, , ,
__bss_string_tail               = $F189 ; const, public, def, , ,
__bss_string_size               = $0000 ; const, public, def, , ,
__data_alloc_balloc_head        = $F189 ; const, public, def, , ,
__data_alloc_balloc_tail        = $F189 ; const, public, def, , ,
__data_alloc_balloc_size        = $0000 ; const, public, def, , ,
__data_alloc_malloc_head        = $F189 ; const, public, def, , ,
__data_alloc_malloc_tail        = $F189 ; const, public, def, , ,
__data_alloc_malloc_size        = $0000 ; const, public, def, , ,
__data_arch_head                = $F189 ; const, public, def, , ,
__data_arch_tail                = $F189 ; const, public, def, , ,
__data_arch_size                = $0000 ; const, public, def, , ,
__data_fcntl_head               = $F189 ; const, public, def, , ,
__data_fcntl_tail               = $F189 ; const, public, def, , ,
__data_fcntl_size               = $0000 ; const, public, def, , ,
__data_fcntl_stdio_heap_head_head = $F189 ; const, public, def, , ,
__data_fcntl_stdio_heap_head_tail = $F189 ; const, public, def, , ,
__data_fcntl_stdio_heap_head_size = $0000 ; const, public, def, , ,
__data_fcntl_stdio_heap_body_head = $F189 ; const, public, def, , ,
__data_fcntl_stdio_heap_body_tail = $F189 ; const, public, def, , ,
__data_fcntl_stdio_heap_body_size = $0000 ; const, public, def, , ,
__data_fcntl_stdio_heap_tail_head = $F189 ; const, public, def, , ,
__data_fcntl_stdio_heap_tail_tail = $F189 ; const, public, def, , ,
__data_fcntl_stdio_heap_tail_size = $0000 ; const, public, def, , ,
__data_fcntl_fdtable_body_head  = $F189 ; const, public, def, , ,
__data_fcntl_fdtable_body_tail  = $F189 ; const, public, def, , ,
__data_fcntl_fdtable_body_size  = $0000 ; const, public, def, , ,
__data_fp_mbf32_head            = $F189 ; const, public, def, , ,
__data_fp_mbf32_tail            = $F189 ; const, public, def, , ,
__data_fp_mbf32_size            = $0000 ; const, public, def, , ,
__data_PSGlib_head              = $F189 ; const, public, def, , ,
__data_PSGlib_tail              = $F189 ; const, public, def, , ,
__data_PSGlib_size              = $0000 ; const, public, def, , ,
__data_SMSlib_head              = $F189 ; const, public, def, , ,
__data_SMSlib_tail              = $F189 ; const, public, def, , ,
__data_SMSlib_size              = $0000 ; const, public, def, , ,
__data_sound_bit_head           = $F189 ; const, public, def, , ,
__data_sound_bit_tail           = $F189 ; const, public, def, , ,
__data_sound_bit_size           = $0000 ; const, public, def, , ,
__data_sound_ay_head            = $F189 ; const, public, def, , ,
__data_sound_ay_tail            = $F189 ; const, public, def, , ,
__data_sound_ay_size            = $0000 ; const, public, def, , ,
__data_stdio_head               = $F189 ; const, public, def, , ,
__data_stdio_tail               = $F189 ; const, public, def, , ,
__data_stdio_size               = $0000 ; const, public, def, , ,
__data_stdlib_head              = $F189 ; const, public, def, , ,
__data_stdlib_tail              = $F189 ; const, public, def, , ,
__data_stdlib_size              = $0000 ; const, public, def, , ,
__data_threads_head             = $F189 ; const, public, def, , ,
__data_threads_tail             = $F189 ; const, public, def, , ,
__data_threads_size             = $0000 ; const, public, def, , ,
__rodata_align_256_head         = $F189 ; const, public, def, , ,
__rodata_align_256_tail         = $F189 ; const, public, def, , ,
__rodata_align_256_size         = $0000 ; const, public, def, , ,
__rodata_align_128_head         = $F189 ; const, public, def, , ,
__rodata_align_128_tail         = $F189 ; const, public, def, , ,
__rodata_align_128_size         = $0000 ; const, public, def, , ,
__rodata_align_64_head          = $F189 ; const, public, def, , ,
__rodata_align_64_tail          = $F189 ; const, public, def, , ,
__rodata_align_64_size          = $0000 ; const, public, def, , ,
__rodata_align_32_head          = $F189 ; const, public, def, , ,
__rodata_align_32_tail          = $F189 ; const, public, def, , ,
__rodata_align_32_size          = $0000 ; const, public, def, , ,
__rodata_align_16_head          = $F189 ; const, public, def, , ,
__rodata_align_16_tail          = $F189 ; const, public, def, , ,
__rodata_align_16_size          = $0000 ; const, public, def, , ,
__rodata_align_8_head           = $F189 ; const, public, def, , ,
__rodata_align_8_tail           = $F189 ; const, public, def, , ,
__rodata_align_8_size           = $0000 ; const, public, def, , ,
__rodata_align_4_head           = $F189 ; const, public, def, , ,
__rodata_align_4_tail           = $F189 ; const, public, def, , ,
__rodata_align_4_size           = $0000 ; const, public, def, , ,
__rodata_align_2_head           = $F189 ; const, public, def, , ,
__rodata_align_2_tail           = $F189 ; const, public, def, , ,
__rodata_align_2_size           = $0000 ; const, public, def, , ,
__rodata_arch_head              = $F189 ; const, public, def, , ,
__rodata_arch_tail              = $F189 ; const, public, def, , ,
__rodata_arch_size              = $0000 ; const, public, def, , ,
__rodata_env_head               = $F189 ; const, public, def, , ,
__rodata_env_tail               = $F189 ; const, public, def, , ,
__rodata_env_size               = $0000 ; const, public, def, , ,
__rodata_error_strings_head     = $F189 ; const, public, def, , ,
__rodata_error_strings_tail     = $F189 ; const, public, def, , ,
__rodata_error_strings_size     = $0000 ; const, public, def, , ,
__rodata_error_string_end_head  = $F189 ; const, public, def, , ,
__rodata_error_string_end_tail  = $F18A ; const, public, def, , ,
__rodata_error_string_end_size  = $0001 ; const, public, def, , ,
__rodata_fcntl_head             = $F18A ; const, public, def, , ,
__rodata_fcntl_tail             = $F18A ; const, public, def, , ,
__rodata_fcntl_size             = $0000 ; const, public, def, , ,
__rodata_font_4x8_head          = $F18A ; const, public, def, , ,
__rodata_font_4x8_tail          = $F18A ; const, public, def, , ,
__rodata_font_4x8_size          = $0000 ; const, public, def, , ,
__rodata_font_8x8_head          = $F18A ; const, public, def, , ,
__rodata_font_8x8_tail          = $F18A ; const, public, def, , ,
__rodata_font_8x8_size          = $0000 ; const, public, def, , ,
__rodata_font_fzx_head          = $F18A ; const, public, def, , ,
__rodata_font_fzx_tail          = $F18A ; const, public, def, , ,
__rodata_font_fzx_size          = $0000 ; const, public, def, , ,
__rodata_fp_am9511_head         = $F18A ; const, public, def, , ,
__rodata_fp_am9511_tail         = $F18A ; const, public, def, , ,
__rodata_fp_am9511_size         = $0000 ; const, public, def, , ,
__rodata_fp_math48_head         = $F18A ; const, public, def, , ,
__rodata_fp_math48_tail         = $F18A ; const, public, def, , ,
__rodata_fp_math48_size         = $0000 ; const, public, def, , ,
__rodata_fp_math32_head         = $F18A ; const, public, def, , ,
__rodata_fp_math32_tail         = $F18A ; const, public, def, , ,
__rodata_fp_math32_size         = $0000 ; const, public, def, , ,
__rodata_fp_math16_head         = $F18A ; const, public, def, , ,
__rodata_fp_math16_tail         = $F18A ; const, public, def, , ,
__rodata_fp_math16_size         = $0000 ; const, public, def, , ,
__rodata_fp_mbf32_head          = $F18A ; const, public, def, , ,
__rodata_fp_mbf32_tail          = $F18A ; const, public, def, , ,
__rodata_fp_mbf32_size          = $0000 ; const, public, def, , ,
__rodata_input_head             = $F18A ; const, public, def, , ,
__rodata_input_tail             = $F18A ; const, public, def, , ,
__rodata_input_size             = $0000 ; const, public, def, , ,
__rodata_SMSlib_head            = $F18A ; const, public, def, , ,
__rodata_SMSlib_tail            = $F18A ; const, public, def, , ,
__rodata_SMSlib_size            = $0000 ; const, public, def, , ,
__rodata_sound_ay_head          = $F18A ; const, public, def, , ,
__rodata_sound_ay_tail          = $F18A ; const, public, def, , ,
__rodata_sound_ay_size          = $0000 ; const, public, def, , ,
__rodata_sound_bit_head         = $F18A ; const, public, def, , ,
__rodata_sound_bit_tail         = $F18A ; const, public, def, , ,
__rodata_sound_bit_size         = $0000 ; const, public, def, , ,
__rodata_stdio_head             = $F18A ; const, public, def, , ,
__rodata_stdio_tail             = $F18A ; const, public, def, , ,
__rodata_stdio_size             = $0000 ; const, public, def, , ,
__rodata_stdlib_head            = $F18A ; const, public, def, , ,
__rodata_stdlib_tail            = $F18A ; const, public, def, , ,
__rodata_stdlib_size            = $0000 ; const, public, def, , ,
__rodata_compiler_head          = $F18A ; const, public, def, , ,
__rodata_compiler_tail          = $F282 ; const, public, def, , ,
__rodata_compiler_size          = $00F8 ; const, public, def, , ,
__data_compiler_head            = $F282 ; const, public, def, , ,
__data_compiler_tail            = $F7F8 ; const, public, def, , ,
__data_compiler_size            = $0576 ; const, public, def, , ,
__code_clib_head                = $F7F8 ; const, public, def, , ,
__code_clib_tail                = $F7F8 ; const, public, def, , ,
__code_clib_size                = $0000 ; const, public, def, , ,
__bss_clib_head                 = $F7F8 ; const, public, def, , ,
__bss_clib_tail                 = $F7F8 ; const, public, def, , ,
__bss_clib_size                 = $0000 ; const, public, def, , ,
User avatar
dom
Well known member
Posts: 2076
Joined: Sun Jul 15, 2007 10:01 pm

Re: How to set Code ORG and Data

Post by dom »

In case you've not guessed, the order in which the sections are defined is really important in terms of defining where they end up in memory. I genuinely thought that bss_compiler (which holds uninitialised variables) would be output after that orgit function. However, when you use sdcc that is not the case which is why the variables were ending up at 0x0000

So, let's try again, pulling the section definition and the jump table out into a separate file so that there's no ambiguity:

Code: Select all

start.asm:
        org     0xdb00
        SECTION code_compiler
        INCLUDE "../../clib_code.inc"
        INCLUDE "../../clib_bss.inc"
        SECTION bss_compiler
        INCLUDE "../../clib_data.inc"
        SECTION data_compiler
        INCLUDE "../../clib_rodata.inc"
        SECTION rodata_compiler
        SECTION code_compiler

        GLOBAL  _super

        jp      label
        jp      _super

label:
        ld      a,3
        ret

z80.c:
int     global_var;


int super()
{
   return global_var;
}

int blah(int a)
{
        return  a *super();
}
Compile:

Code: Select all

% zcc +z80 --no-crt start.asm z80.c -m -Cl-v
Disassemble:

Code: Select all

% z88dk-dis -o 0xdb00 -x a.map a.bin

                    jp      label                           ;[db00] c3 06 db
                    jp      _super                          ;[db03] c3 09 db
label:
                    ld      a,$03                           ;[db06] 3e 03
                    ret                                     ;[db08] c9

_super:
                    ld      hl,(_global_var)                ;[db09] 2a 4d db
                    ret                                     ;[db0c] c9

_blah:
                    push    ix                              ;[db0d] dd e5
                    ld      ix,$0000                        ;[db0f] dd 21 00 00
                    add     ix,sp                           ;[db13] dd 39
                    call    _super                          ;[db15] cd 09 db
                    push    hl                              ;[db18] e5
                    ld      l,(ix+$04)                      ;[db19] dd 6e 04
                    ld      h,(ix+$05)                      ;[db1c] dd 66 05
                    push    hl                              ;[db1f] e5
                    call    __mulint_callee                 ;[db20] cd 26 db
                    pop     ix                              ;[db23] dd e1
                    ret
User avatar
dom
Well known member
Posts: 2076
Joined: Sun Jul 15, 2007 10:01 pm

Re: How to set Code ORG and Data

Post by dom »

I think we can shorten this even more:

Code: Select all

start.asm

        org     0xdb00

        GLOBAL  _super

        jp      label
        jp      _super

label:
        ld      a,3
        ret
And then sections are just added as they are met - so all code isn't bunched together:

Code: Select all

z88dk-dis -o 0xdb00 -x a.map a.bin

                    jp      label                           ;[db00] c3 06 db
                    jp      _super                          ;[db03] c3 0b db
label:
                    ld      a,$03                           ;[db06] 3e 03
                    ret                                     ;[db08] c9

_global_var:
                    defb    $00                             ;[db09] 00
                    defb    $00                             ;[db0a] 00
_super:
                    ld      hl,(_global_var)                ;[db0b] 2a 09 db
                    ret                                     ;[db0e] c9

_blah:
                    push    ix                              ;[db0f] dd e5
                    ld      ix,$0000                        ;[db11] dd 21 00 00
                    add     ix,sp                           ;[db15] dd 39
                    call    _super                          ;[db17] cd 0b db
                    push    hl                              ;[db1a] e5
                    ld      l,(ix+$04)                      ;[db1b] dd 6e 04
                    ld      h,(ix+$05)                      ;[db1e] dd 66 05
                    push    hl                              ;[db21] e5
                    call    __mulint_callee                 ;[db22] cd 28 db
                    pop     ix                              ;[db25] dd e1
                    ret                                     ;[db27] c9
DJ Sures
Member
Posts: 67
Joined: Sun Dec 11, 2022 12:41 pm

Re: How to set Code ORG and Data

Post by DJ Sures »

Okay i initialized the structs with default values and they are now in correct memory locations. The map has a few things from clib and such that are at 0x000. And a few that are low still in that area. Remember, I'm not using CRT because it makes the code too large. So I'm compiling with...

Code: Select all

zcc +z80 -mz80 --no-crt -compiler=sdcc --list -m -O3 --opt-code-speed --no-peep -lm main.c -o "C:\My Documents\NABU Internet Adapter\Store\BIOS.BIN"
Here's the MAP output now - it's looking better. I guess once I remove more of the libraries I'm using for debugging (etc itoa and utoa from strings), then I can remove a lot of that.

Code: Select all

_IO_VDPDATA                     = $00A0 ; const, local, , main_c, , main.c:581
_IO_VDPLATCH                    = $00A1 ; const, local, , main_c, , main.c:582
_IO_AYDATA                      = $0040 ; const, local, , main_c, , main.c:583
_IO_AYLATCH                     = $0041 ; const, local, , main_c, , main.c:584
_IO_HCCA                        = $0080 ; const, local, , main_c, , main.c:585
_IO_KEYBOARD                    = $0090 ; const, local, , main_c, , main.c:586
_IO_KEYBOARD_STATUS             = $0091 ; const, local, , main_c, , main.c:587
_orgit                          = $DCD0 ; addr, local, , main_c, code_compiler, main.c:666
l_initTextBuffer_00103          = $DD0B ; addr, local, , main_c, code_compiler, main.c:707
l_isKeyPressed_00105            = $DD31 ; addr, local, , main_c, code_compiler, main.c:735
l_isKeyPressed_00106            = $DD33 ; addr, local, , main_c, code_compiler, main.c:737
l_getChar_00101                 = $DD36 ; addr, local, , main_c, code_compiler, main.c:745
l_hcca_isRxBufferAvailable_00103 = $DD92 ; addr, local, , main_c, code_compiler, main.c:813
l_hcca_isRxBufferAvailable_00104 = $DD93 ; addr, local, , main_c, code_compiler, main.c:815
l_hcca_readByte_00101           = $DD97 ; addr, local, , main_c, code_compiler, main.c:824
l_hcca_readByte_00116           = $DDAA ; addr, local, , main_c, code_compiler, main.c:835
l_hcca_readBytes_00103          = $DEF1 ; addr, local, , main_c, code_compiler, main.c:1020
l_hcca_readBytes_00105          = $DF17 ; addr, local, , main_c, code_compiler, main.c:1045
l_hcca_writeString_00103        = $E0AD ; addr, local, , main_c, code_compiler, main.c:1243
l_hcca_writeString_00105        = $E0C6 ; addr, local, , main_c, code_compiler, main.c:1261
l_hcca_writeBytes_00103         = $E0D4 ; addr, local, , main_c, code_compiler, main.c:1273
l_hcca_writeBytes_00105         = $E0FE ; addr, local, , main_c, code_compiler, main.c:1300
l_vdp_print_00103               = $E10C ; addr, local, , main_c, code_compiler, main.c:1312
l_vdp_print_00105               = $E129 ; addr, local, , main_c, code_compiler, main.c:1333
l_vdp_printPart_00103           = $E137 ; addr, local, , main_c, code_compiler, main.c:1345
l_vdp_printPart_00105           = $E165 ; addr, local, , main_c, code_compiler, main.c:1375
l_vdp_newLine_00102             = $E182 ; addr, local, , main_c, code_compiler, main.c:1398
l_vdp_newLine_00104             = $E18D ; addr, local, , main_c, code_compiler, main.c:1408
l_vdp_setCursor2_00104          = $E1A7 ; addr, local, , main_c, code_compiler, main.c:1425
l_vdp_setCursor2_00105          = $E1B6 ; addr, local, , main_c, code_compiler, main.c:1431
l_vdp_setCursor2_00109          = $E1C5 ; addr, local, , main_c, code_compiler, main.c:1439
l_vdp_setCursor2_00110          = $E1CF ; addr, local, , main_c, code_compiler, main.c:1444
l_vdp_setCursor_00101           = $E204 ; addr, local, , main_c, code_compiler, main.c:1474
l_vdp_setCursor_00102           = $E216 ; addr, local, , main_c, code_compiler, main.c:1486
l_vdp_setCursor_00103           = $E228 ; addr, local, , main_c, code_compiler, main.c:1498
l_vdp_setCursor_00104           = $E23A ; addr, local, , main_c, code_compiler, main.c:1510
l_vdp_setCursor_00106           = $E24A ; addr, local, , main_c, code_compiler, main.c:1521
l_vdp_write_00104               = $E2B4 ; addr, local, , main_c, code_compiler, main.c:1588
l_vdp_write_00108               = $E2C2 ; addr, local, , main_c, code_compiler, main.c:1596
l_vdp_scrollTextUp_00111        = $E2F7 ; addr, local, , main_c, code_compiler, main.c:1633
l_vdp_scrollTextUp_00102        = $E324 ; addr, local, , main_c, code_compiler, main.c:1665
l_vdp_scrollTextUp_00108        = $E2FF ; addr, local, , main_c, code_compiler, main.c:1638
l_vdp_scrollTextUp_00125        = $E321 ; addr, local, , main_c, code_compiler, main.c:1662
l_vdp_scrollTextUp_00116        = $E341 ; addr, local, , main_c, code_compiler, main.c:1682
l_vdp_scrollTextUp_00114        = $E32E ; addr, local, , main_c, code_compiler, main.c:1670
l_vdp_writeUInt8ToBinary_00106  = $E460 ; addr, local, , main_c, code_compiler, main.c:1862
l_vdp_writeUInt8ToBinary_00104  = $E48F ; addr, local, , main_c, code_compiler, main.c:1896
l_vdp_writeUInt8ToBinary_00127  = $E46D ; addr, local, , main_c, code_compiler, main.c:1871
l_vdp_writeUInt8ToBinary_00126  = $E46B ; addr, local, , main_c, code_compiler, main.c:1869
l_vdp_writeUInt8ToBinary_00102  = $E485 ; addr, local, , main_c, code_compiler, main.c:1888
l_vdp_writeUInt8ToBinary_00107  = $E48C ; addr, local, , main_c, code_compiler, main.c:1893
l_vdp_writeUInt16ToBinary_00106 = $E4AF ; addr, local, , main_c, code_compiler, main.c:1917
l_vdp_writeUInt16ToBinary_00104 = $E4E7 ; addr, local, , main_c, code_compiler, main.c:1957
l_vdp_writeUInt16ToBinary_00127 = $E4C2 ; addr, local, , main_c, code_compiler, main.c:1929
l_vdp_writeUInt16ToBinary_00126 = $E4BE ; addr, local, , main_c, code_compiler, main.c:1926
l_vdp_writeUInt16ToBinary_00102 = $E4DB ; addr, local, , main_c, code_compiler, main.c:1947
l_vdp_writeUInt16ToBinary_00107 = $E4E4 ; addr, local, , main_c, code_compiler, main.c:1954
l_rn_fileHandleRead_00103       = $E5F3 ; addr, local, , main_c, code_compiler, main.c:2116
l_rn_fileHandleRead_00101       = $E61D ; addr, local, , main_c, code_compiler, main.c:2143
l_rn_fileListItem_00103         = $E9FE ; addr, local, , main_c, code_compiler, main.c:2741
l_rn_fileListItem_00104         = $E9FF ; addr, local, , main_c, code_compiler, main.c:2743
l_rn_fileDetails_00103          = $EB59 ; addr, local, , main_c, code_compiler, main.c:2973
l_rn_fileDetails_00104          = $EB5A ; addr, local, , main_c, code_compiler, main.c:2975
l_rn_fileHandleDetails_00103    = $EC9B ; addr, local, , main_c, code_compiler, main.c:3193
l_rn_fileHandleDetails_00104    = $EC9C ; addr, local, , main_c, code_compiler, main.c:3195
l_rn_fileHandleReadSeq_00103    = $ECD0 ; addr, local, , main_c, code_compiler, main.c:3228
l_rn_fileHandleReadSeq_00101    = $ECFA ; addr, local, , main_c, code_compiler, main.c:3255
___str_0                        = $F076 ; addr, local, , main_c, rodata_compiler, main.c:3307
l_doRestartError_00102          = $ED43 ; addr, local, , main_c, code_compiler, main.c:3304
___str_1                        = $F093 ; addr, local, , main_c, rodata_compiler, main.c:3398
__DPB                           = $F6F5 ; addr, local, , main_c, data_compiler, main.c:5335
__DPH                           = $F6E5 ; addr, local, , main_c, data_compiler, main.c:5326
__SCRATCH_AREA                  = $F645 ; addr, local, , main_c, data_compiler, main.c:5164
__DSM_AREA                      = $F6C5 ; addr, local, , main_c, data_compiler, main.c:5293
__DMA                           = $F63F ; addr, local, , main_c, data_compiler, main.c:5158
___str_2                        = $F0A8 ; addr, local, , main_c, rodata_compiler, main.c:3417
__A                             = $F637 ; addr, local, , main_c, data_compiler, main.c:5146
l_doConst_00105                 = $EE3C ; addr, local, , main_c, code_compiler, main.c:3443
l_doConst_00101                 = $EE33 ; addr, local, , main_c, code_compiler, main.c:3438
__LASTKEY                       = $F636 ; addr, local, , main_c, data_compiler, main.c:5144
l_doConin_00102                 = $EE4D ; addr, local, , main_c, code_compiler, main.c:3458
l_doConin_00103                 = $EE54 ; addr, local, , main_c, code_compiler, main.c:3462
___str_3                        = $F0B2 ; addr, local, , main_c, rodata_compiler, main.c:3512
___str_4                        = $F0B8 ; addr, local, , main_c, rodata_compiler, main.c:3527
___str_5                        = $F0BF ; addr, local, , main_c, rodata_compiler, main.c:3542
__C                             = $F639 ; addr, local, , main_c, data_compiler, main.c:5150
__E                             = $F63A ; addr, local, , main_c, data_compiler, main.c:5152
___str_7                        = $F0CA ; addr, local, , main_c, rodata_compiler, main.c:3645
___str_6                        = $F0C4 ; addr, local, , main_c, rodata_compiler, main.c:3641
l_doSeldsk_00102                = $EEF3 ; addr, local, , main_c, code_compiler, main.c:3597
__HL                            = $F63D ; addr, local, , main_c, data_compiler, main.c:5156
___str_8                        = $F0D2 ; addr, local, , main_c, rodata_compiler, main.c:3649
l_doSeldsk_00103                = $EF3D ; addr, local, , main_c, code_compiler, main.c:3632
___str_9                        = $F0DC ; addr, local, , main_c, rodata_compiler, main.c:3653
___str_10                       = $F0EE ; addr, local, , main_c, rodata_compiler, main.c:3657
___str_11                       = $F0FA ; addr, local, , main_c, rodata_compiler, main.c:3661
___str_12                       = $F106 ; addr, local, , main_c, rodata_compiler, main.c:3665
__TRACK                         = $F641 ; addr, local, , main_c, data_compiler, main.c:5160
___str_13                       = $F121 ; addr, local, , main_c, rodata_compiler, main.c:3687
__SECTOR                        = $F643 ; addr, local, , main_c, data_compiler, main.c:5162
___str_14                       = $F12C ; addr, local, , main_c, rodata_compiler, main.c:3706
___str_15                       = $F138 ; addr, local, , main_c, rodata_compiler, main.c:3725
___str_17                       = $F146 ; addr, local, , main_c, rodata_compiler, main.c:3857
___str_16                       = $F140 ; addr, local, , main_c, rodata_compiler, main.c:3853
___str_18                       = $F14C ; addr, local, , main_c, rodata_compiler, main.c:3861
l_doRead_00102                  = $F022 ; addr, local, , main_c, code_compiler, main.c:3830
l_doRead_00103                  = $F027 ; addr, local, , main_c, code_compiler, main.c:3833
___str_19                       = $F155 ; addr, local, , main_c, rodata_compiler, main.c:3865
___str_20                       = $F15D ; addr, local, , main_c, rodata_compiler, main.c:3881
l_doWrite_00102                 = $F055 ; addr, local, , main_c, code_compiler, main.c:3878
___str_21                       = $F165 ; addr, local, , main_c, rodata_compiler, main.c:3909
__B                             = $F638 ; addr, local, , main_c, data_compiler, main.c:5148
__BC                            = $F63B ; addr, local, , main_c, data_compiler, main.c:5154
__CLIB_OPT_IMATH                = $0000 ; const, local, , l_mulu_16_16x16, , target/z80/obj/config_private.inc:78
eight_bit_1                     = $F724 ; addr, local, , l_small_mul_16_16x16, code_math, math/integer/small/l_small_mul_16_16x16.asm:40
eight_bit_0                     = $F723 ; addr, local, , l_small_mul_16_16x16, code_math, math/integer/small/l_small_mul_16_16x16.asm:36
rejoin                          = $F727 ; addr, local, , l_small_mul_16_16x16, code_math, math/integer/small/l_small_mul_16_16x16.asm:57
loop_0                          = $F72A ; addr, local, , l_small_mul_16_16x16, code_math, math/integer/small/l_small_mul_16_16x16.asm:61
loop_1                          = $F731 ; addr, local, , l_small_mul_16_16x16, code_math, math/integer/small/l_small_mul_16_16x16.asm:75
__CLIB_OPT_ERROR                = $0000 ; const, local, , error_einval_zc, , target/z80/obj/config_private.inc:261
__CLIB_OPT_NUM2TXT              = $0000 ; const, local, , asm_utoa, , target/z80/obj/config_private.inc:113
compute_lp                      = $F7B3 ; addr, local, , asm_utoa, code_stdlib, stdlib/z80/asm_utoa.asm:100
write_lp                        = $F7C5 ; addr, local, , asm_utoa, code_stdlib, stdlib/z80/asm_utoa.asm:126
alpha                           = $F815 ; addr, local, , l_num2char, code_l, l/util/9-common/ascii/l_num2char.asm:24
__CLIB_OPT_IMATH                = $0000 ; const, local, , l_divu_16_16x8, , target/z80/obj/config_private.inc:78
divide_zero                     = $F76C ; addr, local, , l_small_divu_16_16x16, code_math, math/integer/small/l_small_divu_16_16x16.asm:141
divisor_sixteen_bit             = $F73E ; addr, local, , l_small_divu_16_16x16, code_math, math/integer/small/l_small_divu_16_16x16.asm:50
loop_16_0                       = $F744 ; addr, local, , l_small_divu_16_16x16, code_math, math/integer/small/l_small_divu_16_16x16.asm:60
loop_16_1                       = $F74C ; addr, local, , l_small_divu_16_16x16, code_math, math/integer/small/l_small_divu_16_16x16.asm:69
loop_8_0                        = $F75E ; addr, local, , l_small_divu_16_16x16, code_math, math/integer/small/l_small_divu_16_16x16.asm:118
loop_8_2                        = $F765 ; addr, local, , l_small_divu_16_16x16, code_math, math/integer/small/l_small_divu_16_16x16.asm:127
loop_8_1                        = $F767 ; addr, local, , l_small_divu_16_16x16, code_math, math/integer/small/l_small_divu_16_16x16.asm:132
__CLIB_OPT_ERROR                = $0000 ; const, local, , error_edom_mc, , target/z80/obj/config_private.inc:261
_doSectran                      = $F05A ; addr, public, , main_c, code_compiler, main.c:3895
_doListst                       = $F057 ; addr, public, , main_c, code_compiler, main.c:3888
_doWrite                        = $F04A ; addr, public, , main_c, code_compiler, main.c:3872
_doRead                         = $EF94 ; addr, public, , main_c, code_compiler, main.c:3732
_doSetdma                       = $EF7D ; addr, public, , main_c, code_compiler, main.c:3713
_doSetsec                       = $EF66 ; addr, public, , main_c, code_compiler, main.c:3694
_doSettrk                       = $EF4C ; addr, public, , main_c, code_compiler, main.c:3674
_doSeldsk                       = $EEA1 ; addr, public, , main_c, code_compiler, main.c:3549
_doHome                         = $EE95 ; addr, public, , main_c, code_compiler, main.c:3534
_doReader                       = $EE8A ; addr, public, , main_c, code_compiler, main.c:3519
_doPunch                        = $EE81 ; addr, public, , main_c, code_compiler, main.c:3505
_doList                         = $EE6F ; addr, public, , main_c, code_compiler, main.c:3488
_doConout                       = $EE5D ; addr, public, , main_c, code_compiler, main.c:3471
_doConin                        = $EE40 ; addr, public, , main_c, code_compiler, main.c:3450
_doConst                        = $EE1B ; addr, public, , main_c, code_compiler, main.c:3424
_doWboot                        = $EE05 ; addr, public, , main_c, code_compiler, main.c:3405
_doBoot                         = $ED45 ; addr, public, , main_c, code_compiler, main.c:3314
_doRestartError                 = $ED3B ; addr, public, , main_c, code_compiler, main.c:3299
_isr                            = $DD3E ; addr, public, , main_c, code_compiler, main.c:755
_initTextBuffer                 = $DD08 ; addr, public, , main_c, code_compiler, main.c:705
_main                           = $F70D ; addr, public, , main_c, code_compiler, main.c:690
__vdp_crsr_max_x                = $F635 ; addr, public, , main_c, data_compiler, main.c:5142
__vdp_pattern_table             = $F633 ; addr, public, , main_c, data_compiler, main.c:5140
__vdp_name_table                = $F631 ; addr, public, , main_c, data_compiler, main.c:5138
_vdp_cursor                     = $F62F ; addr, public, , main_c, data_compiler, main.c:5135
__vdp_textBuffer                = $F26F ; addr, public, , main_c, data_compiler, main.c:4174
__rxBufferWritePos              = $F26E ; addr, public, , main_c, data_compiler, main.c:4172
__rxBufferReadPos               = $F26D ; addr, public, , main_c, data_compiler, main.c:4170
__rxBuffer                      = $F16D ; addr, public, , main_c, data_compiler, main.c:3913
__vdp_crsr_max_y                = $F075 ; addr, public, , main_c, rodata_compiler, main.c:699
_nop                            = $DD06 ; addr, public, , main_c, code_compiler, main.c:695
_isKeyPressed                   = $DD1B ; addr, public, , main_c, code_compiler, main.c:722
_getChar                        = $DD34 ; addr, public, , main_c, code_compiler, main.c:743
_hcca_enableReceiveBufferInterrupt = $DD5B ; addr, public, , main_c, code_compiler, main.c:781
_hcca_isRxBufferAvailable       = $DD85 ; addr, public, , main_c, code_compiler, main.c:806
_hcca_readByte                  = $DD97 ; addr, public, , main_c, code_compiler, main.c:823
_hcca_readUInt16                = $DDAF ; addr, public, , main_c, code_compiler, main.c:845
_hcca_readInt16                 = $DDBF ; addr, public, , main_c, code_compiler, main.c:860
_hcca_readUInt32                = $DDCF ; addr, public, , main_c, code_compiler, main.c:875
_hcca_readInt32                 = $DE5B ; addr, public, , main_c, code_compiler, main.c:945
_hcca_readBytes                 = $DEE7 ; addr, public, , main_c, code_compiler, main.c:1015
_hcca_writeByte                 = $DF1A ; addr, public, , main_c, code_compiler, main.c:1052
_hcca_writeUInt32               = $E00A ; addr, public, , main_c, code_compiler, main.c:1138
_hcca_writeInt32                = $E039 ; addr, public, , main_c, code_compiler, main.c:1168
_hcca_writeUInt16               = $E068 ; addr, public, , main_c, code_compiler, main.c:1198
_hcca_writeInt16                = $E085 ; addr, public, , main_c, code_compiler, main.c:1218
_hcca_writeString               = $E0A2 ; addr, public, , main_c, code_compiler, main.c:1238
_hcca_writeBytes                = $E0C9 ; addr, public, , main_c, code_compiler, main.c:1268
_vdp_print                      = $E101 ; addr, public, , main_c, code_compiler, main.c:1307
_vdp_printPart                  = $E12C ; addr, public, , main_c, code_compiler, main.c:1340
_vdp_newLine                    = $E168 ; addr, public, , main_c, code_compiler, main.c:1382
_vdp_setCursor2                 = $E18E ; addr, public, , main_c, code_compiler, main.c:1414
_vdp_setCursor                  = $E1E0 ; addr, public, , main_c, code_compiler, main.c:1457
_vdp_write                      = $E24D ; addr, public, , main_c, code_compiler, main.c:1528
_vdp_scrollTextUp               = $E2C5 ; addr, public, , main_c, code_compiler, main.c:1603
_vdp_writeUInt32                = $E346 ; addr, public, , main_c, code_compiler, main.c:1690
_vdp_writeInt32                 = $E373 ; addr, public, , main_c, code_compiler, main.c:1717
_vdp_writeUInt16                = $E3A0 ; addr, public, , main_c, code_compiler, main.c:1744
_vdp_writeInt16                 = $E3CD ; addr, public, , main_c, code_compiler, main.c:1771
_vdp_writeUInt8                 = $E3FA ; addr, public, , main_c, code_compiler, main.c:1798
_vdp_writeInt8                  = $E423 ; addr, public, , main_c, code_compiler, main.c:1824
_vdp_writeUInt8ToBinary         = $E451 ; addr, public, , main_c, code_compiler, main.c:1854
_vdp_writeUInt16ToBinary        = $E4A0 ; addr, public, , main_c, code_compiler, main.c:1909
_rn_fileOpen                    = $E4F8 ; addr, public, , main_c, code_compiler, main.c:1970
_rn_fileHandleClose             = $E543 ; addr, public, , main_c, code_compiler, main.c:2012
_rn_fileSize                    = $E55F ; addr, public, , main_c, code_compiler, main.c:2032
_rn_fileHandleSize              = $E596 ; addr, public, , main_c, code_compiler, main.c:2064
_rn_fileHandleRead              = $E5B4 ; addr, public, , main_c, code_compiler, main.c:2084
_rn_fileHandleAppend            = $E624 ; addr, public, , main_c, code_compiler, main.c:2153
_rn_fileHandleInsert            = $E668 ; addr, public, , main_c, code_compiler, main.c:2191
_rn_fileHandleDeleteRange       = $E6BF ; addr, public, , main_c, code_compiler, main.c:2238
_rn_fileHandleEmptyFile         = $E6F9 ; addr, public, , main_c, code_compiler, main.c:2272
_rn_fileHandleReplace           = $E715 ; addr, public, , main_c, code_compiler, main.c:2292
_rn_fileDelete                  = $E76C ; addr, public, , main_c, code_compiler, main.c:2339
_rn_fileHandleCopy              = $E7A1 ; addr, public, , main_c, code_compiler, main.c:2371
_rn_fileHandleMove              = $E801 ; addr, public, , main_c, code_compiler, main.c:2425
_rn_fileList                    = $E861 ; addr, public, , main_c, code_compiler, main.c:2479
_rn_fileListItem                = $E8C3 ; addr, public, , main_c, code_compiler, main.c:2533
_rn_fileDetails                 = $EA07 ; addr, public, , main_c, code_compiler, main.c:2753
_rn_fileHandleDetails           = $EB62 ; addr, public, , main_c, code_compiler, main.c:2985
_rn_fileHandleReadSeq           = $ECA4 ; addr, public, , main_c, code_compiler, main.c:3205
_rn_fileHandleSeek              = $ED01 ; addr, public, , main_c, code_compiler, main.c:3265
_im2_init_fastcall              = $F704 ; addr, public, , im2_init_fastcall, code_z80, im2/c/sdcc/im2_init_fastcall.asm:11
asm_im2_init                    = $F704 ; addr, public, , asm_im2_init, code_im2, im2/z80/asm_im2_init.asm:17
l_ret                           = $F70D ; addr, public, , l_ret, code_l_sccz80, l/sccz80/9-common/l_ret.asm:14
__mulint_callee                 = $F70E ; addr, public, , __mulint_callee, code_l_sdcc, l/sdcc/__mulint_callee.asm:9
l_mulu_16_16x16                 = $F715 ; addr, public, , l_mulu_16_16x16, code_math, math/integer/l_mulu_16_16x16.asm:29
l_small_mul_16_16x16            = $F715 ; addr, public, , l_small_mul_16_16x16, code_math, math/integer/small/l_small_mul_16_16x16.asm:10
l_small_mul_16_16x8             = $F724 ; addr, public, , l_small_mul_16_16x16, code_math, math/integer/small/l_small_mul_16_16x16.asm:42
_itoa_callee                    = $F770 ; addr, public, , itoa_callee, code_stdlib, stdlib/c/sdcc_iy/itoa_callee.asm:11
_utoa_callee                    = $F778 ; addr, public, , utoa_callee, code_stdlib, stdlib/c/sdcc_iy/utoa_callee.asm:11
asm_itoa                        = $F780 ; addr, public, , asm_itoa, code_stdlib, stdlib/z80/asm_itoa.asm:24
asm0_itoa                       = $F785 ; addr, public, , asm_itoa, code_stdlib, stdlib/z80/asm_itoa.asm:46
error_einval_zc                 = $F7CF ; addr, public, , error_einval_zc, code_error, error/z80/error_einval_zc.asm:43
errno_zc                        = $F7D1 ; addr, public, , errno_zc, code_error, error/z80/errno_zc.asm:21
_errno                          = $F7F7 ; addr, public, , _errno, bss_error, error/z80/_errno.asm:7
error_zc                        = $F7DD ; addr, public, , error_zc, code_error, error/z80/error_zc.asm:12
l_valid_base                    = $F7F9 ; addr, public, , l_valid_base, code_l, l/util/9-common/ascii/l_valid_base.asm:7
l_neg_hl                        = $F806 ; addr, public, , l_neg_hl, code_l, l/util/9-common/integer/l_neg_hl.asm:15
asm_utoa                        = $F7A1 ; addr, public, , asm_utoa, code_stdlib, stdlib/z80/asm_utoa.asm:23
asm0_utoa                       = $F7A6 ; addr, public, , asm_utoa, code_stdlib, stdlib/z80/asm_utoa.asm:45
asm1_utoa                       = $F7AC ; addr, public, , asm_utoa, code_stdlib, stdlib/z80/asm_utoa.asm:52
l_num2char                      = $F80E ; addr, public, , l_num2char, code_l, l/util/9-common/ascii/l_num2char.asm:7
l_divu_16_16x8                  = $F756 ; addr, public, , l_divu_16_16x8, code_math, math/integer/l_divu_16_16x8.asm:22
l0_divu_16_16x8                 = $F75A ; addr, public, , l_divu_16_16x8, code_math, math/integer/l_divu_16_16x8.asm:23
l_small_divu_16_16x16           = $F736 ; addr, public, , l_small_divu_16_16x16, code_math, math/integer/small/l_small_divu_16_16x16.asm:17
l0_small_divu_16_16x16          = $F73A ; addr, public, , l_small_divu_16_16x16, code_math, math/integer/small/l_small_divu_16_16x16.asm:42
l_small_divu_16_16x8            = $F756 ; addr, public, , l_small_divu_16_16x16, code_math, math/integer/small/l_small_divu_16_16x16.asm:87
l0_small_divu_16_16x8           = $F75A ; addr, public, , l_small_divu_16_16x16, code_math, math/integer/small/l_small_divu_16_16x16.asm:112
error_divide_by_zero_mc         = $F7E5 ; addr, public, , error_divide_by_zero_mc, code_error, error/z80/error_divide_by_zero_mc.asm:12
error_edom_mc                   = $F7E5 ; addr, public, , error_edom_mc, code_error, error/z80/error_edom_mc.asm:57
errno_mc                        = $F7E7 ; addr, public, , errno_mc, code_error, error/z80/errno_mc.asm:21
error_mc                        = $F7F2 ; addr, public, , error_mc, code_error, error/z80/error_mc.asm:11
__head                          = $0000 ; const, public, def, , ,
__tail                          = $F818 ; const, public, def, , ,
__size                          = $F818 ; const, public, def, , ,
__bss_compiler_head             = $0000 ; const, public, def, , ,
__bss_compiler_tail             = $0000 ; const, public, def, , ,
__bss_compiler_size             = $0000 ; const, public, def, , ,
__IGNORE_head                   = $0000 ; const, public, def, , ,
__IGNORE_tail                   = $0000 ; const, public, def, , ,
__IGNORE_size                   = $0000 ; const, public, def, , ,
__code_crt_init_head            = $0000 ; const, public, def, , ,
__code_crt_init_tail            = $0000 ; const, public, def, , ,
__code_crt_init_size            = $0000 ; const, public, def, , ,
__code_compiler_head            = $DCD0 ; const, public, def, , ,
__code_compiler_tail            = $F075 ; const, public, def, , ,
__code_compiler_size            = $13A5 ; const, public, def, , ,
__rodata_compiler_head          = $F075 ; const, public, def, , ,
__rodata_compiler_tail          = $F16D ; const, public, def, , ,
__rodata_compiler_size          = $00F8 ; const, public, def, , ,
__data_compiler_head            = $F16D ; const, public, def, , ,
__data_compiler_tail            = $F704 ; const, public, def, , ,
__data_compiler_size            = $0597 ; const, public, def, , ,
__code_clib_head                = $F704 ; const, public, def, , ,
__code_clib_tail                = $F704 ; const, public, def, , ,
__code_clib_size                = $0000 ; const, public, def, , ,
__code_z80_head                 = $F704 ; const, public, def, , ,
__code_z80_tail                 = $F704 ; const, public, def, , ,
__code_z80_size                 = $0000 ; const, public, def, , ,
__code_im2_head                 = $F704 ; const, public, def, , ,
__code_im2_tail                 = $F70A ; const, public, def, , ,
__code_im2_size                 = $0006 ; const, public, def, , ,
__code_l_sccz80_head            = $F70A ; const, public, def, , ,
__code_l_sccz80_tail            = $F70E ; const, public, def, , ,
__code_l_sccz80_size            = $0004 ; const, public, def, , ,
__code_l_sdcc_head              = $F70E ; const, public, def, , ,
__code_l_sdcc_tail              = $F715 ; const, public, def, , ,
__code_l_sdcc_size              = $0007 ; const, public, def, , ,
__code_math_head                = $F715 ; const, public, def, , ,
__code_math_tail                = $F770 ; const, public, def, , ,
__code_math_size                = $005B ; const, public, def, , ,
__code_stdlib_head              = $F770 ; const, public, def, , ,
__code_stdlib_tail              = $F7CC ; const, public, def, , ,
__code_stdlib_size              = $005C ; const, public, def, , ,
__code_error_head               = $F7CC ; const, public, def, , ,
__code_error_tail               = $F7F7 ; const, public, def, , ,
__code_error_size               = $002B ; const, public, def, , ,
__bss_clib_head                 = $F7F7 ; const, public, def, , ,
__bss_clib_tail                 = $F7F7 ; const, public, def, , ,
__bss_clib_size                 = $0000 ; const, public, def, , ,
__bss_error_head                = $F7F7 ; const, public, def, , ,
__bss_error_tail                = $F7F9 ; const, public, def, , ,
__bss_error_size                = $0002 ; const, public, def, , ,
__code_l_head                   = $F7F9 ; const, public, def, , ,
__code_l_tail                   = $F818 ; const, public, def, , ,
__code_l_size                   = $001F ; const, public, def, , ,
Post Reply