mirror of
https://gitlab.com/camelot/kickc.git
synced 2024-12-25 11:32:07 +00:00
Merge remote-tracking branch 'origin/master'
This commit is contained in:
commit
46f66c5499
2
pom.xml
2
pom.xml
@ -79,7 +79,7 @@
|
||||
<dependency>
|
||||
<groupId>cml.kickass</groupId>
|
||||
<artifactId>kickassembler</artifactId>
|
||||
<version>5.24-65ce02.d</version>
|
||||
<version>5.24-65ce02.e</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>dk.camelot64.kickass.xexplugin</groupId>
|
||||
|
Binary file not shown.
@ -0,0 +1 @@
|
||||
d35f87fd307d0576de440c34320fae54
|
@ -0,0 +1 @@
|
||||
fea193965f72acd22809e8a308425124e36cefbd
|
@ -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.24-65ce02.e</version>
|
||||
<description>POM was created from install:install-file</description>
|
||||
</project>
|
@ -0,0 +1 @@
|
||||
18962fc0bd9f7febf7b4a537dbb68bda
|
@ -0,0 +1 @@
|
||||
f1bda5c5c9a57c2bffbc8d6c566af673c0ccc293
|
@ -3,7 +3,7 @@
|
||||
<groupId>cml.kickass</groupId>
|
||||
<artifactId>kickassembler</artifactId>
|
||||
<versioning>
|
||||
<release>5.24-65ce02.d</release>
|
||||
<release>5.24-65ce02.e</release>
|
||||
<versions>
|
||||
<version>4.19</version>
|
||||
<version>5.7</version>
|
||||
@ -31,7 +31,8 @@
|
||||
<version>5.24-65ce02.b</version>
|
||||
<version>5.24-65ce02.c</version>
|
||||
<version>5.24-65ce02.d</version>
|
||||
<version>5.24-65ce02.e</version>
|
||||
</versions>
|
||||
<lastUpdated>20220213103243</lastUpdated>
|
||||
<lastUpdated>20220213212400</lastUpdated>
|
||||
</versioning>
|
||||
</metadata>
|
||||
|
@ -1 +1 @@
|
||||
566035322d1120a899902e225415aea4
|
||||
12dc7c134f8dcf276f4031702b11b5d7
|
@ -1 +1 @@
|
||||
9d02e7968040c29f57b25cc02f1ae3c143e7b773
|
||||
8cc20999d0045eea75ba3fff20b93c212b7cc52a
|
@ -65,7 +65,7 @@ public class Cpu45GS02 extends Cpu65xx {
|
||||
addOpcode( new int[] {0x42, 0x42, 0xA5},"ldq",CpuAddressingMode.ZP,8,"AXYZnz");
|
||||
addOpcode( new int[] {0x42, 0x42, 0xAD},"ldq",CpuAddressingMode.ABS,9,"AXYZnz");
|
||||
addOpcode( new int[] {0x42, 0x42, 0xB1},"ldq",CpuAddressingMode.IZY,10,"AXYZnz");
|
||||
addOpcode( new int[] {0x42, 0x42, 0xB2},"ldq",CpuAddressingMode.INZ,10,"AXYZnz");
|
||||
addOpcode( new int[] {0x42, 0x42, 0xB2},"ldq",CpuAddressingMode.IZZ,10,"AXYZnz");
|
||||
addOpcode( new int[] {0x42, 0x42, 0xB5},"ldq",CpuAddressingMode.ZPX,9,"AXYZnz");
|
||||
addOpcode( new int[] {0x42, 0x42, 0xB9},"ldq",CpuAddressingMode.ABY,10,"AXYZnz");
|
||||
addOpcode( new int[] {0x42, 0x42, 0xBD},"ldq",CpuAddressingMode.ABX,10,"AXYZnz");
|
||||
@ -84,7 +84,7 @@ public class Cpu45GS02 extends Cpu65xx {
|
||||
addOpcode( new int[] {0x42, 0x42, 0xea, 0x52},"eorq",CpuAddressingMode.LIN,13,"AXYZnz");
|
||||
addOpcode( new int[] {0x42, 0x42, 0xea, 0x72},"adcq",CpuAddressingMode.LIN,13,"AXYZcvnz");
|
||||
addOpcode( new int[] {0x42, 0x42, 0xea, 0x92},"stq",CpuAddressingMode.LIN,13,"");
|
||||
addOpcode( new int[] {0x42, 0x42, 0xea, 0xB2},"ldq",CpuAddressingMode.LIN,13,"AXYZnz");
|
||||
addOpcode( new int[] {0x42, 0x42, 0xea, 0xB2},"ldq",CpuAddressingMode.LIZ,13,"AXYZnz");
|
||||
addOpcode( new int[] {0x42, 0x42, 0xea, 0xD2},"cpq",CpuAddressingMode.LIN,13,"cnz");
|
||||
addOpcode( new int[] {0x42, 0x42, 0xea, 0xF2},"sbcq",CpuAddressingMode.LIN,13,"AXYZcvnz");
|
||||
addOpcode( new int[] {0x42, 0x42, 0xED},"sbcq",CpuAddressingMode.ABS,9,"AXYZcvnz");
|
||||
|
@ -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.24-65ce02.d
|
||||
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.24-65ce02.e
|
||||
|
||||
# Finalize by making the local metadata official
|
||||
pushd ./repo/cml/kickass/kickassembler
|
||||
|
@ -46,10 +46,14 @@ void main() {
|
||||
// 65C02: ($1234,X)
|
||||
jmp ($1234,x)
|
||||
lbl3:
|
||||
// 45GS02: 32bit Indirect,Z
|
||||
ldq ($12),z
|
||||
// 45GS02: Indirect Long,Z
|
||||
lda (($12)),z
|
||||
// 45GS02: Indirect Long
|
||||
ldq (($12))
|
||||
// 45GS02: 32bit Indirect Long,Z
|
||||
ldq (($12)),z
|
||||
// 45GS02: 32bit Indirect Long
|
||||
stq (($12))
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -32,8 +32,10 @@ main: {
|
||||
lbl2:
|
||||
jmp ($1234,x)
|
||||
lbl3:
|
||||
ldq ($12),z
|
||||
lda (($12)),z
|
||||
ldq (($12))
|
||||
ldq (($12)),z
|
||||
stq (($12))
|
||||
// }
|
||||
rts
|
||||
}
|
||||
|
@ -1,7 +1,7 @@
|
||||
|
||||
void main()
|
||||
main: scope:[main] from
|
||||
asm { inx lda#$12 phw#$1234 lda$12 lda$12,x ldx$12,y lda($12,x) lda($12),y ora($12),z lda($12,sp),y lda$1234 lda$1234,x lda$1234,y beqlbl1 lbeqfar bbr0$12,lbl2 lbl1: jmp($1234) lbl2: jmp($1234,x) lbl3: lda(($12)),z ldq(($12)) }
|
||||
asm { inx lda#$12 phw#$1234 lda$12 lda$12,x ldx$12,y lda($12,x) lda($12),y ora($12),z lda($12,sp),y lda$1234 lda$1234,x lda$1234,y beqlbl1 lbeqfar bbr0$12,lbl2 lbl1: jmp($1234) lbl2: jmp($1234,x) lbl3: ldq($12),z lda(($12)),z ldq(($12)),z stq(($12)) }
|
||||
to:main::@return
|
||||
main::@return: scope:[main] from main
|
||||
[1] return
|
||||
|
@ -4,7 +4,7 @@ CONTROL FLOW GRAPH SSA
|
||||
|
||||
void main()
|
||||
main: scope:[main] from __start
|
||||
asm { inx lda#$12 phw#$1234 lda$12 lda$12,x ldx$12,y lda($12,x) lda($12),y ora($12),z lda($12,sp),y lda$1234 lda$1234,x lda$1234,y beqlbl1 lbeqfar bbr0$12,lbl2 lbl1: jmp($1234) lbl2: jmp($1234,x) lbl3: lda(($12)),z ldq(($12)) }
|
||||
asm { inx lda#$12 phw#$1234 lda$12 lda$12,x ldx$12,y lda($12,x) lda($12),y ora($12),z lda($12,sp),y lda$1234 lda$1234,x lda$1234,y beqlbl1 lbeqfar bbr0$12,lbl2 lbl1: jmp($1234) lbl2: jmp($1234,x) lbl3: ldq($12),z lda(($12)),z ldq(($12)),z stq(($12)) }
|
||||
to:main::@return
|
||||
main::@return: scope:[main] from main
|
||||
return
|
||||
@ -41,7 +41,7 @@ FINAL CONTROL FLOW GRAPH
|
||||
|
||||
void main()
|
||||
main: scope:[main] from
|
||||
asm { inx lda#$12 phw#$1234 lda$12 lda$12,x ldx$12,y lda($12,x) lda($12),y ora($12),z lda($12,sp),y lda$1234 lda$1234,x lda$1234,y beqlbl1 lbeqfar bbr0$12,lbl2 lbl1: jmp($1234) lbl2: jmp($1234,x) lbl3: lda(($12)),z ldq(($12)) }
|
||||
asm { inx lda#$12 phw#$1234 lda$12 lda$12,x ldx$12,y lda($12,x) lda($12),y ora($12),z lda($12,sp),y lda$1234 lda$1234,x lda$1234,y beqlbl1 lbeqfar bbr0$12,lbl2 lbl1: jmp($1234) lbl2: jmp($1234,x) lbl3: ldq($12),z lda(($12)),z ldq(($12)),z stq(($12)) }
|
||||
to:main::@return
|
||||
main::@return: scope:[main] from main
|
||||
[1] return
|
||||
@ -54,14 +54,14 @@ void main()
|
||||
Initial phi equivalence classes
|
||||
Complete equivalence classes
|
||||
REGISTER UPLIFT POTENTIAL REGISTERS
|
||||
Statement asm { inx lda#$12 phw#$1234 lda$12 lda$12,x ldx$12,y lda($12,x) lda($12),y ora($12),z lda($12,sp),y lda$1234 lda$1234,x lda$1234,y beqlbl1 lbeqfar bbr0$12,lbl2 lbl1: jmp($1234) lbl2: jmp($1234,x) lbl3: lda(($12)),z ldq(($12)) } always clobbers reg byte a reg byte x reg byte y reg byte z
|
||||
Statement asm { inx lda#$12 phw#$1234 lda$12 lda$12,x ldx$12,y lda($12,x) lda($12),y ora($12),z lda($12,sp),y lda$1234 lda$1234,x lda$1234,y beqlbl1 lbeqfar bbr0$12,lbl2 lbl1: jmp($1234) lbl2: jmp($1234,x) lbl3: ldq($12),z lda(($12)),z ldq(($12)),z stq(($12)) } always clobbers reg byte a reg byte x reg byte y reg byte z
|
||||
|
||||
REGISTER UPLIFT SCOPES
|
||||
Uplift Scope [main]
|
||||
Uplift Scope []
|
||||
|
||||
Uplifting [main] best 106 combination
|
||||
Uplifting [] best 106 combination
|
||||
Uplifting [main] best 129 combination
|
||||
Uplifting [] best 129 combination
|
||||
|
||||
ASSEMBLER BEFORE OPTIMIZATION
|
||||
// File Comments
|
||||
@ -80,7 +80,7 @@ ASSEMBLER BEFORE OPTIMIZATION
|
||||
.segment Code
|
||||
// main
|
||||
main: {
|
||||
// asm { inx lda#$12 phw#$1234 lda$12 lda$12,x ldx$12,y lda($12,x) lda($12),y ora($12),z lda($12,sp),y lda$1234 lda$1234,x lda$1234,y beqlbl1 lbeqfar bbr0$12,lbl2 lbl1: jmp($1234) lbl2: jmp($1234,x) lbl3: lda(($12)),z ldq(($12)) }
|
||||
// asm { inx lda#$12 phw#$1234 lda$12 lda$12,x ldx$12,y lda($12,x) lda($12),y ora($12),z lda($12,sp),y lda$1234 lda$1234,x lda$1234,y beqlbl1 lbeqfar bbr0$12,lbl2 lbl1: jmp($1234) lbl2: jmp($1234,x) lbl3: ldq($12),z lda(($12)),z ldq(($12)),z stq(($12)) }
|
||||
inx
|
||||
lda #$12
|
||||
phw #$1234
|
||||
@ -102,8 +102,10 @@ main: {
|
||||
lbl2:
|
||||
jmp ($1234,x)
|
||||
lbl3:
|
||||
ldq ($12),z
|
||||
lda (($12)),z
|
||||
ldq (($12))
|
||||
ldq (($12)),z
|
||||
stq (($12))
|
||||
jmp __breturn
|
||||
// main::@return
|
||||
__breturn:
|
||||
@ -128,7 +130,7 @@ void main()
|
||||
|
||||
|
||||
FINAL ASSEMBLER
|
||||
Score: 103
|
||||
Score: 126
|
||||
|
||||
// File Comments
|
||||
// Tests the different ASM addressing modes
|
||||
@ -147,7 +149,7 @@ Score: 103
|
||||
// main
|
||||
main: {
|
||||
// asm
|
||||
// asm { inx lda#$12 phw#$1234 lda$12 lda$12,x ldx$12,y lda($12,x) lda($12),y ora($12),z lda($12,sp),y lda$1234 lda$1234,x lda$1234,y beqlbl1 lbeqfar bbr0$12,lbl2 lbl1: jmp($1234) lbl2: jmp($1234,x) lbl3: lda(($12)),z ldq(($12)) }
|
||||
// asm { inx lda#$12 phw#$1234 lda$12 lda$12,x ldx$12,y lda($12,x) lda($12),y ora($12),z lda($12,sp),y lda$1234 lda$1234,x lda$1234,y beqlbl1 lbeqfar bbr0$12,lbl2 lbl1: jmp($1234) lbl2: jmp($1234,x) lbl3: ldq($12),z lda(($12)),z ldq(($12)),z stq(($12)) }
|
||||
inx
|
||||
lda #$12
|
||||
phw #$1234
|
||||
@ -169,8 +171,10 @@ main: {
|
||||
lbl2:
|
||||
jmp ($1234,x)
|
||||
lbl3:
|
||||
ldq ($12),z
|
||||
lda (($12)),z
|
||||
ldq (($12))
|
||||
ldq (($12)),z
|
||||
stq (($12))
|
||||
// main::@return
|
||||
// }
|
||||
// [1] return
|
||||
|
Loading…
Reference in New Issue
Block a user