>Human Resource Machine
Discuss
Human Resource Machine
A great way to teach assembly to children and teenagers.
glad to hear that.
How closely does it resemble assembly? What are the main similarities and the main differences?
It's basically some RISC variant with changed up names.
It's a lot of fun. I only wish they gamified it a bit more. Compared to stuff like SpaceChem or TIS-100 there's not a whole lot the dev actually does with it but it's still really satisfying.
the instruction set looks extremely limited
is there an actual set that resembles this one? or did they just make up a very limited one just for the purpose of playability?
Hell if I know, never played it.
That picture might be on the earlier levels/easy mode for all I know.
Later in the game you get the ability to store memory addresses. Besides that there's also addition and bump +. As far as I can remember that's all the instructions you get.
reeee
The lines are rather muddy, but it's really more a CISC than a RISC, the way ADD, SUB, BUMP+, and BUMP- work directly with memory locations.
The instruction set is limited, but so is the set of problems you're asked to complete. You're never asked to do anything that the instruction set just can't handle.
Here are the instructions I have access to so far:
>>inbox
reads a symbol from >in
>outbox>
writes a symbol to out>
>copyfrom
can copy values or addresses
>copyto
can copy values or addresses
>add
adds what you're holding (the register) to what's on the floor (memory)
>sub
similar to add
>bump+
increments
>bump-
decrements
>jump
gotogoto
>jump_if_zero
only if value in register is zero
>jump_if_negative
only if value in register is negative
Is it turing-complete?
Does ANYONE in Sup Forums even know what "turing-complete" means? kek
now that's a good pair of questions
mathworld.wolfram.com
Implement an ALU with those functions, implement some memory, implement registers inbetween those, implement a control unit. However you set up the input, the input will go to the control unit based on which command is sent with what paramaters, which will send the aforementioned to the ALU/memory, where logic will be done and sent back to the control unit to the output.
That's a very rough example of what a CPU does. ASM is just a human-readable representation of that.
Is my post turing-complete? :^)
The only thing you don't have yet is the indirect addressing modes for copyfrom, copyto, add, sub, bump+, bump-.
Like most things, it's not, but would be if all of the relevant quantities could be infinite. It would need infinite values in registers (so indirect addressing could work anywhere), an infinite memory size, and an infinite instruction count.
I forgot to mention you can do some compare shit with two's complement with the ALU, as well as either have a dedicated multiply/divide unit or have it pass through the ALU on a loop several times for a similar effect.
TIS 100 is better.
Oh, and bit shift. I completely forgot about that. I love ALU's. Read this I'll stop spamming the thread with my love of ALU's: en.wikipedia.org
Very interesting, thank you.
TIS-100 is great. Microcomputers were never a thing where I lived, so being able to simulate finding some unknown machine and figuring out how it works was a lot of fun.
my girlfriend played a lot of that game
>my girlfriend knows more about assembly than I do
so, anybody here play this game?