; The OS/K Team licences this file to you under the MIT license. ; See the LICENSE file in the project root for more information. hw = "Hello World" ; ; void main(void) ; ; Entry point ; main: ; Initializes the stack mov rbp, 0x200000 mov rsp, rbp mov ax0, hw call print stop ; ; Max amount of characters that print() will print ; v_print_max := 0xFF ; ; void print(char *) ; ; Print a string ; print: enter mov rcx, v_print_max .p1: test b[ax0], b[ax0] jz .p2 prn b[ax0] inc ax0 loop .p1 .p2: leave ret ; ; void print_n(char *, int) ; ; Print exactly ax1 characters ; print_n: enter mov rcx, ax1 .pn1: prn b[ax0] inc ax0 loop .pn1 leave ret