Empty application for testing

This commit is contained in:
logicog
2025-07-11 15:50:55 +02:00
parent 37cee7692a
commit a2af2f9151
8 changed files with 1560 additions and 0 deletions
+21
View File
@@ -0,0 +1,21 @@
CC = sdcc
CC_FLAGS = -mmcs51 -I. -I../uip
ASM = sdas8051
AFLAGS= -plosgff
SRCS = hello-world.c
OBJS = ${SRCS:.c=.rel}
all: $(OBJS)
%.rel: %.c
$(CC) $(CC_FLAGS) -c $<
%.rel: %.asm
${ASM} ${AFLAGS} $^
clean:
rm *.ihx *.lk *.lst *.map *.mem *.rel *.rst *.sym *.bin
.PHONY: all clean
+264
View File
@@ -0,0 +1,264 @@
;--------------------------------------------------------
; File Created by SDCC : free open source ANSI-C Compiler
; Version 4.2.0 #13081 (Linux)
;--------------------------------------------------------
.module hello_world
.optsdcc -mmcs51 --model-small
;--------------------------------------------------------
; Public variables in this module
;--------------------------------------------------------
.globl _uip_listen
.globl _psock_readto
.globl _psock_init
.globl _strtox
.globl _write_char
.globl _hello_world_init
.globl _hello_world_appcall
;--------------------------------------------------------
; special function registers
;--------------------------------------------------------
.area RSEG (ABS,DATA)
.org 0x0000
;--------------------------------------------------------
; special function bits
;--------------------------------------------------------
.area RSEG (ABS,DATA)
.org 0x0000
;--------------------------------------------------------
; overlayable register banks
;--------------------------------------------------------
.area REG_BANK_0 (REL,OVR,DATA)
.ds 8
;--------------------------------------------------------
; internal ram data
;--------------------------------------------------------
.area DSEG (DATA)
;--------------------------------------------------------
; overlayable items in internal ram
;--------------------------------------------------------
;--------------------------------------------------------
; indirectly addressable internal ram data
;--------------------------------------------------------
.area ISEG (DATA)
;--------------------------------------------------------
; absolute internal ram data
;--------------------------------------------------------
.area IABS (ABS,DATA)
.area IABS (ABS,DATA)
;--------------------------------------------------------
; bit data
;--------------------------------------------------------
.area BSEG (BIT)
;--------------------------------------------------------
; paged external ram data
;--------------------------------------------------------
.area PSEG (PAG,XDATA)
;--------------------------------------------------------
; external ram data
;--------------------------------------------------------
.area XSEG (XDATA)
_handle_connection_buf_65536_59:
.ds 100
;--------------------------------------------------------
; absolute external ram data
;--------------------------------------------------------
.area XABS (ABS,XDATA)
;--------------------------------------------------------
; external initialized ram data
;--------------------------------------------------------
.area XISEG (XDATA)
.area HOME (CODE)
.area GSINIT0 (CODE)
.area GSINIT1 (CODE)
.area GSINIT2 (CODE)
.area GSINIT3 (CODE)
.area GSINIT4 (CODE)
.area GSINIT5 (CODE)
.area GSINIT (CODE)
.area GSFINAL (CODE)
.area CSEG (CODE)
;--------------------------------------------------------
; global & static initialisations
;--------------------------------------------------------
.area HOME (CODE)
.area GSINIT (CODE)
.area GSFINAL (CODE)
.area GSINIT (CODE)
;--------------------------------------------------------
; Home
;--------------------------------------------------------
.area HOME (CODE)
.area HOME (CODE)
;--------------------------------------------------------
; code
;--------------------------------------------------------
.area BANK1 (CODE)
;------------------------------------------------------------
;Allocation info for local variables in function 'hello_world_init'
;------------------------------------------------------------
; hello-world.c:43: hello_world_init(void)
; -----------------------------------------
; function hello_world_init
; -----------------------------------------
_hello_world_init:
ar7 = 0x07
ar6 = 0x06
ar5 = 0x05
ar4 = 0x04
ar3 = 0x03
ar2 = 0x02
ar1 = 0x01
ar0 = 0x00
; hello-world.c:46: uip_listen(HTONS(1000));
mov dptr,#0xe803
; hello-world.c:47: }
ljmp _uip_listen
;------------------------------------------------------------
;Allocation info for local variables in function 'hello_world_appcall'
;------------------------------------------------------------
;s Allocated to registers r6 r7
;------------------------------------------------------------
; hello-world.c:57: hello_world_appcall(void)
; -----------------------------------------
; function hello_world_appcall
; -----------------------------------------
_hello_world_appcall:
; hello-world.c:64: __xdata struct hello_world_state *s = &(uip_conn->appstate);
mov a,#0x1c
add a,_uip_conn
mov r6,a
clr a
addc a,(_uip_conn + 1)
mov r7,a
; hello-world.c:70: if(uip_connected()) {
mov dptr,#_uip_flags
movx a,@dptr
jnb acc.6,00102$
; hello-world.c:71: PSOCK_INIT(&s->p, s->inputbuffer, sizeof(s->inputbuffer));
mov a,#0x15
add a,r6
mov _psock_init_PARM_2,a
clr a
addc a,r7
mov (_psock_init_PARM_2 + 1),a
mov _psock_init_PARM_3,#0x0a
mov (_psock_init_PARM_3 + 1),#0x00
mov dpl,r6
mov dph,r7
push ar7
push ar6
lcall _psock_init
pop ar6
pop ar7
00102$:
; hello-world.c:79: write_char('A');
mov dpl,#0x41
push ar7
push ar6
lcall _write_char
pop ar6
pop ar7
; hello-world.c:80: handle_connection(s);
mov dpl,r6
mov dph,r7
; hello-world.c:81: }
ljmp _handle_connection
;------------------------------------------------------------
;Allocation info for local variables in function 'handle_connection'
;------------------------------------------------------------
;s Allocated to registers r6 r7
;PT_YIELD_FLAG Allocated to registers
;buf Allocated with name '_handle_connection_buf_65536_59'
;------------------------------------------------------------
; hello-world.c:90: handle_connection(__xdata struct hello_world_state *s)
; -----------------------------------------
; function handle_connection
; -----------------------------------------
_handle_connection:
; hello-world.c:94: PSOCK_BEGIN(&s->p);
mov r6,dpl
mov r7,dph
movx a,@dptr
mov r4,a
inc dptr
movx a,@dptr
mov r5,a
cjne r4,#0x00,00123$
cjne r5,#0x00,00123$
sjmp 00101$
00123$:
cjne r4,#0x63,00108$
cjne r5,#0x00,00108$
sjmp 00102$
00101$:
; hello-world.c:96: strtox(buf, "Hello. What is your name?\n");
mov _strtox_PARM_2,#___str_0
mov (_strtox_PARM_2 + 1),#(___str_0 >> 8)
mov dptr,#_handle_connection_buf_65536_59
push ar7
push ar6
lcall _strtox
pop ar6
pop ar7
; hello-world.c:99: PSOCK_READTO(&s->p, '\n');
mov dpl,r6
mov dph,r7
mov a,#0x63
movx @dptr,a
clr a
inc dptr
movx @dptr,a
00102$:
mov _psock_readto_PARM_2,#0x0a
mov dpl,r6
mov dph,r7
push ar7
push ar6
lcall _psock_readto
mov a,dpl
pop ar6
pop ar7
jnz 00106$
mov dpl,a
ret
00106$:
; hello-world.c:101: strtox(buf, "Name: ");
mov _strtox_PARM_2,#___str_1
mov (_strtox_PARM_2 + 1),#(___str_1 >> 8)
mov dptr,#_handle_connection_buf_65536_59
push ar7
push ar6
lcall _strtox
pop ar6
pop ar7
; hello-world.c:104: PSOCK_CLOSE(&s->p);
mov dptr,#_uip_flags
mov a,#0x10
movx @dptr,a
; hello-world.c:106: PSOCK_END(&s->p);
00108$:
mov dpl,r6
mov dph,r7
clr a
movx @dptr,a
inc dptr
movx @dptr,a
mov dpl,#0x02
; hello-world.c:107: }
ret
.area BANK1 (CODE)
.area CONST (CODE)
.area CONST (CODE)
___str_0:
.ascii "Hello. What is your name?"
.db 0x0a
.db 0x00
.area BANK1 (CODE)
.area CONST (CODE)
___str_1:
.ascii "Name: "
.db 0x00
.area BANK1 (CODE)
.area XINIT (CODE)
.area CABS (ABS,CODE)
+108
View File
@@ -0,0 +1,108 @@
/**
* \addtogroup helloworld
* @{
*/
/**
* \file
* An example of how to write uIP applications
* with protosockets.
* \author
* Adam Dunkels <adam@sics.se>
*/
/*
* This is a short example of how to write uIP applications using
* protosockets.
*/
/*
* We define the application state (struct hello_world_state) in the
* hello-world.h file, so we need to include it here. We also include
* uip.h (since this cannot be included in hello-world.h) and
* <string.h>, since we use the memcpy() function in the code.
*/
#include "hello-world.h"
#include "../rtl837x_common.h"
#include "uip.h"
#pragma codeseg BANK1
/*
* Declaration of the protosocket function that handles the connection
* (defined at the end of the code).
*/
static uint8_t handle_connection(__xdata struct hello_world_state *s);
/*---------------------------------------------------------------------------*/
/*
* The initialization function. We must explicitly call this function
* from the system initialization code, some time after uip_init() is
* called.
*/
void
hello_world_init(void)
{
/* We start to listen for connections on TCP port 1000. */
uip_listen(HTONS(1000));
}
/*---------------------------------------------------------------------------*/
/*
* In hello-world.h we have defined the UIP_APPCALL macro to
* hello_world_appcall so that this funcion is uIP's application
* function. This function is called whenever an uIP event occurs
* (e.g. when a new connection is established, new data arrives, sent
* data is acknowledged, data needs to be retransmitted, etc.).
*/
void
hello_world_appcall(void)
{
/*
* The uip_conn structure has a field called "appstate" that holds
* the application state of the connection. We make a pointer to
* this to access it easier.
*/
__xdata struct hello_world_state *s = &(uip_conn->appstate);
/*
* If a new connection was just established, we should initialize
* the protosocket in our applications' state structure.
*/
if(uip_connected()) {
PSOCK_INIT(&s->p, s->inputbuffer, sizeof(s->inputbuffer));
}
/*
* Finally, we run the protosocket function that actually handles
* the communication. We pass it a pointer to the application state
* of the current connection.
*/
write_char('A');
handle_connection(s);
}
/*---------------------------------------------------------------------------*/
/*
* This is the protosocket function that handles the communication. A
* protosocket function must always return an int, but must never
* explicitly return - all return statements are hidden in the PSOCK
* macros.
*/
static uint8_t
handle_connection(__xdata struct hello_world_state *s)
{
__xdata char buf[100];
PSOCK_BEGIN(&s->p);
strtox(buf, "Hello. What is your name?\n");
// PSOCK_SEND_STR(&s->p, &buf[0]);
// PSOCK_SEND_STR(&s->p, "Hello. What is your name?\n");
PSOCK_READTO(&s->p, '\n');
// strncpy(s->name, s->inputbuffer, sizeof(s->name));
strtox(buf, "Name: ");
// PSOCK_SEND_STR(&s->p, &buf[0]);
// PSOCK_SEND_STR(&s->p, s->name);
PSOCK_CLOSE(&s->p);
PSOCK_END(&s->p);
}
/*---------------------------------------------------------------------------*/
+52
View File
@@ -0,0 +1,52 @@
/**
* \addtogroup apps
* @{
*/
/**
* \defgroup helloworld Hello, world
* @{
*
* A small example showing how to write applications with
* \ref psock "protosockets".
*/
/**
* \file
* Header file for an example of how to write uIP applications
* with protosockets.
* \author
* Adam Dunkels <adam@sics.se>
*/
#ifndef __HELLO_WORLD_H__
#define __HELLO_WORLD_H__
/* Since this file will be included by uip.h, we cannot include uip.h
here. But we might need to include uipopt.h if we need the u8_t and
u16_t datatypes. */
#include "uipopt.h"
#include "psock.h"
/* Next, we define the uip_tcp_appstate_t datatype. This is the state
of our application, and the memory required for this state is
allocated together with each TCP connection. One application state
for each TCP connection. */
typedef struct hello_world_state {
struct psock p;
char inputbuffer[10];
char name[40];
} uip_tcp_appstate_t;
/* Finally we define the application function to be called by uIP. */
void hello_world_appcall(void);
#ifndef UIP_APPCALL
#define UIP_APPCALL hello_world_appcall
#endif /* UIP_APPCALL */
void hello_world_init(void);
#endif /* __HELLO_WORLD_H__ */
/** @} */
/** @} */
+267
View File
@@ -0,0 +1,267 @@
1 ;--------------------------------------------------------
2 ; File Created by SDCC : free open source ANSI-C Compiler
3 ; Version 4.2.0 #13081 (Linux)
4 ;--------------------------------------------------------
5 .module hello_world
6 .optsdcc -mmcs51 --model-small
7
8 ;--------------------------------------------------------
9 ; Public variables in this module
10 ;--------------------------------------------------------
11 .globl _uip_listen
12 .globl _psock_readto
13 .globl _psock_init
14 .globl _strtox
15 .globl _write_char
16 .globl _hello_world_init
17 .globl _hello_world_appcall
18 ;--------------------------------------------------------
19 ; special function registers
20 ;--------------------------------------------------------
21 .area RSEG (ABS,DATA)
000000 22 .org 0x0000
23 ;--------------------------------------------------------
24 ; special function bits
25 ;--------------------------------------------------------
26 .area RSEG (ABS,DATA)
000000 27 .org 0x0000
28 ;--------------------------------------------------------
29 ; overlayable register banks
30 ;--------------------------------------------------------
31 .area REG_BANK_0 (REL,OVR,DATA)
000000 32 .ds 8
33 ;--------------------------------------------------------
34 ; internal ram data
35 ;--------------------------------------------------------
36 .area DSEG (DATA)
37 ;--------------------------------------------------------
38 ; overlayable items in internal ram
39 ;--------------------------------------------------------
40 ;--------------------------------------------------------
41 ; indirectly addressable internal ram data
42 ;--------------------------------------------------------
43 .area ISEG (DATA)
44 ;--------------------------------------------------------
45 ; absolute internal ram data
46 ;--------------------------------------------------------
47 .area IABS (ABS,DATA)
48 .area IABS (ABS,DATA)
49 ;--------------------------------------------------------
50 ; bit data
51 ;--------------------------------------------------------
52 .area BSEG (BIT)
53 ;--------------------------------------------------------
54 ; paged external ram data
55 ;--------------------------------------------------------
56 .area PSEG (PAG,XDATA)
57 ;--------------------------------------------------------
58 ; external ram data
59 ;--------------------------------------------------------
60 .area XSEG (XDATA)
000000 61 _handle_connection_buf_65536_59:
000000 62 .ds 100
63 ;--------------------------------------------------------
64 ; absolute external ram data
65 ;--------------------------------------------------------
66 .area XABS (ABS,XDATA)
67 ;--------------------------------------------------------
68 ; external initialized ram data
69 ;--------------------------------------------------------
70 .area XISEG (XDATA)
71 .area HOME (CODE)
72 .area GSINIT0 (CODE)
73 .area GSINIT1 (CODE)
74 .area GSINIT2 (CODE)
75 .area GSINIT3 (CODE)
76 .area GSINIT4 (CODE)
77 .area GSINIT5 (CODE)
78 .area GSINIT (CODE)
79 .area GSFINAL (CODE)
80 .area CSEG (CODE)
81 ;--------------------------------------------------------
82 ; global & static initialisations
83 ;--------------------------------------------------------
84 .area HOME (CODE)
85 .area GSINIT (CODE)
86 .area GSFINAL (CODE)
87 .area GSINIT (CODE)
88 ;--------------------------------------------------------
89 ; Home
90 ;--------------------------------------------------------
91 .area HOME (CODE)
92 .area HOME (CODE)
93 ;--------------------------------------------------------
94 ; code
95 ;--------------------------------------------------------
96 .area BANK1 (CODE)
97 ;------------------------------------------------------------
98 ;Allocation info for local variables in function 'hello_world_init'
99 ;------------------------------------------------------------
100 ; hello-world.c:43: hello_world_init(void)
101 ; -----------------------------------------
102 ; function hello_world_init
103 ; -----------------------------------------
000000 104 _hello_world_init:
000007 105 ar7 = 0x07
000006 106 ar6 = 0x06
000005 107 ar5 = 0x05
000004 108 ar4 = 0x04
000003 109 ar3 = 0x03
000002 110 ar2 = 0x02
000001 111 ar1 = 0x01
000000 112 ar0 = 0x00
113 ; hello-world.c:46: uip_listen(HTONS(1000));
000000 90 E8 03 [24] 114 mov dptr,#0xe803
115 ; hello-world.c:47: }
000003 02r00r00 [24] 116 ljmp _uip_listen
117 ;------------------------------------------------------------
118 ;Allocation info for local variables in function 'hello_world_appcall'
119 ;------------------------------------------------------------
120 ;s Allocated to registers r6 r7
121 ;------------------------------------------------------------
122 ; hello-world.c:57: hello_world_appcall(void)
123 ; -----------------------------------------
124 ; function hello_world_appcall
125 ; -----------------------------------------
000006 126 _hello_world_appcall:
127 ; hello-world.c:64: __xdata struct hello_world_state *s = &(uip_conn->appstate);
000006 74 1C [12] 128 mov a,#0x1c
000008 25*00 [12] 129 add a,_uip_conn
00000A FE [12] 130 mov r6,a
00000B E4 [12] 131 clr a
00000C 35*01 [12] 132 addc a,(_uip_conn + 1)
00000E FF [12] 133 mov r7,a
134 ; hello-world.c:70: if(uip_connected()) {
00000F 90r00r00 [24] 135 mov dptr,#_uip_flags
000012 E0 [24] 136 movx a,@dptr
000013 30 E6 1E [24] 137 jnb acc.6,00102$
138 ; hello-world.c:71: PSOCK_INIT(&s->p, s->inputbuffer, sizeof(s->inputbuffer));
000016 74 15 [12] 139 mov a,#0x15
000018 2E [12] 140 add a,r6
000019 F5*00 [12] 141 mov _psock_init_PARM_2,a
00001B E4 [12] 142 clr a
00001C 3F [12] 143 addc a,r7
00001D F5*01 [12] 144 mov (_psock_init_PARM_2 + 1),a
00001F 75*00 0A [24] 145 mov _psock_init_PARM_3,#0x0a
000022 75*01 00 [24] 146 mov (_psock_init_PARM_3 + 1),#0x00
000025 8E 82 [24] 147 mov dpl,r6
000027 8F 83 [24] 148 mov dph,r7
000029 C0 07 [24] 149 push ar7
00002B C0 06 [24] 150 push ar6
00002D 12r00r00 [24] 151 lcall _psock_init
000030 D0 06 [24] 152 pop ar6
000032 D0 07 [24] 153 pop ar7
000034 154 00102$:
155 ; hello-world.c:79: write_char('A');
000034 75 82 41 [24] 156 mov dpl,#0x41
000037 C0 07 [24] 157 push ar7
000039 C0 06 [24] 158 push ar6
00003B 12r00r00 [24] 159 lcall _write_char
00003E D0 06 [24] 160 pop ar6
000040 D0 07 [24] 161 pop ar7
162 ; hello-world.c:80: handle_connection(s);
000042 8E 82 [24] 163 mov dpl,r6
000044 8F 83 [24] 164 mov dph,r7
165 ; hello-world.c:81: }
000046 02r00r49 [24] 166 ljmp _handle_connection
167 ;------------------------------------------------------------
168 ;Allocation info for local variables in function 'handle_connection'
169 ;------------------------------------------------------------
170 ;s Allocated to registers r6 r7
171 ;PT_YIELD_FLAG Allocated to registers
172 ;buf Allocated with name '_handle_connection_buf_65536_59'
173 ;------------------------------------------------------------
174 ; hello-world.c:90: handle_connection(__xdata struct hello_world_state *s)
175 ; -----------------------------------------
176 ; function handle_connection
177 ; -----------------------------------------
000049 178 _handle_connection:
179 ; hello-world.c:94: PSOCK_BEGIN(&s->p);
000049 AE 82 [24] 180 mov r6,dpl
00004B AF 83 [24] 181 mov r7,dph
00004D E0 [24] 182 movx a,@dptr
00004E FC [12] 183 mov r4,a
00004F A3 [24] 184 inc dptr
000050 E0 [24] 185 movx a,@dptr
000051 FD [12] 186 mov r5,a
000052 BC 00 05 [24] 187 cjne r4,#0x00,00123$
000055 BD 00 02 [24] 188 cjne r5,#0x00,00123$
000058 80 08 [24] 189 sjmp 00101$
00005A 190 00123$:
00005A BC 63 56 [24] 191 cjne r4,#0x63,00108$
00005D BD 00 53 [24] 192 cjne r5,#0x00,00108$
000060 80 1E [24] 193 sjmp 00102$
000062 194 00101$:
195 ; hello-world.c:96: strtox(buf, "Hello. What is your name?\n");
000062 75*00r00 [24] 196 mov _strtox_PARM_2,#___str_0
000065 75*01s00 [24] 197 mov (_strtox_PARM_2 + 1),#(___str_0 >> 8)
000068 90r00r00 [24] 198 mov dptr,#_handle_connection_buf_65536_59
00006B C0 07 [24] 199 push ar7
00006D C0 06 [24] 200 push ar6
00006F 12r00r00 [24] 201 lcall _strtox
000072 D0 06 [24] 202 pop ar6
000074 D0 07 [24] 203 pop ar7
204 ; hello-world.c:99: PSOCK_READTO(&s->p, '\n');
000076 8E 82 [24] 205 mov dpl,r6
000078 8F 83 [24] 206 mov dph,r7
00007A 74 63 [12] 207 mov a,#0x63
00007C F0 [24] 208 movx @dptr,a
00007D E4 [12] 209 clr a
00007E A3 [24] 210 inc dptr
00007F F0 [24] 211 movx @dptr,a
000080 212 00102$:
000080 75*00 0A [24] 213 mov _psock_readto_PARM_2,#0x0a
000083 8E 82 [24] 214 mov dpl,r6
000085 8F 83 [24] 215 mov dph,r7
000087 C0 07 [24] 216 push ar7
000089 C0 06 [24] 217 push ar6
00008B 12r00r00 [24] 218 lcall _psock_readto
00008E E5 82 [12] 219 mov a,dpl
000090 D0 06 [24] 220 pop ar6
000092 D0 07 [24] 221 pop ar7
000094 70 03 [24] 222 jnz 00106$
000096 F5 82 [12] 223 mov dpl,a
000098 22 [24] 224 ret
000099 225 00106$:
226 ; hello-world.c:101: strtox(buf, "Name: ");
000099 75*00r1B [24] 227 mov _strtox_PARM_2,#___str_1
00009C 75*01s00 [24] 228 mov (_strtox_PARM_2 + 1),#(___str_1 >> 8)
00009F 90r00r00 [24] 229 mov dptr,#_handle_connection_buf_65536_59
0000A2 C0 07 [24] 230 push ar7
0000A4 C0 06 [24] 231 push ar6
0000A6 12r00r00 [24] 232 lcall _strtox
0000A9 D0 06 [24] 233 pop ar6
0000AB D0 07 [24] 234 pop ar7
235 ; hello-world.c:104: PSOCK_CLOSE(&s->p);
0000AD 90r00r00 [24] 236 mov dptr,#_uip_flags
0000B0 74 10 [12] 237 mov a,#0x10
0000B2 F0 [24] 238 movx @dptr,a
239 ; hello-world.c:106: PSOCK_END(&s->p);
0000B3 240 00108$:
0000B3 8E 82 [24] 241 mov dpl,r6
0000B5 8F 83 [24] 242 mov dph,r7
0000B7 E4 [12] 243 clr a
0000B8 F0 [24] 244 movx @dptr,a
0000B9 A3 [24] 245 inc dptr
0000BA F0 [24] 246 movx @dptr,a
0000BB 75 82 02 [24] 247 mov dpl,#0x02
248 ; hello-world.c:107: }
0000BE 22 [24] 249 ret
250 .area BANK1 (CODE)
251 .area CONST (CODE)
252 .area CONST (CODE)
000000 253 ___str_0:
000000 48 65 6C 6C 6F 2E 20 254 .ascii "Hello. What is your name?"
57 68 61 74 20 69 73
20 79 6F 75 72 20 6E
61 6D 65 3F
000019 0A 255 .db 0x0a
00001A 00 256 .db 0x00
257 .area BANK1 (CODE)
258 .area CONST (CODE)
00001B 259 ___str_1:
00001B 4E 61 6D 65 3A 20 260 .ascii "Name: "
000021 00 261 .db 0x00
262 .area BANK1 (CODE)
263 .area XINIT (CODE)
264 .area CABS (ABS,CODE)
+131
View File
@@ -0,0 +1,131 @@
XH3
H 1B areas E global symbols
M hello_world
O -mmcs51 --model-small
S _write_char Ref000000
S _psock_init Ref000000
S _strtox Ref000000
S _uip_flags Ref000000
S _uip_listen Ref000000
S _psock_readto Ref000000
S .__.ABS. Def000000
S _psock_init_PARM_2 Ref000000
S _strtox_PARM_2 Ref000000
S _psock_init_PARM_3 Ref000000
S _uip_conn Ref000000
S _psock_readto_PARM_2 Ref000000
A _CODE size 0 flags 0 addr 0
A RSEG size 0 flags 8 addr 0
A RSEG0 size 0 flags 8 addr 0
A RSEG1 size 0 flags 8 addr 0
A REG_BANK_0 size 8 flags 4 addr 0
A DSEG size 0 flags 0 addr 0
A ISEG size 0 flags 0 addr 0
A IABS size 0 flags 8 addr 0
A BSEG size 0 flags 80 addr 0
A PSEG size 0 flags 50 addr 0
A XSEG size 64 flags 40 addr 0
A XABS size 0 flags 48 addr 0
A XISEG size 0 flags 40 addr 0
A HOME size 0 flags 20 addr 0
A GSINIT0 size 0 flags 20 addr 0
A GSINIT1 size 0 flags 20 addr 0
A GSINIT2 size 0 flags 20 addr 0
A GSINIT3 size 0 flags 20 addr 0
A GSINIT4 size 0 flags 20 addr 0
A GSINIT5 size 0 flags 20 addr 0
A GSINIT size 0 flags 20 addr 0
A GSFINAL size 0 flags 20 addr 0
A CSEG size 0 flags 20 addr 0
A BANK1 size BF flags 20 addr 0
S _hello_world_init Def000000
S _hello_world_appcall Def000006
A CONST size 22 flags 20 addr 0
A XINIT size 0 flags 20 addr 0
A CABS size 0 flags 28 addr 0
T 00 00 00
R 00 00 00 02
T 00 00 00
R 00 00 00 03
T 00 00 00
R 00 00 00 04
T 00 00 00
R 00 00 00 0A
T 00 00 00
R 00 00 00 0A
T 00 00 00
R 00 00 00 17
T 00 00 00 90 E8 03 02 00 00
R 00 00 00 17 02 07 00 04
T 00 00 06
R 00 00 00 17
T 00 00 06 74 1C 25 00 00 00 FE E4 35 00 00 01 FF
R 00 00 00 17 F1 23 06 00 0A F1 23 0C 00 0A
T 00 00 0F 90 00 00 E0 30 E6 1E 74 15 2E F5
R 00 00 00 17 02 04 00 03
T 00 00 1A 00 00 00 E4 3F F5 00 00 01 75
R 00 00 00 17 F1 23 03 00 07 F1 23 09 00 07
T 00 00 20 00 00 00 0A 75 00 00 01 00 8E 82 8F 83
R 00 00 00 17 F1 23 03 00 09 F1 23 08 00 09
T 00 00 29 C0 07 C0 06 12 00 00 D0 06 D0 07
R 00 00 00 17 02 08 00 01
T 00 00 34
R 00 00 00 17
T 00 00 34 75 82 41 C0 07 C0 06 12 00 00 D0 06 D0
R 00 00 00 17 02 0B 00 00
T 00 00 41 07 8E 82 8F 83 02 00 49
R 00 00 00 17 00 09 00 17
T 00 00 49
R 00 00 00 17
T 00 00 49 AE 82 AF 83 E0 FC A3 E0 FD BC 00 05 BD
R 00 00 00 17
T 00 00 56 00 02 80 08
R 00 00 00 17
T 00 00 5A
R 00 00 00 17
T 00 00 5A BC 63 56 BD 00 53 80 1E
R 00 00 00 17
T 00 00 62
R 00 00 00 17
T 00 00 62 75 00 00 00 00 00 00 75
R 00 00 00 17 F1 23 04 00 08 F1 01 07 00 18
T 00 00 66 00 00 01 00 00 00 90
R 00 00 00 17 F1 23 03 00 08 F1 81 06 00 18
T 00 00 69 00 00 C0 07 C0 06 12 00 00 D0 06 D0 07
R 00 00 00 17 00 03 00 0A 02 0A 00 02
T 00 00 76 8E 82 8F 83 74 63 F0 E4 A3 F0
R 00 00 00 17
T 00 00 80
R 00 00 00 17
T 00 00 80 75 00 00 00 0A 8E 82 8F 83 C0 07 C0 06
R 00 00 00 17 F1 23 04 00 0B
T 00 00 8B 12 00 00 E5 82 D0 06 D0 07 70 03 F5 82
R 00 00 00 17 02 04 00 05
T 00 00 98 22
R 00 00 00 17
T 00 00 99
R 00 00 00 17
T 00 00 99 75 00 00 00 00 00 1B 75
R 00 00 00 17 F1 23 04 00 08 F1 01 07 00 18
T 00 00 9D 00 00 01 00 00 1B 90
R 00 00 00 17 F1 23 03 00 08 F1 81 06 00 18
T 00 00 A0 00 00 C0 07 C0 06 12 00 00 D0 06 D0 07
R 00 00 00 17 00 03 00 0A 02 0A 00 02
T 00 00 AD 90 00 00 74 10 F0
R 00 00 00 17 02 04 00 03
T 00 00 B3
R 00 00 00 17
T 00 00 B3 8E 82 8F 83 E4 F0 A3 F0 75 82 02 22
R 00 00 00 17
T 00 00 00
R 00 00 00 18
T 00 00 00 48 65 6C 6C 6F 2E 20 57 68 61 74 20 69
R 00 00 00 18
T 00 00 0D 73 20 79 6F 75 72 20 6E 61 6D 65 3F 0A
R 00 00 00 18
T 00 00 1A 00
R 00 00 00 18
T 00 00 1B
R 00 00 00 18
T 00 00 1B 4E 61 6D 65 3A 20 00
R 00 00 00 18
+267
View File
@@ -0,0 +1,267 @@
1 ;--------------------------------------------------------
2 ; File Created by SDCC : free open source ANSI-C Compiler
3 ; Version 4.2.0 #13081 (Linux)
4 ;--------------------------------------------------------
5 .module hello_world
6 .optsdcc -mmcs51 --model-small
7
8 ;--------------------------------------------------------
9 ; Public variables in this module
10 ;--------------------------------------------------------
11 .globl _uip_listen
12 .globl _psock_readto
13 .globl _psock_init
14 .globl _strtox
15 .globl _write_char
16 .globl _hello_world_init
17 .globl _hello_world_appcall
18 ;--------------------------------------------------------
19 ; special function registers
20 ;--------------------------------------------------------
21 .area RSEG (ABS,DATA)
000000 22 .org 0x0000
23 ;--------------------------------------------------------
24 ; special function bits
25 ;--------------------------------------------------------
26 .area RSEG (ABS,DATA)
000000 27 .org 0x0000
28 ;--------------------------------------------------------
29 ; overlayable register banks
30 ;--------------------------------------------------------
31 .area REG_BANK_0 (REL,OVR,DATA)
000000 32 .ds 8
33 ;--------------------------------------------------------
34 ; internal ram data
35 ;--------------------------------------------------------
36 .area DSEG (DATA)
37 ;--------------------------------------------------------
38 ; overlayable items in internal ram
39 ;--------------------------------------------------------
40 ;--------------------------------------------------------
41 ; indirectly addressable internal ram data
42 ;--------------------------------------------------------
43 .area ISEG (DATA)
44 ;--------------------------------------------------------
45 ; absolute internal ram data
46 ;--------------------------------------------------------
47 .area IABS (ABS,DATA)
48 .area IABS (ABS,DATA)
49 ;--------------------------------------------------------
50 ; bit data
51 ;--------------------------------------------------------
52 .area BSEG (BIT)
53 ;--------------------------------------------------------
54 ; paged external ram data
55 ;--------------------------------------------------------
56 .area PSEG (PAG,XDATA)
57 ;--------------------------------------------------------
58 ; external ram data
59 ;--------------------------------------------------------
60 .area XSEG (XDATA)
001B2D 61 _handle_connection_buf_65536_59:
001B2D 62 .ds 100
63 ;--------------------------------------------------------
64 ; absolute external ram data
65 ;--------------------------------------------------------
66 .area XABS (ABS,XDATA)
67 ;--------------------------------------------------------
68 ; external initialized ram data
69 ;--------------------------------------------------------
70 .area XISEG (XDATA)
71 .area HOME (CODE)
72 .area GSINIT0 (CODE)
73 .area GSINIT1 (CODE)
74 .area GSINIT2 (CODE)
75 .area GSINIT3 (CODE)
76 .area GSINIT4 (CODE)
77 .area GSINIT5 (CODE)
78 .area GSINIT (CODE)
79 .area GSFINAL (CODE)
80 .area CSEG (CODE)
81 ;--------------------------------------------------------
82 ; global & static initialisations
83 ;--------------------------------------------------------
84 .area HOME (CODE)
85 .area GSINIT (CODE)
86 .area GSFINAL (CODE)
87 .area GSINIT (CODE)
88 ;--------------------------------------------------------
89 ; Home
90 ;--------------------------------------------------------
91 .area HOME (CODE)
92 .area HOME (CODE)
93 ;--------------------------------------------------------
94 ; code
95 ;--------------------------------------------------------
96 .area BANK1 (CODE)
97 ;------------------------------------------------------------
98 ;Allocation info for local variables in function 'hello_world_init'
99 ;------------------------------------------------------------
100 ; hello-world.c:43: hello_world_init(void)
101 ; -----------------------------------------
102 ; function hello_world_init
103 ; -----------------------------------------
01A00D 104 _hello_world_init:
000007 105 ar7 = 0x07
000006 106 ar6 = 0x06
000005 107 ar5 = 0x05
000004 108 ar4 = 0x04
000003 109 ar3 = 0x03
000002 110 ar2 = 0x02
000001 111 ar1 = 0x01
000000 112 ar0 = 0x00
113 ; hello-world.c:46: uip_listen(HTONS(1000));
01A00D 90 E8 03 [24] 114 mov dptr,#0xe803
115 ; hello-world.c:47: }
01A010 02 7F C7 [24] 116 ljmp _uip_listen
117 ;------------------------------------------------------------
118 ;Allocation info for local variables in function 'hello_world_appcall'
119 ;------------------------------------------------------------
120 ;s Allocated to registers r6 r7
121 ;------------------------------------------------------------
122 ; hello-world.c:57: hello_world_appcall(void)
123 ; -----------------------------------------
124 ; function hello_world_appcall
125 ; -----------------------------------------
01A013 126 _hello_world_appcall:
127 ; hello-world.c:64: __xdata struct hello_world_state *s = &(uip_conn->appstate);
01A013 74 1C [12] 128 mov a,#0x1c
01A015 25 50 [12] 129 add a,_uip_conn
01A017 FE [12] 130 mov r6,a
01A018 E4 [12] 131 clr a
01A019 35 51 [12] 132 addc a,(_uip_conn + 1)
01A01B FF [12] 133 mov r7,a
134 ; hello-world.c:70: if(uip_connected()) {
01A01C 90 0A C8 [24] 135 mov dptr,#_uip_flags
01A01F E0 [24] 136 movx a,@dptr
01A020 30 E6 1E [24] 137 jnb acc.6,00102$
138 ; hello-world.c:71: PSOCK_INIT(&s->p, s->inputbuffer, sizeof(s->inputbuffer));
01A023 74 15 [12] 139 mov a,#0x15
01A025 2E [12] 140 add a,r6
01A026 F5 66 [12] 141 mov _psock_init_PARM_2,a
01A028 E4 [12] 142 clr a
01A029 3F [12] 143 addc a,r7
01A02A F5 67 [12] 144 mov (_psock_init_PARM_2 + 1),a
01A02C 75 68 0A [24] 145 mov _psock_init_PARM_3,#0x0a
01A02F 75 69 00 [24] 146 mov (_psock_init_PARM_3 + 1),#0x00
01A032 8E 82 [24] 147 mov dpl,r6
01A034 8F 83 [24] 148 mov dph,r7
01A036 C0 07 [24] 149 push ar7
01A038 C0 06 [24] 150 push ar6
01A03A 12 70 C4 [24] 151 lcall _psock_init
01A03D D0 06 [24] 152 pop ar6
01A03F D0 07 [24] 153 pop ar7
01A041 154 00102$:
155 ; hello-world.c:79: write_char('A');
01A041 75 82 41 [24] 156 mov dpl,#0x41
01A044 C0 07 [24] 157 push ar7
01A046 C0 06 [24] 158 push ar6
01A048 12 01 D8 [24] 159 lcall _write_char
01A04B D0 06 [24] 160 pop ar6
01A04D D0 07 [24] 161 pop ar7
162 ; hello-world.c:80: handle_connection(s);
01A04F 8E 82 [24] 163 mov dpl,r6
01A051 8F 83 [24] 164 mov dph,r7
165 ; hello-world.c:81: }
01A053 02 A0 56 [24] 166 ljmp _handle_connection
167 ;------------------------------------------------------------
168 ;Allocation info for local variables in function 'handle_connection'
169 ;------------------------------------------------------------
170 ;s Allocated to registers r6 r7
171 ;PT_YIELD_FLAG Allocated to registers
172 ;buf Allocated with name '_handle_connection_buf_65536_59'
173 ;------------------------------------------------------------
174 ; hello-world.c:90: handle_connection(__xdata struct hello_world_state *s)
175 ; -----------------------------------------
176 ; function handle_connection
177 ; -----------------------------------------
01A056 178 _handle_connection:
179 ; hello-world.c:94: PSOCK_BEGIN(&s->p);
01A056 AE 82 [24] 180 mov r6,dpl
01A058 AF 83 [24] 181 mov r7,dph
01A05A E0 [24] 182 movx a,@dptr
01A05B FC [12] 183 mov r4,a
01A05C A3 [24] 184 inc dptr
01A05D E0 [24] 185 movx a,@dptr
01A05E FD [12] 186 mov r5,a
01A05F BC 00 05 [24] 187 cjne r4,#0x00,00123$
01A062 BD 00 02 [24] 188 cjne r5,#0x00,00123$
01A065 80 08 [24] 189 sjmp 00101$
01A067 190 00123$:
01A067 BC 63 56 [24] 191 cjne r4,#0x63,00108$
01A06A BD 00 53 [24] 192 cjne r5,#0x00,00108$
01A06D 80 1E [24] 193 sjmp 00102$
01A06F 194 00101$:
195 ; hello-world.c:96: strtox(buf, "Hello. What is your name?\n");
01A06F 75 66 9E [24] 196 mov _strtox_PARM_2,#___str_0
01A072 75 67 2C [24] 197 mov (_strtox_PARM_2 + 1),#(___str_0 >> 8)
01A075 90 1B 2D [24] 198 mov dptr,#_handle_connection_buf_65536_59
01A078 C0 07 [24] 199 push ar7
01A07A C0 06 [24] 200 push ar6
01A07C 12 02 A6 [24] 201 lcall _strtox
01A07F D0 06 [24] 202 pop ar6
01A081 D0 07 [24] 203 pop ar7
204 ; hello-world.c:99: PSOCK_READTO(&s->p, '\n');
01A083 8E 82 [24] 205 mov dpl,r6
01A085 8F 83 [24] 206 mov dph,r7
01A087 74 63 [12] 207 mov a,#0x63
01A089 F0 [24] 208 movx @dptr,a
01A08A E4 [12] 209 clr a
01A08B A3 [24] 210 inc dptr
01A08C F0 [24] 211 movx @dptr,a
01A08D 212 00102$:
01A08D 75 26 0A [24] 213 mov _psock_readto_PARM_2,#0x0a
01A090 8E 82 [24] 214 mov dpl,r6
01A092 8F 83 [24] 215 mov dph,r7
01A094 C0 07 [24] 216 push ar7
01A096 C0 06 [24] 217 push ar6
01A098 12 6A 24 [24] 218 lcall _psock_readto
01A09B E5 82 [12] 219 mov a,dpl
01A09D D0 06 [24] 220 pop ar6
01A09F D0 07 [24] 221 pop ar7
01A0A1 70 03 [24] 222 jnz 00106$
01A0A3 F5 82 [12] 223 mov dpl,a
01A0A5 22 [24] 224 ret
01A0A6 225 00106$:
226 ; hello-world.c:101: strtox(buf, "Name: ");
01A0A6 75 66 B9 [24] 227 mov _strtox_PARM_2,#___str_1
01A0A9 75 67 2C [24] 228 mov (_strtox_PARM_2 + 1),#(___str_1 >> 8)
01A0AC 90 1B 2D [24] 229 mov dptr,#_handle_connection_buf_65536_59
01A0AF C0 07 [24] 230 push ar7
01A0B1 C0 06 [24] 231 push ar6
01A0B3 12 02 A6 [24] 232 lcall _strtox
01A0B6 D0 06 [24] 233 pop ar6
01A0B8 D0 07 [24] 234 pop ar7
235 ; hello-world.c:104: PSOCK_CLOSE(&s->p);
01A0BA 90 0A C8 [24] 236 mov dptr,#_uip_flags
01A0BD 74 10 [12] 237 mov a,#0x10
01A0BF F0 [24] 238 movx @dptr,a
239 ; hello-world.c:106: PSOCK_END(&s->p);
01A0C0 240 00108$:
01A0C0 8E 82 [24] 241 mov dpl,r6
01A0C2 8F 83 [24] 242 mov dph,r7
01A0C4 E4 [12] 243 clr a
01A0C5 F0 [24] 244 movx @dptr,a
01A0C6 A3 [24] 245 inc dptr
01A0C7 F0 [24] 246 movx @dptr,a
01A0C8 75 82 02 [24] 247 mov dpl,#0x02
248 ; hello-world.c:107: }
01A0CB 22 [24] 249 ret
250 .area BANK1 (CODE)
251 .area CONST (CODE)
252 .area CONST (CODE)
002C9E 253 ___str_0:
002C9E 48 65 6C 6C 6F 2E 20 254 .ascii "Hello. What is your name?"
57 68 61 74 20 69 73
20 79 6F 75 72 20 6E
61 6D 65 3F
002CB7 0A 255 .db 0x0a
002CB8 00 256 .db 0x00
257 .area BANK1 (CODE)
258 .area CONST (CODE)
002CB9 259 ___str_1:
002CB9 4E 61 6D 65 3A 20 260 .ascii "Name: "
002CBF 00 261 .db 0x00
262 .area BANK1 (CODE)
263 .area XINIT (CODE)
264 .area CABS (ABS,CODE)
+450
View File
@@ -0,0 +1,450 @@
ASxxxx Assembler V02.00 + NoICE + SDCC mods (Intel 8051), page 1.
Hexadecimal [24-Bits]
Symbol Table
.__.$$$. = 002710 L
.__.ABS. = 000000 G
.__.CPU. = 000000 L
.__.H$L. = 000001 L
A = 0000E0 L
A.0 = 0000E0 L
A.1 = 0000E1 L
A.2 = 0000E2 L
A.3 = 0000E3 L
A.4 = 0000E4 L
A.5 = 0000E5 L
A.6 = 0000E6 L
A.7 = 0000E7 L
AC = 0000D6 L
ACC = 0000E0 L
ACC.0 = 0000E0 L
ACC.1 = 0000E1 L
ACC.2 = 0000E2 L
ACC.3 = 0000E3 L
ACC.4 = 0000E4 L
ACC.5 = 0000E5 L
ACC.6 = 0000E6 L
ACC.7 = 0000E7 L
B = 0000F0 L
B.0 = 0000F0 L
B.1 = 0000F1 L
B.2 = 0000F2 L
B.3 = 0000F3 L
B.4 = 0000F4 L
B.5 = 0000F5 L
B.6 = 0000F6 L
B.7 = 0000F7 L
CPRL2 = 0000C8 L
CT2 = 0000C9 L
CY = 0000D7 L
DPH = 000083 L
DPL = 000082 L
EA = 0000AF L
ES = 0000AC L
ET0 = 0000A9 L
ET1 = 0000AB L
ET2 = 0000AD L
EX0 = 0000A8 L
EX1 = 0000AA L
EXEN2 = 0000CB L
EXF2 = 0000CE L
F0 = 0000D5 L
IE = 0000A8 L
IE.0 = 0000A8 L
IE.1 = 0000A9 L
IE.2 = 0000AA L
IE.3 = 0000AB L
IE.4 = 0000AC L
IE.5 = 0000AD L
IE.7 = 0000AF L
ASxxxx Assembler V02.00 + NoICE + SDCC mods (Intel 8051), page 2.
Hexadecimal [24-Bits]
Symbol Table
IE0 = 000089 L
IE1 = 00008B L
INT0 = 0000B2 L
INT1 = 0000B3 L
IP = 0000B8 L
IP.0 = 0000B8 L
IP.1 = 0000B9 L
IP.2 = 0000BA L
IP.3 = 0000BB L
IP.4 = 0000BC L
IP.5 = 0000BD L
IT0 = 000088 L
IT1 = 00008A L
OV = 0000D2 L
P = 0000D0 L
P0 = 000080 L
P0.0 = 000080 L
P0.1 = 000081 L
P0.2 = 000082 L
P0.3 = 000083 L
P0.4 = 000084 L
P0.5 = 000085 L
P0.6 = 000086 L
P0.7 = 000087 L
P1 = 000090 L
P1.0 = 000090 L
P1.1 = 000091 L
P1.2 = 000092 L
P1.3 = 000093 L
P1.4 = 000094 L
P1.5 = 000095 L
P1.6 = 000096 L
P1.7 = 000097 L
P2 = 0000A0 L
P2.0 = 0000A0 L
P2.1 = 0000A1 L
P2.2 = 0000A2 L
P2.3 = 0000A3 L
P2.4 = 0000A4 L
P2.5 = 0000A5 L
P2.6 = 0000A6 L
P2.7 = 0000A7 L
P3 = 0000B0 L
P3.0 = 0000B0 L
P3.1 = 0000B1 L
P3.2 = 0000B2 L
P3.3 = 0000B3 L
P3.4 = 0000B4 L
P3.5 = 0000B5 L
P3.6 = 0000B6 L
P3.7 = 0000B7 L
PCON = 000087 L
PS = 0000BC L
PSW = 0000D0 L
PSW.0 = 0000D0 L
ASxxxx Assembler V02.00 + NoICE + SDCC mods (Intel 8051), page 3.
Hexadecimal [24-Bits]
Symbol Table
PSW.1 = 0000D1 L
PSW.2 = 0000D2 L
PSW.3 = 0000D3 L
PSW.4 = 0000D4 L
PSW.5 = 0000D5 L
PSW.6 = 0000D6 L
PSW.7 = 0000D7 L
PT0 = 0000B9 L
PT1 = 0000BB L
PT2 = 0000BD L
PX0 = 0000B8 L
PX1 = 0000BA L
RB8 = 00009A L
RCAP2H = 0000CB L
RCAP2L = 0000CA L
RCLK = 0000CD L
REN = 00009C L
RI = 000098 L
RS0 = 0000D3 L
RS1 = 0000D4 L
RXD = 0000B0 L
SBUF = 000099 L
SCON = 000098 L
SCON.0 = 000098 L
SCON.1 = 000099 L
SCON.2 = 00009A L
SCON.3 = 00009B L
SCON.4 = 00009C L
SCON.5 = 00009D L
SCON.6 = 00009E L
SCON.7 = 00009F L
SM0 = 00009F L
SM1 = 00009E L
SM2 = 00009D L
SP = 000081 L
T2CON = 0000C8 L
T2CON.0 = 0000C8 L
T2CON.1 = 0000C9 L
T2CON.2 = 0000CA L
T2CON.3 = 0000CB L
T2CON.4 = 0000CC L
T2CON.5 = 0000CD L
T2CON.6 = 0000CE L
T2CON.7 = 0000CF L
TB8 = 00009B L
TCLK = 0000CC L
TCON = 000088 L
TCON.0 = 000088 L
TCON.1 = 000089 L
TCON.2 = 00008A L
TCON.3 = 00008B L
TCON.4 = 00008C L
TCON.5 = 00008D L
TCON.6 = 00008E L
TCON.7 = 00008F L
ASxxxx Assembler V02.00 + NoICE + SDCC mods (Intel 8051), page 4.
Hexadecimal [24-Bits]
Symbol Table
TF0 = 00008D L
TF1 = 00008F L
TF2 = 0000CF L
TH0 = 00008C L
TH1 = 00008D L
TH2 = 0000CD L
TI = 000099 L
TL0 = 00008A L
TL1 = 00008B L
TL2 = 0000CC L
TMOD = 000089 L
TR0 = 00008C L
TR1 = 00008E L
TR2 = 0000CA L
TXD = 0000B1 L
18 ___str_0 000000 R
18 ___str_1 00001B R
17 _handle_connection 000049 R
A _handle_connection_buf_65536_59 000000 R
17 _hello_world_appcall 000006 GR
17 _hello_world_init 000000 GR
_psock_init ****** GX
_psock_init_PARM_2 ****** GX
_psock_init_PARM_3 ****** GX
_psock_readto ****** GX
_psock_readto_PARM_2 ****** GX
_strtox ****** GX
_strtox_PARM_2 ****** GX
_uip_conn ****** GX
_uip_flags ****** GX
_uip_listen ****** GX
_write_char ****** GX
a = 0000E0 L
a.0 = 0000E0 L
a.1 = 0000E1 L
a.2 = 0000E2 L
a.3 = 0000E3 L
a.4 = 0000E4 L
a.5 = 0000E5 L
a.6 = 0000E6 L
a.7 = 0000E7 L
ac = 0000D6 L
acc = 0000E0 L
acc.0 = 0000E0 L
acc.1 = 0000E1 L
acc.2 = 0000E2 L
acc.3 = 0000E3 L
acc.4 = 0000E4 L
acc.5 = 0000E5 L
acc.6 = 0000E6 L
acc.7 = 0000E7 L
ar0 = 000000
ar1 = 000001
ar2 = 000002
ar3 = 000003
ASxxxx Assembler V02.00 + NoICE + SDCC mods (Intel 8051), page 5.
Hexadecimal [24-Bits]
Symbol Table
ar4 = 000004
ar5 = 000005
ar6 = 000006
ar7 = 000007
b = 0000F0 L
b.0 = 0000F0 L
b.1 = 0000F1 L
b.2 = 0000F2 L
b.3 = 0000F3 L
b.4 = 0000F4 L
b.5 = 0000F5 L
b.6 = 0000F6 L
b.7 = 0000F7 L
cprl2 = 0000C8 L
ct2 = 0000C9 L
cy = 0000D7 L
dph = 000083 L
dpl = 000082 L
ea = 0000AF L
es = 0000AC L
et0 = 0000A9 L
et1 = 0000AB L
et2 = 0000AD L
ex0 = 0000A8 L
ex1 = 0000AA L
exen2 = 0000CB L
exf2 = 0000CE L
f0 = 0000D5 L
ie = 0000A8 L
ie.0 = 0000A8 L
ie.1 = 0000A9 L
ie.2 = 0000AA L
ie.3 = 0000AB L
ie.4 = 0000AC L
ie.5 = 0000AD L
ie.7 = 0000AF L
ie0 = 000089 L
ie1 = 00008B L
int0 = 0000B2 L
int1 = 0000B3 L
ip = 0000B8 L
ip.0 = 0000B8 L
ip.1 = 0000B9 L
ip.2 = 0000BA L
ip.3 = 0000BB L
ip.4 = 0000BC L
ip.5 = 0000BD L
it0 = 000088 L
it1 = 00008A L
ov = 0000D2 L
p = 0000D0 L
p0 = 000080 L
p0.0 = 000080 L
p0.1 = 000081 L
p0.2 = 000082 L
ASxxxx Assembler V02.00 + NoICE + SDCC mods (Intel 8051), page 6.
Hexadecimal [24-Bits]
Symbol Table
p0.3 = 000083 L
p0.4 = 000084 L
p0.5 = 000085 L
p0.6 = 000086 L
p0.7 = 000087 L
p1 = 000090 L
p1.0 = 000090 L
p1.1 = 000091 L
p1.2 = 000092 L
p1.3 = 000093 L
p1.4 = 000094 L
p1.5 = 000095 L
p1.6 = 000096 L
p1.7 = 000097 L
p2 = 0000A0 L
p2.0 = 0000A0 L
p2.1 = 0000A1 L
p2.2 = 0000A2 L
p2.3 = 0000A3 L
p2.4 = 0000A4 L
p2.5 = 0000A5 L
p2.6 = 0000A6 L
p2.7 = 0000A7 L
p3 = 0000B0 L
p3.0 = 0000B0 L
p3.1 = 0000B1 L
p3.2 = 0000B2 L
p3.3 = 0000B3 L
p3.4 = 0000B4 L
p3.5 = 0000B5 L
p3.6 = 0000B6 L
p3.7 = 0000B7 L
pcon = 000087 L
ps = 0000BC L
psw = 0000D0 L
psw.0 = 0000D0 L
psw.1 = 0000D1 L
psw.2 = 0000D2 L
psw.3 = 0000D3 L
psw.4 = 0000D4 L
psw.5 = 0000D5 L
psw.6 = 0000D6 L
psw.7 = 0000D7 L
pt0 = 0000B9 L
pt1 = 0000BB L
pt2 = 0000BD L
px0 = 0000B8 L
px1 = 0000BA L
rb8 = 00009A L
rcap2h = 0000CB L
rcap2l = 0000CA L
rclk = 0000CD L
ren = 00009C L
ri = 000098 L
rs0 = 0000D3 L
ASxxxx Assembler V02.00 + NoICE + SDCC mods (Intel 8051), page 7.
Hexadecimal [24-Bits]
Symbol Table
rs1 = 0000D4 L
rxd = 0000B0 L
sbuf = 000099 L
scon = 000098 L
scon.0 = 000098 L
scon.1 = 000099 L
scon.2 = 00009A L
scon.3 = 00009B L
scon.4 = 00009C L
scon.5 = 00009D L
scon.6 = 00009E L
scon.7 = 00009F L
sm0 = 00009F L
sm1 = 00009E L
sm2 = 00009D L
sp = 000081 L
t2con = 0000C8 L
t2con.0 = 0000C8 L
t2con.1 = 0000C9 L
t2con.2 = 0000CA L
t2con.3 = 0000CB L
t2con.4 = 0000CC L
t2con.5 = 0000CD L
t2con.6 = 0000CE L
t2con.7 = 0000CF L
tb8 = 00009B L
tclk = 0000CC L
tcon = 000088 L
tcon.0 = 000088 L
tcon.1 = 000089 L
tcon.2 = 00008A L
tcon.3 = 00008B L
tcon.4 = 00008C L
tcon.5 = 00008D L
tcon.6 = 00008E L
tcon.7 = 00008F L
tf0 = 00008D L
tf1 = 00008F L
tf2 = 0000CF L
th0 = 00008C L
th1 = 00008D L
th2 = 0000CD L
ti = 000099 L
tl0 = 00008A L
tl1 = 00008B L
tl2 = 0000CC L
tmod = 000089 L
tr0 = 00008C L
tr1 = 00008E L
tr2 = 0000CA L
txd = 0000B1 L
ASxxxx Assembler V02.00 + NoICE + SDCC mods (Intel 8051), page 8.
Hexadecimal [24-Bits]
Area Table
0 _CODE size 0 flags 0
1 RSEG size 0 flags 8
2 RSEG0 size 0 flags 8
3 RSEG1 size 0 flags 8
4 REG_BANK_0 size 8 flags 4
5 DSEG size 0 flags 0
6 ISEG size 0 flags 0
7 IABS size 0 flags 8
8 BSEG size 0 flags 80
9 PSEG size 0 flags 50
A XSEG size 64 flags 40
B XABS size 0 flags 48
C XISEG size 0 flags 40
D HOME size 0 flags 20
E GSINIT0 size 0 flags 20
F GSINIT1 size 0 flags 20
10 GSINIT2 size 0 flags 20
11 GSINIT3 size 0 flags 20
12 GSINIT4 size 0 flags 20
13 GSINIT5 size 0 flags 20
14 GSINIT size 0 flags 20
15 GSFINAL size 0 flags 20
16 CSEG size 0 flags 20
17 BANK1 size BF flags 20
18 CONST size 22 flags 20
19 XINIT size 0 flags 20
1A CABS size 0 flags 28