From 86384b76a3d08941b63b1622a8190efa924ce8ac Mon Sep 17 00:00:00 2001 From: raxracks Date: Sat, 27 Jan 2024 14:13:33 +1300 Subject: [PATCH] a --- emulator | Bin 25728 -> 25800 bytes emulator.c | 7 +++++++ hello | Bin 11 -> 49 bytes hello.asm | 32 +++++++++++++++++++++++++++----- hello.o | Bin 315 -> 568 bytes temp.asm | 9 +++------ 6 files changed, 37 insertions(+), 11 deletions(-) diff --git a/emulator b/emulator index 6e2b7944db3bf60d34f3305ee3736a2c40abd663..bd7e0672d80ba2b6e135d2e87d1ffbe64b6443f8 100755 GIT binary patch delta 6614 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 delta 6433 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 diff --git a/emulator.c b/emulator.c index a127071..565ab09 100644 --- a/emulator.c +++ b/emulator.c @@ -44,6 +44,13 @@ int main(int argc, char** argv) { printf("%d: 0x%02X (h_nib: 0x%X, l_nib: 0x%X)\n", cpu.PC, opcode, h_nib, l_nib); switch(h_nib) { + case 0x0: + switch(l_nib) { + case 0x0: + printf("%c", cpu.A); + break; + } + break; case 0x8: switch(l_nib) { case 0x1: diff --git a/hello b/hello index 1a3c4f88c560e9297e5ec7bffec4759c39b1fc5d..91e08f763e8b782696067c12989e944a24bceec5 100644 GIT binary patch literal 49 YcmZ3)uvfEz;RRtLBQ+-{KPHa>03ZYv2><{9 literal 11 ScmZ3$vWT@sV2VHwg8%>(!2=)w diff --git a/hello.asm b/hello.asm index 3de943c..d02624e 100644 --- a/hello.asm +++ b/hello.asm @@ -1,5 +1,27 @@ -LDY #%00000100 -LDX #$5 -STY $10 -STY $10, X -STY $1000 +LDX #0 +LDA hello, X +BRK +INX +LDA hello, X +BRK +INX +LDA hello, X +BRK +INX +LDA hello, X +BRK +INX +LDA hello, X +BRK +INX +LDA hello, X +BRK +INX +LDA hello, X +BRK +INX +LDA hello, X +BRK + +.DATA +hello: .byte "hello\n", 0 diff --git a/hello.o b/hello.o index d076a5db78fb32ee4d1564d4493c1e35a8ffe6df..2858793c84085e7bea9860c151289e4dec3b1c73 100644 GIT binary patch literal 568 zcmXYuyG{a85Qb+CyUQ*YxnGRUwiXgE5iLa_6cRC9ER2Z|Tq6l$3|16I<3rfnSlQX~ z1~$Hem6gxn|8GckzM1pwY-Vz{Kc5aWA~HaDh%v%N+#~)Fmnwos2FpA|HaK4)KO+Ai z_mHcQC}jjN?=8>9n1kon?+-`y>G(7FQs*6SZCO|2i+K|@q6@WRFA=ryp%z7dHB0Bv zIdo;ZBwdOwMHivV&?y~^Xo4qs!5i9IT4K zj;x|#RYc{AtHwz5CYVg_E~Z*wcY!^)LhQmS7Ivc$S#sXb9jl8=g}sz#0tT` zAq9e?Btc-bNSffkktBfuA{J31Qp6e&A<6{zz+5lfvof6BmPf&+1mFv{O0(< w4@Ni9Voo5=1Y&j|E&$>fAU*@cj6i%AN}mJLOh9}Qh^2t|H4ys&u_aIu zNZkb>2GLefJ`)p@!?}+a*0M1&p0(JLYQm-plw@JxW@KVzU|PTeRK>K2m64HwsYQU1 zg@I{`03$O4a}R?6BNH1?AuG@@CI%1-h@mW?>!2(SAd3+!3v@Y93=CL7wu7Ar(haf; z2$(?x7XxQTYEDkRUSe^sL~^2;sX~~Mo}q<;u7Z1Ji9%{}s+n<`0jpkdW>qSSv%iZg iTadqtV~8WOQ*bZ~h`|x%8ss0~= diff --git a/temp.asm b/temp.asm index 136b5a0..6cef098 100644 --- a/temp.asm +++ b/temp.asm @@ -1,6 +1,3 @@ -LDA hello, X -INX -LDA hello, X - -.DATA -hello: .byte "hello world", 0 +LDA #10 +LDX #$10 +LDY #%10