i just realized this processor spec has no way to jump purely based on equality, only greater-or-equal and less-than

i mean i guess you can simulate not-equal by doing one and then doing the other and anything that comes after assumes the value isn't equal

but

@typhlosion there's seriously no "branch when the zero flag is set"??

@typhlosion *still yelling* HOW DO YOU CHECK FOR GTE AND LT??! WHAT ALU FLAGS DO YOU EVEN SUPPORT?

@typhlosion shhh shhh *cuddles* it'll be okay... *pets you gently* *holds you tightly* *whispers* seriously though, what flags are in your flags register...

@Fuego i don't have a flags register - it's based vaguely on MIPS, which also doesn't have a flags register

@typhlosion ok but like the mips ALU still passes you back at least carry, overflow, and zero... its okay. It was a hobby. And you're cute. So I wont do anything hasty.

Follow

@Fuego i mean the jump opcode still has plenty of opcodes paired with it that are as yet invalid; i could stuff a jez in there

@Fuego okay what i really mean is that the first hexit of an (always 16-bit) instruction is the opcode; some instructions treat the last hexit as a sub-opcode so i can get more instructions in there that only need two register parameters or such

@Fuego i don't put personal stuff on github until i have shown it to work

@Fuego well it's basically just that i don't want to put my terrible code into the public and open it to unsolicited feedback until it has at least passed some modicum of quality control

@typhlosion I'm just thinking you have to have some space in instructions where certain operands don't make sense to consider those a branch on zero even if it takes no args and always jumps to a specific register. But I think you will want that more than many other things

@typhlosion I'd have to see your decoding table to give you a good example

@Fuego maaan am i gonna have to send you my spec ;__; i'm embarraaaassed

@typhlosion @Fuego She can be gentle. She's a damned fine teacher.

Me, I'm just throwing all my crappy code on github as I write it, warts and no-tests and all because I do my coding on a personal VM I don't trust not to get corrupted 'cause I'm terrible about "oh, yeah, I should update ALL THE THINGS AT ONCE" and then I can't boot the thing and have to reinstall it.

@typhlosion you're designing and implementing your own processor. Thats like being embarrassed that you went to the moon but your rocket was painted ugly colors.

Sign in to participate in the conversation
Awoo Space

Awoo.space is a Mastodon instance where members can rely on a team of moderators to help resolve conflict, and limits federation with other instances using a specific access list to minimize abuse.

While mature content is allowed here, we strongly believe in being able to choose to engage with content on your own terms, so please make sure to put mature and potentially sensitive content behind the CW feature with enough description that people know what it's about.

Before signing up, please read our community guidelines. While it's a very broad swath of topics it covers, please do your best! We believe that as long as you're putting forth genuine effort to limit harm you might cause – even if you haven't read the document – you'll be okay!