# Initialize the minimal runtime for Mu programs. # # See translate_mu_baremetal for how this file is used. # # Mu baremetal programs start at a function called 'main' without inouts or outputs. == code # initialize stack bd/copy-to-ebp 0/imm32 # always first run tests (run-tests) (num-test-failures) # => eax # call main if tests all passed { 3d/compare-eax-and 0/imm32 75/jump-if-!= break/disp8 (clear-real-screen) c7 0/subop/copy *Real-screen-cursor-x 0/imm32 c7 0/subop/copy *Real-screen-cursor-y 0/imm32 (main) } # hang indefinitely { eb/jump loop/disp8 }