mirror of
https://github.com/logicog/RTLPlayground.git
synced 2026-08-30 14:52:51 +08:00
Empty application for testing
This commit is contained in:
@@ -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
|
||||||
|
|
||||||
@@ -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)
|
||||||
@@ -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);
|
||||||
|
}
|
||||||
|
/*---------------------------------------------------------------------------*/
|
||||||
@@ -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__ */
|
||||||
|
/** @} */
|
||||||
|
/** @} */
|
||||||
@@ -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)
|
||||||
@@ -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
|
||||||
@@ -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)
|
||||||
@@ -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
|
||||||
|
|
||||||
Reference in New Issue
Block a user