Rev 151 | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed
############################################################################### ## IAR Z80/64180 C-Compiler V4.06A/W32 ## ## Compile time = 09/Feb/2016 10:47:27 ## Target option = Z80 ## Memory model = large ## Source file = mylib.c ## List file = list\mylib.lst ## Object file = mylib.r01 ## ASM file = list\mylib.s01 ## Command line = -v0 -ml -uua -b -q -x -K -gA -z9 -t4 -T -Llist\ ## -Alist\ -I../z80/inc/ mylib.c ## ## Copyright 2001 IAR Systems. All rights reserved. ###############################################################################\ 0000 MODULE mylib(16)\ 0000 RSEG CODE(0)\ 0000 RSEG UDATA0(0)\ 0000 RSEG IDATA0(0)\ 0000 RSEG CDATA0(0)\ 0000 PUBLIC mylib_font8x8\ 0000 PUBLIC putchar\ 0000 PUBLIC scr_init\ 0000 EXTERN ?CLZ80L_4_06_L00\ 0000 EXTERN ?ENT_PARM_DIRECT_L09\ 0000 EXTERN ?ENT_AUTO_DIRECT_L09\ 0000 EXTERN ?LEAVE_DIRECT_L09\ 0000 RSEG CODE1 #include <string.h>2 #include <intrz80.h>3 #include <stdio.h>4 char * mylib_font8x8=(void*)0x3c00;5 static union {char * w;char b[2];}scrxy;\ 0000 scr_init:\ 0000 CD0000 CALL ?ENT_PARM_DIRECT_L096 void scr_init(char a){\ 0003 7B LD A,E\ 0004 320058 LD (22528),A7 *((char *)0x5800)=a;\ 0007 CB3B SRL E\ 0009 CB3B SRL E\ 000B CB3B SRL E\ 000D 7B LD A,E\ 000E D3FE OUT (254),A8 output8(0xfe,a>>3);\ 0010 01FF02 LD BC,767\ 0013 110158 LD DE,22529\ 0016 210058 LD HL,22528\ 0019 EDB0 LDIR9 memcpy((void *)0x5801, (void *)0x5800, 32*24-1);\ 001B 210040 LD HL,16384\ 001E 220000 LD (scrxy),HL10 scrxy.w=(void *)0x4000;\ 0021 AF XOR A\ 0022 320040 LD (16384),A11 *((char *)0x4000)=0;\ 0025 01FF17 LD BC,6143\ 0028 110140 LD DE,16385\ 002B EDB0 LDIR12 memcpy((void *)0x4001, (void *)0x4000, (unsigned int)256*192/8-1);\ 002D C30000 JP ?LEAVE_DIRECT_L0913 }\ 0030 putchar:\ 0030 CD0000 CALL ?ENT_AUTO_DIRECT_L09\ 0033 FCFF DEFW 6553214 int putchar(int ch){\ 0035 DD4E02 LD C,(IX+2)\ 0038 DD4603 LD B,(IX+3)\ 003B 3E0D LD A,13\ 003D A9 XOR C\ 003E B0 OR B\ 003F 280E JR Z,?0012\ 0041 3E0A LD A,10\ 0043 A9 XOR C\ 0044 B0 OR B\ 0045 2012 JR NZ,?0013\ 0047 ?0011:15 switch(ch){\ 0047 3A0000 LD A,(scrxy)\ 004A C620 ADD A,32\ 004C 320000 LD (scrxy),A\ 004F ?0012:16 case '\n': scrxy.b[0]+=32;\ 004F 3A0000 LD A,(scrxy)\ 0052 E6E0 AND 224\ 0054 320000 LD (scrxy),A17 case '\r': scrxy.b[0]&=0xe0;\ 0057 1833 JR ?0010\ 0059 ?0013:18 break;19 default:{\ 0059 69 LD L,C\ 005A 60 LD H,B\ 005B 29 ADD HL,HL\ 005C 29 ADD HL,HL\ 005D 29 ADD HL,HL\ 005E ED4B0000 LD BC,(mylib_font8x8)\ 0062 09 ADD HL,BC\ 0063 EB EX DE,HL20 char* s=mylib_font8x8+(ch<<3);\ 0064 DD36FE08 LD (IX-2),8\ 0068 ?0015:21 unsigned char i=8;\ 0068 DD46FE LD B,(IX-2)\ 006B DD35FE DEC (IX-2)\ 006E 04 INC B\ 006F 05 DEC B\ 0070 280E JR Z,?0014\ 0072 ?0016:22 while(i--){\ 0072 6B LD L,E\ 0073 62 LD H,D\ 0074 13 INC DE\ 0075 46 LD B,(HL)\ 0076 2A0000 LD HL,(scrxy)\ 0079 70 LD (HL),B23 *scrxy.w=*(s++);\ 007A 210100 LD HL,scrxy+1\ 007D 34 INC (HL)24 scrxy.b[1]++;25 }\ 007E 18E8 JR ?0015\ 0080 ?0014:26 }\ 0080 210000 LD HL,scrxy\ 0083 7E LD A,(HL)\ 0084 D6FF SUB 255\ 0086 77 LD (HL),A\ 0087 23 INC HL\ 0088 7E LD A,(HL)\ 0089 DE07 SBC A,7\ 008B 77 LD (HL),A27 scrxy.w-=0x07ff;\ 008C ?0010:28 break;29 }\ 008C 3A0000 LD A,(scrxy)\ 008F B7 OR A\ 0090 2011 JR NZ,?0020\ 0092 ?0017:30 if(!scrxy.b[0]){\ 0092 3A0100 LD A,(scrxy+1)\ 0095 C608 ADD A,8\ 0097 320100 LD (scrxy+1),A\ 009A FE58 CP 88\ 009C 2005 JR NZ,?0020\ 009E ?0019:\ 009E 3E40 LD A,64\ 00A0 320100 LD (scrxy+1),A\ 00A3 ?0020:\ 00A3 ?0018:31 if((scrxy.b[1]+=8)==0x58) scrxy.b[1]=0x40;32 }\ 00A3 210100 LD HL,133 return 1;\ 00A6 C30000 JP ?LEAVE_DIRECT_L0934 }\ 0000 RSEG UDATA0\ 0000 scrxy:\ 0002 DEFS 2\ 0000 RSEG IDATA0\ 0000 mylib_font8x8:\ 0002 DEFS 2\ 0000 RSEG CDATA0\ 0000 003C DEFW 15360\ 0002 ENDS Y M B O L - T A B L E=======================#include file(s):[ 1] list\mylib.lstSymbol Type Class Defline Refline(s)------ ---- ----- ------- ----------memcpy function intrinsic 29:1 9 12mylib_font8x8 pointer public 4 20output8 function intrinsic 36:3 8putchar function public 14 28:4scr_init function public 6 6scrxy union static 5 10 16 17 2324 27 30 3131size_t u_short typedef 89:2 29:1 31:1 33:1 35:137:1 43:1 47:1 49:151:1 61:1 65:1 71:171:1va_list array typedef 141:5 31:4 33:4Errors: noneWarnings: noneCode size: 169Constant size: 2Static variable size: Data(4) Iram(0)