Commit Graph

17 Commits

Author SHA1 Message Date
Andrius Štikonas 85e3b0caef Actually sub esp, 32 is only 3 bytes long, so undo some of the pop rax changes. 2022-07-17 13:53:31 +01:00
Andrius Štikonas bfb164eb68 hex0.S: save another byte when accessing stack contents. 2022-07-17 13:23:18 +01:00
Andrius Štikonas d96dc0e322 hex0.S: optimize setting some immediate values. 2022-07-17 13:13:36 +01:00
Andrius Štikonas e7bd0b67ab hex0.S: Use push rax to allocate stack space instead of sub rsp, 32.
Easier to encode to hex0 and also more efficient for smaller allocations
such as sub rsp, 16.
2022-07-17 12:50:29 +01:00
Andrius Štikonas 1d3ea9e5c0 hex0.S: use r14 to store system->boot->open_protocol rather than system->boot.
Also reuse r14 for rootdir and free up rsi for further optimizations.
2022-07-17 12:30:29 +01:00
Andrius Štikonas f5bae9d646 hex0.S: more stack optimizations.
Pass function arguments with push opcodes which are shorter
than using e.g. "mov qword ptr [rsp+40], 1"
2022-07-17 12:25:27 +01:00
Andrius Štikonas 555caea6c7 hex0.S: move global variables to stack. 2022-07-17 01:48:55 +01:00
Andrius Štikonas 71bca6e471 hex0.S: backport some optimizations from stage0-posix-amd64. 2022-07-16 20:09:53 +01:00
Andrius Štikonas 4afbfc56cc hex0.S: optimize read/write_byte functions. 2022-07-16 01:06:47 +01:00
Andrius Štikonas 3e95bb7d48 hex0.S: use ret rather than calling system->boot->exit() 2022-07-15 23:09:35 +01:00
Andrius Štikonas 9895b0da06 hex0.S: initial working version, still needs some optimizations. 2022-07-15 22:37:45 +01:00
Andrius Štikonas 159d30e184 hex0.S: open source file for reading. 2022-07-15 00:43:57 +01:00
Andrius Štikonas 34060fc7e5 hex0.S: open target file for writing. 2022-07-14 22:55:42 +01:00
Andrius Štikonas 8a344b7275 hex0.S: add argument parsing and open root device. 2022-07-13 22:47:20 +01:00
Andrius Štikonas d0e6bdb758 hex0.S: implement open_protocol function. 2022-07-11 01:27:00 +01:00
Andrius Štikonas 9cb1d5b7f0 hex0.S: print hello world as a test. 2022-07-10 22:11:32 +01:00
Andrius Štikonas 081a890e05 Add a skeleton file for eventual assembly port of hex0. 2022-07-10 16:24:23 +01:00