Poochiewuddledumpling-Boobledarling
Jump to navigation
Jump to search
Poochiewuddledumpling-Boobledarling is a programming language loosely based on assembly. It was created by two Finnish coders. The first usable beta version came out in July 2009.
Syntax
Descriptions coming soonwho knows when!
mov
add sub mul div rnd
push pop empty inv copy dump
jmp cmp je jne jg jge jng jnge jl jle jnl jnle
call ret
in out
alloc
sys loc col end
Sample programs
Using functions
jmp Main ;Adds 1 to the EAX register Plus: add EAX $1 ret ;Main program Main: call Plus call Plus call Plus ;The ASCII character of 0 is 48 add EAX $48 out 0 EAX ;Print the number out 0 $13 ;Carriage return out 0 $10 ;Newline end
99 bottles of beer
mov EBX $99 jmp Main Print: inv ;Invert the stack Print_Loop: pop EAX ;Take one character from the stack ;Replace _ with space cmp EAX $95 jne Cont mov EAX $32 Cont: out 0 EAX ;Print the character empty EAX ;Check is the stack empty cmp EAX $0 je Print_Loop ;New line out 0 $13 out 0 $10 ret Number: mov ECX EBX cmp ECX $0 jne NotZero dump "no_more" jmp EndNumber NotZero: cmp ECX $10 ;Is less that 10 jl One ;Printed number is greater that 9 mov EDX ECX div EDX $10 mov EAX EDX add EDX $48 push EDX mul EAX $10 sub ECX EAX add ECX $48 push ECX jmp EndNumber ;Printed number is less that 10 One: add ECX $48 push ECX EndNumber: ret Throw_Bottle: call Number dump "_bottles_of_beer_on_the_wall,_" call Number dump "_bottles_of_beer." call Print sub EBX $1 dump "Take_one_down_and_pass_it_around,_" call Number dump "_bottles_of_beer_on_the_wall." call Print ;New line out 0 $13 out 0 $10 ret Main: call Throw_Bottle cmp EBX $0 jne Main dump "No_more_bottles_of_beer_on_the_wall,_no_more_bottles_of_beer." call Print dump "Go_to_the_store_and_buy_some_more,_99_bottles_of_beer_on_the_wall." call Print out 0 $13 out 0 $10 end