Sync push

This commit is contained in:
Sylar 2025-10-23 14:19:20 +02:00
parent 9a9de088c6
commit b18c12b451
7 changed files with 10 additions and 4 deletions

View file

@ -3,8 +3,7 @@
{
"name": "Linux",
"includePath": [
"${default}",
"${workspaceRoot}/../omnia-framework/src"
"${default}"
],
"defines": [],
"compilerPath": "/usr/bin/clang++",

Binary file not shown.

View file

@ -28,7 +28,7 @@ _kernel0_main:
push $test_str
push 1
call $_print_string
debug_break
## debug_break
mov [$cursor_x], 0

View file

@ -24,6 +24,7 @@
SCREEN_WIDTH { MemoryAddresses.CMOS + 0x0007 }
SCREEN_HEIGHT { MemoryAddresses.CMOS + 0x0009 }
BOOT_DISK { MemoryAddresses.CMOS + 0x0010 }
STACK_SIZE { MemoryAddresses.CMOS + 0x0011 }
DISK_LIST { MemoryAddresses.CMOS + 0x007E }
@end
## --

View file

@ -15,4 +15,4 @@ printf "\n"
cp dragon/disk1.dr ../extra/dragon/disk1.dr
rm dragon/kernel0.bin
# rm dragon/kernel0.bin

View file

@ -1605,6 +1605,11 @@ namespace dragon
int32_t Debugger::normal_runtime(bool& outUserQuit)
{
bool result = DragonRuntime::runStep(data().trackedAddresses);
if (Utils::isBreakPoint((uint16_t)DragonRuntime::cpu.readRegister(data::Registers::IP)))
{
data().args.step_exec = true;
return step_execution(outUserQuit, false);
}
bool hasError = DragonRuntime::hasError();
bool enableStepExec = !result || hasError || Utils::isEscapeKeyPressed() || DragonRuntime::cpu.isInDebugBreakPoint();
data().args.step_exec = enableStepExec;

View file

@ -827,6 +827,7 @@ namespace dragon
int16_t arg_data = m_memory.read16(pp_val);
writeRegister16(data::Registers::PP, pp_val - 2);
writeRegister16(regAddr, arg_data);
std::cout << ostd::Utils::getHexStr(readRegister(data::Registers::IP), true, 2) << "\n";
}
break;
case data::OpCodes::RetInt: