1
0
mirror of https://gitlab.com/camelot/kickc.git synced 2024-06-11 01:29:36 +00:00

Updated KickAsm 65CE02 to new version. Fixed INW/DEW addressing mode problem. Working on MEGA65 platform target. #507

This commit is contained in:
jespergravgaard 2020-08-23 20:05:48 +02:00
parent 1c368b9c5e
commit ed86691c25
20 changed files with 150 additions and 85 deletions

View File

@ -1,13 +1,13 @@
<component name="libraryTable">
<library name="Maven: cml.kickass:kickassembler:5.16-65ce02.g">
<library name="Maven: cml.kickass:kickassembler:5.16-65ce02.h">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/cml/kickass/kickassembler/5.16-65ce02.g/kickassembler-5.16-65ce02.g.jar!/" />
<root url="jar://$MAVEN_REPOSITORY$/cml/kickass/kickassembler/5.16-65ce02.h/kickassembler-5.16-65ce02.h.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$MAVEN_REPOSITORY$/cml/kickass/kickassembler/5.16-65ce02.g/kickassembler-5.16-65ce02.g-javadoc.jar!/" />
<root url="jar://$MAVEN_REPOSITORY$/cml/kickass/kickassembler/5.16-65ce02.h/kickassembler-5.16-65ce02.h-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/cml/kickass/kickassembler/5.16-65ce02.g/kickassembler-5.16-65ce02.g-sources.jar!/" />
<root url="jar://$MAVEN_REPOSITORY$/cml/kickass/kickassembler/5.16-65ce02.h/kickassembler-5.16-65ce02.h-sources.jar!/" />
</SOURCES>
</library>
</component>

View File

@ -18,7 +18,7 @@
<orderEntry type="library" name="Maven: org.antlr:antlr4-runtime:4.8-1" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: junit:junit:4.12" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: org.hamcrest:hamcrest-core:1.3" level="project" />
<orderEntry type="library" name="Maven: cml.kickass:kickassembler:5.16-65ce02.g" level="project" />
<orderEntry type="library" name="Maven: cml.kickass:kickassembler:5.16-65ce02.h" level="project" />
<orderEntry type="library" name="Maven: info.picocli:picocli:4.2.0" level="project" />
<orderEntry type="library" name="Maven: javax.json:javax.json-api:1.1.4" level="project" />
<orderEntry type="library" name="Maven: org.glassfish:javax.json:1.1.4" level="project" />

View File

@ -44,7 +44,7 @@
<dependency>
<groupId>cml.kickass</groupId>
<artifactId>kickassembler</artifactId>
<version>5.16-65ce02.g</version>
<version>5.16-65ce02.h</version>
</dependency>
<dependency>
<groupId>info.picocli</groupId>

View File

@ -0,0 +1,4 @@
#NOTE: This is a Maven Resolver internal implementation file, its format can be changed without prior notice.
#Sun Aug 23 17:54:10 CEST 2020
kickassembler-5.16-65ce02.h.pom>=
kickassembler-5.16-65ce02.h.jar>=

View File

@ -0,0 +1 @@
98bbfc524e2a4339213bc13a58c84c1f

View File

@ -0,0 +1 @@
28d703db965cfadafaf76ad2588a93363ee70b53

View File

@ -0,0 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<modelVersion>4.0.0</modelVersion>
<groupId>cml.kickass</groupId>
<artifactId>kickassembler</artifactId>
<version>5.16-65ce02.h</version>
<description>POM was created from install:install-file</description>
</project>

View File

@ -0,0 +1 @@
196833cce16e8a34e8b734bfa7300d75

View File

@ -0,0 +1 @@
e1c680f1c0d66145dce58cd078ef199155dbd088

View File

@ -1,22 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<metadata>
<groupId>cml.kickass</groupId>
<artifactId>kickassembler</artifactId>
<versioning>
<release>5.16-65ce02.c</release>
<versions>
<version>4.19</version>
<version>5.7</version>
<version>5.8</version>
<version>5.9</version>
<version>5.13</version>
<version>5.14</version>
<version>5.15</version>
<version>5.16</version>
<version>5.16-65ce02.a</version>
<version>5.16-65ce02.b</version>
<version>5.16-65ce02.c</version>
</versions>
<lastUpdated>20200726001040</lastUpdated>
</versioning>
</metadata>

View File

@ -3,7 +3,7 @@
<groupId>cml.kickass</groupId>
<artifactId>kickassembler</artifactId>
<versioning>
<release>5.16-65ce02.g</release>
<release>5.16-65ce02.h</release>
<versions>
<version>4.19</version>
<version>5.7</version>
@ -20,7 +20,8 @@
<version>5.16-65ce02.e</version>
<version>5.16-65ce02.f</version>
<version>5.16-65ce02.g</version>
<version>5.16-65ce02.h</version>
</versions>
<lastUpdated>20200730233328</lastUpdated>
<lastUpdated>20200823155410</lastUpdated>
</versioning>
</metadata>

View File

@ -1 +1 @@
eb9a688c8421032f2c423c5d756e86c1
289ab34afa6747528faf80fa7b14a634

View File

@ -1 +1 @@
9d03b6c6a791a7df649c2a2aa51e03d9f973f1dd
a614ae6091d6bb2367e22282575417cb50a228e2

View File

@ -42,3 +42,72 @@ inc {z1}
//FRAGMENT vbuaa_lt_vbuc1_then_la1
cmp #{c1}
bcc {la1}
//FRAGMENT vbuc1_neq_pbuc2_derefidx_vbuz1_then_la1
lda #{c1}
ldy {z1}
cmp {c2},y
bne {la1}
//FRAGMENT pbuc1_derefidx_vbuz1=pbuc2_derefidx_vbuz1
ldy {z1}
lda {c2},y
sta {c1},y
//FRAGMENT pbuc1_derefidx_vbuz1=vbuz1
ldy {z1}
tya
sta {c1},y
//FRAGMENT vbuc1_neq_pbuc2_derefidx_vbuaa_then_la1
tay
lda #{c1}
cmp {c2},y
bne {la1}
//FRAGMENT vbuc1_neq_pbuc2_derefidx_vbuxx_then_la1
lda {c2},x
cmp #{c1}
bne {la1}
//FRAGMENT vbuc1_neq_pbuc2_derefidx_vbuyy_then_la1
lda #{c1}
cmp {c2},y
bne {la1}
//FRAGMENT vbuc1_neq_pbuc2_derefidx_vbuzz_then_la1
tza
tay
lda #{c1}
cmp {c2},y
bne {la1}
//FRAGMENT pbuc1_derefidx_vbuxx=pbuc2_derefidx_vbuxx
lda {c2},x
sta {c1},x
//FRAGMENT pbuc1_derefidx_vbuyy=pbuc2_derefidx_vbuyy
lda {c2},y
sta {c1},y
//FRAGMENT pbuc1_derefidx_vbuzz=pbuc2_derefidx_vbuzz
tza
tay
lda {c2},y
sta {c1},y
//FRAGMENT pbuc1_derefidx_vbuxx=vbuxx
txa
sta {c1},x
//FRAGMENT pbuc1_derefidx_vbuyy=vbuyy
tya
sta {c1},y
//FRAGMENT pbuc1_derefidx_vbuzz=vbuzz
tza
tax
sta {c1},x
//FRAGMENT vbuxx=vbuc1
ldx #{c1}
//FRAGMENT vbuxx=_inc_vbuxx
inx
//FRAGMENT vbuyy=vbuc1
ldy #{c1}
//FRAGMENT vbuyy=_inc_vbuyy
iny
//FRAGMENT vbuzz=vbuc1
ldz #{c1}
//FRAGMENT vbuzz=_inc_vbuzz
inz
//FRAGMENT vduz1=vwuc1
NO_SYNTHESIS
//FRAGMENT vduz1=vwsc1
NO_SYNTHESIS

View File

@ -67,7 +67,7 @@ public class Cpu65CE02 extends Cpu65xx {
addOpcode(0xB3,"lbcs",CpuAddressingMode.REL,3,"P");
addOpcode(0xBB,"ldz",CpuAddressingMode.ABX,4,"Znz");
addOpcode(0xC2,"cpz",CpuAddressingMode.IMM,2,"cnz");
addOpcode(0xC3,"dew",CpuAddressingMode.ABS,5,"nz");
addOpcode(0xC3,"dew",CpuAddressingMode.ZP,5,"nz");
addOpcode(0xCB,"asw",CpuAddressingMode.ABS,7,"cnz");
addOpcode(0xD2,"cmp",CpuAddressingMode.IZZ,5,"cnz");
addOpcode(0xD3,"lbne",CpuAddressingMode.REL,3,"P");
@ -75,7 +75,7 @@ public class Cpu65CE02 extends Cpu65xx {
addOpcode(0xDB,"phz",CpuAddressingMode.NON,3,"S");
addOpcode(0xDC,"cpz",CpuAddressingMode.ABS,4,"cnz");
addOpcode(0xE2,"lda",CpuAddressingMode.ISY,6,"Anz");
addOpcode(0xE3,"inw",CpuAddressingMode.ABS,5,"nz");
addOpcode(0xE3,"inw",CpuAddressingMode.ZP,5,"nz");
addOpcode(0xEB,"row",CpuAddressingMode.ABS,6,"cnz");
addOpcode(0xF2,"sbc",CpuAddressingMode.IZZ,5,"Acvnz");
addOpcode(0xF3,"lbeq",CpuAddressingMode.REL,3,"P");

View File

@ -13,7 +13,7 @@ char * const CONIO_SCREEN_COLORS = COLORRAM;
// The default text color
const char CONIO_TEXTCOLOR_DEFAULT = LIGHT_BLUE;
// Use the shared CMB flat memory implementation
// Use the shared CBM flat memory implementation
#include "conio-cbm-shared.c"
// Return true if there's a key waiting, return false if not

View File

@ -4,7 +4,7 @@
cp ./repo/cml/kickass/kickassembler/maven-metadata.xml ./repo/cml/kickass/kickassembler/maven-metadata-local.xml
# mvn install:install-file -Dmaven.repo.local=./repo/ -Dfile=/Applications/KickAssembler/KickAss.jar -DgroupId=cml.kickass -DartifactId=kickassembler -Dpackaging=jar -DgeneratePom=true -DcreateChecksum=true -Dversion=5.16
mvn install:install-file -Dmaven.repo.local=./repo/ -Dfile=/Users/jespergravgaard/c64/kickassembler65ce02/out/KickAss65CE02.jar -DgroupId=cml.kickass -DartifactId=kickassembler -Dpackaging=jar -DgeneratePom=true -DcreateChecksum=true -Dversion=5.16-65ce02.g
mvn install:install-file -Dmaven.repo.local=./repo/ -Dfile=/Users/jespergravgaard/c64/kickassembler65ce02/out/KickAss65CE02.jar -DgroupId=cml.kickass -DartifactId=kickassembler -Dpackaging=jar -DgeneratePom=true -DcreateChecksum=true -Dversion=5.16-65ce02.h
# Finalize by making the local metadata official
pushd ./repo/cml/kickass/kickassembler

View File

@ -164,7 +164,7 @@ cputs: {
// while(c=*s++)
ldy #0
lda (s),y
inw s
inw.z s
cmp #0
bne __b2
// }
@ -368,7 +368,7 @@ utoa: {
ldy #0
sta (buffer),y
// *buffer++ = DIGITS[(char)value];
inw buffer
inw.z buffer
// *buffer = 0
tya
sta (buffer),y
@ -403,7 +403,7 @@ utoa: {
// utoa_append(buffer++, value, digit_value)
// value = utoa_append(buffer++, value, digit_value)
// value = utoa_append(buffer++, value, digit_value);
inw buffer
inw.z buffer
ldz #1
jmp __b4
}
@ -710,7 +710,7 @@ ultoa: {
ldy #0
sta (buffer),y
// *buffer++ = DIGITS[(char)value];
inw buffer
inw.z buffer
// *buffer = 0
tya
sta (buffer),y
@ -759,7 +759,7 @@ ultoa: {
// ultoa_append(buffer++, value, digit_value)
// value = ultoa_append(buffer++, value, digit_value)
// value = ultoa_append(buffer++, value, digit_value);
inw buffer
inw.z buffer
ldz #1
jmp __b4
}
@ -860,9 +860,9 @@ strlen: {
rts
__b2:
// len++;
inw len
inw.z len
// str++;
inw str
inw.z str
jmp __b1
}
// Print a padding char a number of times
@ -910,7 +910,7 @@ strupr: {
ldy #0
sta (src),y
// src++;
inw src
inw.z src
jmp __b1
}
// Set the cursor to the specified position
@ -1132,7 +1132,7 @@ uctoa: {
ldy #0
sta (buffer),y
// *buffer++ = DIGITS[(char)value];
inw buffer
inw.z buffer
// *buffer = 0
tya
sta (buffer),y
@ -1160,7 +1160,7 @@ uctoa: {
// value = uctoa_append(buffer++, value, digit_value)
taz
// value = uctoa_append(buffer++, value, digit_value);
inw buffer
inw.z buffer
ldx #1
jmp __b4
}
@ -1197,8 +1197,8 @@ memcpy: {
lda (src),y
sta (dst),y
// *dst++ = *src++;
inw dst
inw src
inw.z dst
inw.z src
jmp __b1
}
// Copies the character c (an unsigned char) to the first num characters of the object pointed to by the argument str.
@ -1231,7 +1231,7 @@ memset: {
ldy #0
sta (dst),y
// for(char* dst = str; dst!=end; dst++)
inw dst
inw.z dst
jmp __b2
}
// Used to convert a single digit of an unsigned number value to a string representation

View File

@ -7139,7 +7139,7 @@ cputs: {
lda (s),y
sta.z c
// [44] (to_nomodify byte*) cputs::s#0 ← ++ (to_nomodify byte*) cputs::s#11 -- pbuz1=_inc_pbuz1
inw s
inw.z s
// [45] if((byte) 0!=(byte) cputs::c#1) goto cputs::@2 -- vbuc1_neq_vbuz1_then_la1
lda #0
cmp.z c
@ -7591,7 +7591,7 @@ utoa: {
lda.z utoa_append.return+1
sta.z value+1
// [111] (byte*) utoa::buffer#4 ← ++ (byte*) utoa::buffer#11 -- pbuz1=_inc_pbuz1
inw buffer_1
inw.z buffer_1
// [103] phi from utoa::@6 to utoa::@4 [phi:utoa::@6->utoa::@4]
__b4_from___b6:
// [103] phi (byte*) utoa::buffer#14 = (byte*) utoa::buffer#4 [phi:utoa::@6->utoa::@4#0] -- register_copy
@ -8359,7 +8359,7 @@ ultoa: {
lda.z ultoa_append.return+3
sta.z value+3
// [216] (byte*) ultoa::buffer#4 ← ++ (byte*) ultoa::buffer#11 -- pbuz1=_inc_pbuz1
inw buffer_1
inw.z buffer_1
// [208] phi from ultoa::@6 to ultoa::@4 [phi:ultoa::@6->ultoa::@4]
__b4_from___b6:
// [208] phi (byte*) ultoa::buffer#14 = (byte*) ultoa::buffer#4 [phi:ultoa::@6->ultoa::@4#0] -- register_copy
@ -8501,9 +8501,9 @@ strlen: {
// strlen::@2
__b2:
// [234] (word) strlen::len#1 ← ++ (word) strlen::len#2 -- vwuz1=_inc_vwuz1
inw len
inw.z len
// [235] (byte*) strlen::str#0 ← ++ (byte*) strlen::str#2 -- pbuz1=_inc_pbuz1
inw str
inw.z str
// [231] phi from strlen::@2 to strlen::@1 [phi:strlen::@2->strlen::@1]
__b1_from___b2:
// [231] phi (word) strlen::len#2 = (word) strlen::len#1 [phi:strlen::@2->strlen::@1#0] -- register_copy
@ -8602,7 +8602,7 @@ strupr: {
ldy #0
sta (src),y
// [252] (byte*) strupr::src#1 ← ++ (byte*) strupr::src#2 -- pbuz1=_inc_pbuz1
inw src
inw.z src
// [244] phi from strupr::@3 to strupr::@1 [phi:strupr::@3->strupr::@1]
__b1_from___b3:
// [244] phi (byte*) strupr::src#2 = (byte*) strupr::src#1 [phi:strupr::@3->strupr::@1#0] -- register_copy
@ -9033,7 +9033,7 @@ uctoa: {
lda.z uctoa_append.return
sta.z value
// [309] (byte*) uctoa::buffer#4 ← ++ (byte*) uctoa::buffer#11 -- pbuz1=_inc_pbuz1
inw buffer_1
inw.z buffer_1
// [301] phi from uctoa::@6 to uctoa::@4 [phi:uctoa::@6->uctoa::@4]
__b4_from___b6:
// [301] phi (byte*) uctoa::buffer#14 = (byte*) uctoa::buffer#4 [phi:uctoa::@6->uctoa::@4#0] -- register_copy
@ -9099,9 +9099,9 @@ memcpy: {
ldy #0
sta (dst),y
// [318] (byte*) memcpy::dst#1 ← ++ (byte*) memcpy::dst#2 -- pbuz1=_inc_pbuz1
inw dst
inw.z dst
// [319] (byte*) memcpy::src#1 ← ++ (byte*) memcpy::src#2 -- pbuz1=_inc_pbuz1
inw src
inw.z src
jmp __b1_from___b2
}
// memset
@ -9154,7 +9154,7 @@ memset: {
ldy #0
sta (dst),y
// [327] (byte*) memset::dst#1 ← ++ (byte*) memset::dst#2 -- pbuz1=_inc_pbuz1
inw dst
inw.z dst
jmp __b2_from___b3
}
// uctoa_append
@ -10029,7 +10029,7 @@ cputs: {
ldy #0
lda (s),y
// [44] (to_nomodify byte*) cputs::s#0 ← ++ (to_nomodify byte*) cputs::s#11 -- pbuz1=_inc_pbuz1
inw s
inw.z s
// [45] if((byte) 0!=(byte) cputs::c#1) goto cputs::@2 -- vbuc1_neq_vbuaa_then_la1
cmp #0
bne __b2
@ -10360,7 +10360,7 @@ utoa: {
ldy #0
sta (buffer),y
// [96] (byte*) utoa::buffer#3 ← ++ (byte*) utoa::buffer#11 -- pbuz1=_inc_pbuz1
inw buffer
inw.z buffer
// [97] *((byte*) utoa::buffer#3) ← (byte) 0 -- _deref_pbuz1=vbuc1
lda #0
ldy #0
@ -10428,7 +10428,7 @@ utoa: {
__b6:
// [110] (word) utoa::value#0 ← (word) utoa_append::return#0
// [111] (byte*) utoa::buffer#4 ← ++ (byte*) utoa::buffer#11 -- pbuz1=_inc_pbuz1
inw buffer
inw.z buffer
// [103] phi from utoa::@6 to utoa::@4 [phi:utoa::@6->utoa::@4]
__b4_from___b6:
// [103] phi (byte*) utoa::buffer#14 = (byte*) utoa::buffer#4 [phi:utoa::@6->utoa::@4#0] -- register_copy
@ -11014,7 +11014,7 @@ ultoa: {
ldy #0
sta (buffer),y
// [201] (byte*) ultoa::buffer#3 ← ++ (byte*) ultoa::buffer#11 -- pbuz1=_inc_pbuz1
inw buffer
inw.z buffer
// [202] *((byte*) ultoa::buffer#3) ← (byte) 0 -- _deref_pbuz1=vbuc1
lda #0
ldy #0
@ -11095,7 +11095,7 @@ ultoa: {
__b6:
// [215] (dword) ultoa::value#0 ← (dword) ultoa_append::return#0
// [216] (byte*) ultoa::buffer#4 ← ++ (byte*) ultoa::buffer#11 -- pbuz1=_inc_pbuz1
inw buffer
inw.z buffer
// [208] phi from ultoa::@6 to ultoa::@4 [phi:ultoa::@6->ultoa::@4]
__b4_from___b6:
// [208] phi (byte*) ultoa::buffer#14 = (byte*) ultoa::buffer#4 [phi:ultoa::@6->ultoa::@4#0] -- register_copy
@ -11235,9 +11235,9 @@ strlen: {
// strlen::@2
__b2:
// [234] (word) strlen::len#1 ← ++ (word) strlen::len#2 -- vwuz1=_inc_vwuz1
inw len
inw.z len
// [235] (byte*) strlen::str#0 ← ++ (byte*) strlen::str#2 -- pbuz1=_inc_pbuz1
inw str
inw.z str
// [231] phi from strlen::@2 to strlen::@1 [phi:strlen::@2->strlen::@1]
__b1_from___b2:
// [231] phi (word) strlen::len#2 = (word) strlen::len#1 [phi:strlen::@2->strlen::@1#0] -- register_copy
@ -11325,7 +11325,7 @@ strupr: {
ldy #0
sta (src),y
// [252] (byte*) strupr::src#1 ← ++ (byte*) strupr::src#2 -- pbuz1=_inc_pbuz1
inw src
inw.z src
// [244] phi from strupr::@3 to strupr::@1 [phi:strupr::@3->strupr::@1]
__b1_from___b3:
// [244] phi (byte*) strupr::src#2 = (byte*) strupr::src#1 [phi:strupr::@3->strupr::@1#0] -- register_copy
@ -11665,7 +11665,7 @@ uctoa: {
ldy #0
sta (buffer),y
// [295] (byte*) uctoa::buffer#3 ← ++ (byte*) uctoa::buffer#11 -- pbuz1=_inc_pbuz1
inw buffer
inw.z buffer
// [296] *((byte*) uctoa::buffer#3) ← (byte) 0 -- _deref_pbuz1=vbuc1
lda #0
ldy #0
@ -11724,7 +11724,7 @@ uctoa: {
// [308] (byte) uctoa::value#0 ← (byte) uctoa_append::return#0 -- vbuzz=vbuaa
taz
// [309] (byte*) uctoa::buffer#4 ← ++ (byte*) uctoa::buffer#11 -- pbuz1=_inc_pbuz1
inw buffer
inw.z buffer
// [301] phi from uctoa::@6 to uctoa::@4 [phi:uctoa::@6->uctoa::@4]
__b4_from___b6:
// [301] phi (byte*) uctoa::buffer#14 = (byte*) uctoa::buffer#4 [phi:uctoa::@6->uctoa::@4#0] -- register_copy
@ -11781,9 +11781,9 @@ memcpy: {
ldy #0
sta (dst),y
// [318] (byte*) memcpy::dst#1 ← ++ (byte*) memcpy::dst#2 -- pbuz1=_inc_pbuz1
inw dst
inw.z dst
// [319] (byte*) memcpy::src#1 ← ++ (byte*) memcpy::src#2 -- pbuz1=_inc_pbuz1
inw src
inw.z src
jmp __b1_from___b2
}
// memset
@ -11831,7 +11831,7 @@ memset: {
ldy #0
sta (dst),y
// [327] (byte*) memset::dst#1 ← ++ (byte*) memset::dst#2 -- pbuz1=_inc_pbuz1
inw dst
inw.z dst
jmp __b2_from___b3
}
// uctoa_append
@ -13251,7 +13251,7 @@ cputs: {
ldy #0
lda (s),y
// [44] (to_nomodify byte*) cputs::s#0 ← ++ (to_nomodify byte*) cputs::s#11 -- pbuz1=_inc_pbuz1
inw s
inw.z s
// [45] if((byte) 0!=(byte) cputs::c#1) goto cputs::@2 -- vbuc1_neq_vbuaa_then_la1
cmp #0
bne __b2
@ -13558,7 +13558,7 @@ utoa: {
sta (buffer),y
// *buffer++ = DIGITS[(char)value];
// [96] (byte*) utoa::buffer#3 ← ++ (byte*) utoa::buffer#11 -- pbuz1=_inc_pbuz1
inw buffer
inw.z buffer
// *buffer = 0
// [97] *((byte*) utoa::buffer#3) ← (byte) 0 -- _deref_pbuz1=vbuc1
tya
@ -13623,7 +13623,7 @@ utoa: {
// [110] (word) utoa::value#0 ← (word) utoa_append::return#0
// value = utoa_append(buffer++, value, digit_value);
// [111] (byte*) utoa::buffer#4 ← ++ (byte*) utoa::buffer#11 -- pbuz1=_inc_pbuz1
inw buffer
inw.z buffer
// [103] phi from utoa::@6 to utoa::@4 [phi:utoa::@6->utoa::@4]
// [103] phi (byte*) utoa::buffer#14 = (byte*) utoa::buffer#4 [phi:utoa::@6->utoa::@4#0] -- register_copy
// [103] phi (byte) utoa::started#4 = (byte) 1 [phi:utoa::@6->utoa::@4#1] -- vbuzz=vbuc1
@ -14135,7 +14135,7 @@ ultoa: {
sta (buffer),y
// *buffer++ = DIGITS[(char)value];
// [201] (byte*) ultoa::buffer#3 ← ++ (byte*) ultoa::buffer#11 -- pbuz1=_inc_pbuz1
inw buffer
inw.z buffer
// *buffer = 0
// [202] *((byte*) ultoa::buffer#3) ← (byte) 0 -- _deref_pbuz1=vbuc1
tya
@ -14214,7 +14214,7 @@ ultoa: {
// [215] (dword) ultoa::value#0 ← (dword) ultoa_append::return#0
// value = ultoa_append(buffer++, value, digit_value);
// [216] (byte*) ultoa::buffer#4 ← ++ (byte*) ultoa::buffer#11 -- pbuz1=_inc_pbuz1
inw buffer
inw.z buffer
// [208] phi from ultoa::@6 to ultoa::@4 [phi:ultoa::@6->ultoa::@4]
// [208] phi (byte*) ultoa::buffer#14 = (byte*) ultoa::buffer#4 [phi:ultoa::@6->ultoa::@4#0] -- register_copy
// [208] phi (byte) ultoa::started#4 = (byte) 1 [phi:ultoa::@6->ultoa::@4#1] -- vbuzz=vbuc1
@ -14353,10 +14353,10 @@ strlen: {
__b2:
// len++;
// [234] (word) strlen::len#1 ← ++ (word) strlen::len#2 -- vwuz1=_inc_vwuz1
inw len
inw.z len
// str++;
// [235] (byte*) strlen::str#0 ← ++ (byte*) strlen::str#2 -- pbuz1=_inc_pbuz1
inw str
inw.z str
// [231] phi from strlen::@2 to strlen::@1 [phi:strlen::@2->strlen::@1]
// [231] phi (word) strlen::len#2 = (word) strlen::len#1 [phi:strlen::@2->strlen::@1#0] -- register_copy
// [231] phi (byte*) strlen::str#2 = (byte*) strlen::str#0 [phi:strlen::@2->strlen::@1#1] -- register_copy
@ -14438,7 +14438,7 @@ strupr: {
sta (src),y
// src++;
// [252] (byte*) strupr::src#1 ← ++ (byte*) strupr::src#2 -- pbuz1=_inc_pbuz1
inw src
inw.z src
// [244] phi from strupr::@3 to strupr::@1 [phi:strupr::@3->strupr::@1]
// [244] phi (byte*) strupr::src#2 = (byte*) strupr::src#1 [phi:strupr::@3->strupr::@1#0] -- register_copy
jmp __b1
@ -14756,7 +14756,7 @@ uctoa: {
sta (buffer),y
// *buffer++ = DIGITS[(char)value];
// [295] (byte*) uctoa::buffer#3 ← ++ (byte*) uctoa::buffer#11 -- pbuz1=_inc_pbuz1
inw buffer
inw.z buffer
// *buffer = 0
// [296] *((byte*) uctoa::buffer#3) ← (byte) 0 -- _deref_pbuz1=vbuc1
tya
@ -14813,7 +14813,7 @@ uctoa: {
taz
// value = uctoa_append(buffer++, value, digit_value);
// [309] (byte*) uctoa::buffer#4 ← ++ (byte*) uctoa::buffer#11 -- pbuz1=_inc_pbuz1
inw buffer
inw.z buffer
// [301] phi from uctoa::@6 to uctoa::@4 [phi:uctoa::@6->uctoa::@4]
// [301] phi (byte*) uctoa::buffer#14 = (byte*) uctoa::buffer#4 [phi:uctoa::@6->uctoa::@4#0] -- register_copy
// [301] phi (byte) uctoa::started#4 = (byte) 1 [phi:uctoa::@6->uctoa::@4#1] -- vbuxx=vbuc1
@ -14868,9 +14868,9 @@ memcpy: {
sta (dst),y
// *dst++ = *src++;
// [318] (byte*) memcpy::dst#1 ← ++ (byte*) memcpy::dst#2 -- pbuz1=_inc_pbuz1
inw dst
inw.z dst
// [319] (byte*) memcpy::src#1 ← ++ (byte*) memcpy::src#2 -- pbuz1=_inc_pbuz1
inw src
inw.z src
jmp __b1
}
// memset
@ -14916,7 +14916,7 @@ memset: {
sta (dst),y
// for(char* dst = str; dst!=end; dst++)
// [327] (byte*) memset::dst#1 ← ++ (byte*) memset::dst#2 -- pbuz1=_inc_pbuz1
inw dst
inw.z dst
jmp __b2
}
// uctoa_append