update PrintInt and change PutString to PutInt

This commit is contained in:
ChenYen-Yen
2024-10-22 16:27:49 +08:00
parent 486f032cf0
commit b18dbf056f
8 changed files with 21 additions and 35 deletions

View File

@@ -37,33 +37,7 @@ int SysCreate(char *filename)
}
void SysPrintInt(int value) {
static char zero[2] = "0";
if (value == 0) {
kernel->synchConsoleOut->PutString(zero);
return;
}
char outputBuf[INT_BUF_LENGTH];
bool isNeg = false;
int curPos = INT_BUF_LENGTH;
outputBuf[--curPos] = '\0';
outputBuf[--curPos] = '\n';
if (value < 0) {
isNeg = true;
value = -value;
}
while (value > 0) {
outputBuf[--curPos] = '0' + (value % 10);
value /= 10;
}
if (isNeg)
outputBuf[--curPos] = '-';
kernel->synchConsoleOut->PutString(&outputBuf[curPos]);
kernel->interrupt->PrintInt(value);
}
OpenFileId SysOpen(char *name) {