Subversion Repositories zxusbnet

Rev

Rev 151 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
151 dimkam 1
##############################################################################
2
#                                                                            #
3
# IAR Z80/64180 C-Compiler V4.06A/W32                                        #
4
#                                                                            #
5
#       Compile time  =  09/Feb/2016  10:47:27                               #
6
#       Target option =  Z80                                                 #
7
#       Memory model  =  large                                               #
8
#       Source file   =  mylib.c                                             #
9
#       List file     =  list\mylib.lst                                      #
10
#       Object file   =  mylib.r01                                           #
11
#       ASM file      =  list\mylib.s01                                      #
12
#       Command line  =  -v0 -ml -uua -b -q -x -K -gA -z9 -t4 -T -Llist\     #
13
#                        -Alist\ -I../z80/inc/ mylib.c                       #
14
#                                                                            #
15
#                           Copyright 2001 IAR Systems. All rights reserved. #
16
##############################################################################
17
 
18
   \   0000                    MODULE  mylib(16)
19
   \   0000                    RSEG    CODE(0)
20
   \   0000                    RSEG    UDATA0(0)
21
   \   0000                    RSEG    IDATA0(0)
22
   \   0000                    RSEG    CDATA0(0)
23
   \   0000                    PUBLIC  mylib_font8x8
24
   \   0000                    PUBLIC  putchar
25
   \   0000                    PUBLIC  scr_init
26
   \   0000                    EXTERN  ?CLZ80L_4_06_L00
27
   \   0000                    EXTERN  ?ENT_PARM_DIRECT_L09
28
   \   0000                    EXTERN  ?ENT_AUTO_DIRECT_L09
29
   \   0000                    EXTERN  ?LEAVE_DIRECT_L09
30
   \   0000                    RSEG    CODE
31
      1          #include <string.h>
32
      2          #include <intrz80.h>
33
      3          #include <stdio.h>
34
      4          char * mylib_font8x8=(void*)0x3c00;
35
      5          static union {char * w;char b[2];}scrxy;
36
   \   0000            scr_init:
37
   \   0000  CD0000            CALL    ?ENT_PARM_DIRECT_L09
38
      6          void scr_init(char a){
39
   \   0003  7B                LD      A,E
40
   \   0004  320058            LD      (22528),A
41
      7              *((char *)0x5800)=a;
42
   \   0007  CB3B              SRL     E
43
   \   0009  CB3B              SRL     E
44
   \   000B  CB3B              SRL     E
45
   \   000D  7B                LD      A,E
46
   \   000E  D3FE              OUT     (254),A
47
      8              output8(0xfe,a>>3);
48
   \   0010  01FF02            LD      BC,767
49
   \   0013  110158            LD      DE,22529
50
   \   0016  210058            LD      HL,22528
51
   \   0019  EDB0              LDIR
52
      9              memcpy((void *)0x5801, (void *)0x5800, 32*24-1);
53
   \   001B  210040            LD      HL,16384
54
   \   001E  220000            LD      (scrxy),HL
55
     10              scrxy.w=(void *)0x4000;
56
   \   0021  AF                XOR     A
57
   \   0022  320040            LD      (16384),A
58
     11              *((char *)0x4000)=0;
59
   \   0025  01FF17            LD      BC,6143
60
   \   0028  110140            LD      DE,16385
61
   \   002B  EDB0              LDIR
62
     12              memcpy((void *)0x4001, (void *)0x4000, (unsigned int)256*192/8-1);
63
   \   002D  C30000            JP      ?LEAVE_DIRECT_L09
64
     13          }
65
   \   0030            putchar:
66
   \   0030  CD0000            CALL    ?ENT_AUTO_DIRECT_L09
67
   \   0033  FCFF              DEFW    65532
68
     14          int putchar(int ch){
69
   \   0035  DD4E02            LD      C,(IX+2)
70
   \   0038  DD4603            LD      B,(IX+3)
71
   \   003B  3E0D              LD      A,13
72
   \   003D  A9                XOR     C
73
   \   003E  B0                OR      B
74
   \   003F  280E              JR      Z,?0012
75
   \   0041  3E0A              LD      A,10
76
   \   0043  A9                XOR     C
77
   \   0044  B0                OR      B
78
   \   0045  2012              JR      NZ,?0013
79
   \   0047            ?0011:
80
     15              switch(ch){
81
   \   0047  3A0000            LD      A,(scrxy)
82
   \   004A  C620              ADD     A,32
83
   \   004C  320000            LD      (scrxy),A
84
   \   004F            ?0012:
85
     16                  case '\n':  scrxy.b[0]+=32;
86
   \   004F  3A0000            LD      A,(scrxy)
87
   \   0052  E6E0              AND     224
88
   \   0054  320000            LD      (scrxy),A
89
     17                  case '\r':  scrxy.b[0]&=0xe0;
90
   \   0057  1833              JR      ?0010
91
   \   0059            ?0013:
92
     18                      break;
93
     19                  default:{
94
   \   0059  69                LD      L,C
95
   \   005A  60                LD      H,B
96
   \   005B  29                ADD     HL,HL
97
   \   005C  29                ADD     HL,HL
98
   \   005D  29                ADD     HL,HL
99
   \   005E  ED4B0000          LD      BC,(mylib_font8x8)
100
   \   0062  09                ADD     HL,BC
101
   \   0063  EB                EX      DE,HL
102
     20                          char* s=mylib_font8x8+(ch<<3);
103
   \   0064  DD36FE08          LD      (IX-2),8
104
   \   0068            ?0015:
105
     21                          unsigned char i=8;
106
   \   0068  DD46FE            LD      B,(IX-2)
107
   \   006B  DD35FE            DEC     (IX-2)
108
   \   006E  04                INC     B
109
   \   006F  05                DEC     B
110
   \   0070  280E              JR      Z,?0014
111
   \   0072            ?0016:
112
     22                          while(i--){
113
   \   0072  6B                LD      L,E
114
   \   0073  62                LD      H,D
115
   \   0074  13                INC     DE
116
   \   0075  46                LD      B,(HL)
117
   \   0076  2A0000            LD      HL,(scrxy)
118
   \   0079  70                LD      (HL),B
119
     23                              *scrxy.w=*(s++);
120
   \   007A  210100            LD      HL,scrxy+1
121
   \   007D  34                INC     (HL)
122
     24                              scrxy.b[1]++;
123
     25                          }
124
   \   007E  18E8              JR      ?0015
125
   \   0080            ?0014:
126
     26                      }
127
   \   0080  210000            LD      HL,scrxy
128
   \   0083  7E                LD      A,(HL)
129
   \   0084  D6FF              SUB     255
130
   \   0086  77                LD      (HL),A
131
   \   0087  23                INC     HL
132
   \   0088  7E                LD      A,(HL)
133
   \   0089  DE07              SBC     A,7
134
   \   008B  77                LD      (HL),A
135
     27                      scrxy.w-=0x07ff;
136
   \   008C            ?0010:
137
     28                      break;
138
     29              }
139
   \   008C  3A0000            LD      A,(scrxy)
140
   \   008F  B7                OR      A
141
   \   0090  2011              JR      NZ,?0020
142
   \   0092            ?0017:
143
     30              if(!scrxy.b[0]){
144
   \   0092  3A0100            LD      A,(scrxy+1)
145
   \   0095  C608              ADD     A,8
146
   \   0097  320100            LD      (scrxy+1),A
147
   \   009A  FE58              CP      88
148
   \   009C  2005              JR      NZ,?0020
149
   \   009E            ?0019:
150
   \   009E  3E40              LD      A,64
151
   \   00A0  320100            LD      (scrxy+1),A
152
   \   00A3            ?0020:
153
   \   00A3            ?0018:
154
     31                  if((scrxy.b[1]+=8)==0x58) scrxy.b[1]=0x40;
155
     32              }
156
   \   00A3  210100            LD      HL,1
157
     33              return 1;
158
   \   00A6  C30000            JP      ?LEAVE_DIRECT_L09
159
     34          }
160
   \   0000                    RSEG    UDATA0
161
   \   0000            scrxy:
162
   \   0002                    DEFS    2
163
   \   0000                    RSEG    IDATA0
164
   \   0000            mylib_font8x8:
165
   \   0002                    DEFS    2
166
   \   0000                    RSEG    CDATA0
167
   \   0000  003C              DEFW    15360
168
   \   0002                    END
169
 
170
 
171
                                       S Y M B O L - T A B L E
172
                                       =======================
173
 
174
 
175
            #include file(s):
176
 
177
       [ 1]       list\mylib.lst
178
 
179
 
180
            Symbol                     Type     Class   Defline   Refline(s)
181
            ------                     ----     -----   -------   ----------
182
 
183
memcpy                             function intrinsic     29:1          9       12
184
mylib_font8x8                       pointer    public        4         20
185
output8                            function intrinsic     36:3          8
186
putchar                            function    public       14       28:4
187
scr_init                           function    public        6          6
188
scrxy                                 union    static        5         10       16       17       23
189
                                                                       24       27       30       31
190
                                                                       31
191
size_t                              u_short   typedef     89:2       29:1     31:1     33:1     35:1
192
                                                                     37:1     43:1     47:1     49:1
193
                                                                     51:1     61:1     65:1     71:1
194
                                                                     71:1
195
va_list                               array   typedef    141:5       31:4     33:4
196
 
197
 
198
Errors: none
199
Warnings: none
200
Code size: 169
201
Constant size: 2
202
Static variable size: Data(4) Iram(0)
203