mirror of
https://gitlab.com/camelot/kickc.git
synced 2025-04-03 23:31:52 +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:
parent
1c368b9c5e
commit
ed86691c25
.idea/libraries
kickc.imlpom.xmlrepo/cml/kickass/kickassembler
5.16-65ce02.h
_remote.repositorieskickassembler-5.16-65ce02.h.jarkickassembler-5.16-65ce02.h.jar.md5kickassembler-5.16-65ce02.h.jar.sha1kickassembler-5.16-65ce02.h.pomkickassembler-5.16-65ce02.h.pom.md5kickassembler-5.16-65ce02.h.pom.sha1
maven-metadata-local.xmlmaven-metadata.xmlmaven-metadata.xml.md5maven-metadata.xml.sha1src
main
fragment/cache
java/dk/camelot64/cpufamily6502/cpus
kc/lib
repo
test/ref
@ -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>
|
@ -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" />
|
||||
|
2
pom.xml
2
pom.xml
@ -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>
|
||||
|
@ -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>=
|
Binary file not shown.
@ -0,0 +1 @@
|
||||
98bbfc524e2a4339213bc13a58c84c1f
|
@ -0,0 +1 @@
|
||||
28d703db965cfadafaf76ad2588a93363ee70b53
|
@ -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>
|
@ -0,0 +1 @@
|
||||
196833cce16e8a34e8b734bfa7300d75
|
@ -0,0 +1 @@
|
||||
e1c680f1c0d66145dce58cd078ef199155dbd088
|
@ -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>
|
@ -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>
|
||||
|
@ -1 +1 @@
|
||||
eb9a688c8421032f2c423c5d756e86c1
|
||||
289ab34afa6747528faf80fa7b14a634
|
@ -1 +1 @@
|
||||
9d03b6c6a791a7df649c2a2aa51e03d9f973f1dd
|
||||
a614ae6091d6bb2367e22282575417cb50a228e2
|
@ -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
|
||||
|
@ -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");
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
Loading…
x
Reference in New Issue
Block a user