|
01e14d418a
|
FIX: No longer allow exceeding printf buffer, instead print an error to stdout. Temporary fix
Later, if buffer is full, print current buffer and reset buffer so that there is no limit.
|
2025-06-25 16:23:59 +02:00 |
|
|
e020fb15c1
|
FIX: itoa() not saving rbx
|
2025-06-25 16:23:02 +02:00 |
|
|
3e8bcdeb01
|
Get rid of gcc, adds exit()
|
2025-06-25 14:58:02 +02:00 |
|
|
36d21ca18b
|
Ignore invalid specifiers in printf()
|
2025-06-25 14:40:01 +02:00 |
|
|
5ead6ebdb1
|
Add support for '%%' in printf()
|
2025-06-25 14:21:46 +02:00 |
|
|
1e095bec77
|
Add printf() comment, return length of printed message
|
2025-06-25 13:56:30 +02:00 |
|
|
d0769f6ffc
|
Add support for %c in printf()
|
2025-06-25 13:49:30 +02:00 |
|
|
74178a6a2d
|
FIX: Loading arg from stack to wrong register (rsi->rdi) for %d
|
2025-06-25 13:43:06 +02:00 |
|
|
266cb57d1c
|
Proper SYS V ABI use (don't restore rsi in itoa)
|
2025-06-25 13:31:48 +02:00 |
|
|
f5e1143138
|
Fix issue in printf() with %d --needed to push+pop several registers before/after itoa() call
|
2025-06-25 13:29:26 +02:00 |
|
|
4438abda11
|
Dump current state of printf() (adding %d support), adds itoa()
|
2025-06-25 13:07:18 +02:00 |
|
|
1de7731139
|
printf() comment cleanup
|
2025-06-25 12:12:26 +02:00 |
|
|
3a55212f3e
|
Fix stack usage for printf(), add test
|
2025-06-25 12:00:05 +02:00 |
|
|
7054061734
|
Working '%s' for printf() (args in stack yet untested)
|
2025-06-25 11:42:44 +02:00 |
|
|
855487e857
|
printf() no longer crashes, can print string but now aborts after printing first string
|
2025-06-25 11:31:01 +02:00 |
|
|
dcb2b8acae
|
Start writing printf() D:
|
2025-06-25 11:08:56 +02:00 |
|
|
1969294f02
|
Use direct value for mode in fopen() instead of pointer -- mode is always 1 char so no need to store mode letters in memory
|
2025-06-25 10:15:21 +02:00 |
|
|
692c96512e
|
Return -22 (EINVAL) in fopen() if incorrect mode was supplied
|
2025-06-25 10:09:23 +02:00 |
|
|
06fef96cf4
|
Fix return value comment for fwrite()
|
2025-06-25 10:03:57 +02:00 |
|
|
c4ce3212e7
|
Assure fwrite() and fclose() only work if FD>=3, exit with -9 (EBADF) otherwise
|
2025-06-25 10:02:59 +02:00 |
|
|
3cbf9e8ce0
|
Fix file.asm return value comments
|
2025-06-25 09:56:40 +02:00 |
|
|
fbea8d0322
|
Adds fopen(), fwrite(), fclose()
|
2025-06-25 09:38:42 +02:00 |
|
|
9d265e3db6
|
Fix strcmp()
|
2025-06-25 08:35:25 +02:00 |
|
|
6df67b18f4
|
Improve todo/fix comment for strcmp
|
2025-06-24 19:08:00 +02:00 |
|
|
7dd7217e08
|
Improved test message (msgStrcmp)
|
2025-06-24 19:07:30 +02:00 |
|
|
6cb90256e7
|
Fix return value comment for strlclr()
|
2025-06-24 19:00:43 +02:00 |
|
|
354024c1b7
|
Rewrite tests (most accidentally done in previous commit), add TODO (bugfix) in strcmp()
|
2025-06-24 18:45:17 +02:00 |
|
|
e2de729a87
|
Adds strclr() and strlclr()
|
2025-06-24 18:29:18 +02:00 |
|
|
46051d0082
|
FIX: strcat() returning wrong address
|
2025-06-24 17:53:56 +02:00 |
|
|
035f3baabf
|
Restore NL in console.asm -- syscall 1 requires mem addr, not constant 0xA
|
2025-06-24 17:02:49 +02:00 |
|
|
2005adf25f
|
Use NL/EOS instead of 10/0, use constants.asm for global constants
|
2025-06-24 16:34:06 +02:00 |
|
|
e48e91630e
|
Fix test msg/comment (size for strlcpy 8=>5)
|
2025-06-24 15:54:32 +02:00 |
|
|
e620754b13
|
Adds strlcpy()
|
2025-06-24 15:53:24 +02:00 |
|
|
d3e7f47259
|
Store rcx to r11 instead of stack in tolower()/toupper() tests
|
2025-06-24 15:08:54 +02:00 |
|
|
f10b2f3c88
|
Save/restore rdi to r10 instead of stack in strcat(),puts()
|
2025-06-24 15:06:21 +02:00 |
|
|
f4162ed21a
|
(alternative) strcmp()
|
2025-06-23 17:46:42 +02:00 |
|
|
63552b3c64
|
Allow enabling/disabling tests
|
2025-06-23 17:16:24 +02:00 |
|
|
84264e7f5a
|
Test toupper() and tolower() for entire string
|
2025-06-23 17:10:56 +02:00 |
|
|
6463c3711a
|
FIX: Return value of strcpy()
|
2025-06-23 16:28:05 +02:00 |
|
|
2e7a7c7b5f
|
Fix: EOS not copied to dest in strcpy()
|
2025-06-23 16:21:21 +02:00 |
|
|
d718f1ff1d
|
Don't zero rax in tolower/toupper; they both call islower/isupper which already zeroes rax
|
2025-06-23 15:59:40 +02:00 |
|
|
acd0afbeba
|
Fix jumps in tolower/toupper; .dtu/.dtl would always be reached.
|
2025-06-23 15:55:38 +02:00 |
|
|
3ec591aab4
|
tolower(), toupper()
|
2025-06-23 15:47:05 +02:00 |
|
|
ed83e83885
|
Set rax to original rdi in strcat() (make sure dest pointer is returned)
|
2025-06-23 15:35:41 +02:00 |
|
|
0ee1142b75
|
Add null terminator to dest in strcpy()
|
2025-06-23 15:32:40 +02:00 |
|
|
e92afdb199
|
Remove unneeded saving of rdi in strcpy()
|
2025-06-23 15:30:39 +02:00 |
|
|
26c150cec0
|
Remove unneeded saving of rdi in strcat()
|
2025-06-23 15:27:02 +02:00 |
|
|
4aee0916db
|
Remove unneeded saving of rdi in print()
|
2025-06-23 15:25:10 +02:00 |
|
|
c798157fd8
|
Use conditional moves in max[u]()/min[u]()
|
2025-06-23 15:24:30 +02:00 |
|
|
3a7b0b5cda
|
Add clean to makefile
|
2025-06-23 15:14:56 +02:00 |
|