H̱
Jump to navigation
Jump to search
- Not to be confused with h.
H̱ is a variant of Chicken created by User:TheCanon2. The only valid symbols in H̱ are h, H, ẖ, and H̱, the latter two are only used to indicate the beginning of an operation.
Memory model
The memory model of H̱ is identical to the memory model in Chicken.
Commands
Opcode | Command | Action |
---|---|---|
0 | ẖ | Halts the program |
1 | H̱ | Pushes the string "H̱" to the stack |
2 | H̱h | Add two top stack values |
3 | H̱H | Subtract two top stack values |
4 | H̱hh | Multiply two top stack values |
5 | H̱hH | Compare two top stack values for equality and push truthy or falsy result to the stack |
6 | H̱Hh | Next instruction indicates source to load from. ẖ loads from stack, H̱ loads from user input. Top of stack indicates address/index to load to stack
|
7 | H̱HH | Top of stack points to address/index to store to. The value below that will be popped and stored |
8 | H̱hhh | Top of stack is a relative offset to jump to. The value below that is the condition. Conditional jump |
9 | H̱hhH | Pop x from stack and push &#x;
|
10+ | Push the number n-10 to the stack |
The Chicken opcodes are converted into binary in which 0 is h and 1 is H, with the lined h or H marking the beginning of the binary value.
Opcode 1 pushes the string "H̱" instead of the string "chicken" for no reason other than to allow for a quine.
Examples
Hello, World!
H̱hHhhH̱hHhhH̱hhH̱hhHH̱hHHH̱HHH̱hHhH̱hhhhH̱hhhhH̱hhH̱HH̱hHhH̱hhhHH̱HH̱hHhH̱hHhH̱HhHH̱hHHH̱HhhH̱HhẖH̱HH̱HHhH̱hh H̱hHhHH̱HhHH̱hhhhH̱hHhH̱HHHH̱HhHH̱HhẖH̱hhH̱hhHhH̱hH̱hH̱hhHH̱hHHH̱HhẖH̱hH̱hHHH̱HHH̱HhhH̱HhẖH̱HhhH̱HH̱HhhH̱HHH̱Hhh H̱HhẖH̱hHhH̱hhHHHH̱HH̱hhhH̱hHHH̱Hh
Quine
H̱
Cat
H̱hHHH̱Hhẖ
A+B problem
H̱hHhH̱HhH̱H̱hHhH̱HH̱HhhH̱HhH̱H̱hHhH̱HH̱h