diff --git a/src/isr/isr_types.pas b/src/isr/isr_types.pas index e1e6ab05..2a1cd9f2 100644 --- a/src/isr/isr_types.pas +++ b/src/isr/isr_types.pas @@ -20,10 +20,10 @@ type EDX : uint32; ESI : uint32; EDI : uint32; - DS : uint32; - ES : uint32; - FS : uint32; - GS : uint32; + DS : uint16; + ES : uint16; + FS : uint16; + GS : uint16; end; PInterruptRegisters = ^TInterruptRegisters; @@ -63,10 +63,10 @@ procedure correctInterruptRegisters(Errorcode : boolean); begin if IntReg <> nil then begin If errorcode then begin - IntSpec:= PInterruptSpecialRegisters(uint32(IntReg) + uint32(SizeOf(TInterruptRegisters)) + uint32(Sizeof(TError))); - IntErr:= PError(uint32(IntReg) + uint32(sizeof(TInterruptRegisters))); + IntSpec:= PInterruptSpecialRegisters(uint32(IntReg) + sizeof(TInterruptRegisters) + uint32(4)); + IntErr:= PError(uint32(IntReg) + sizeof(TInterruptRegisters)); end else begin - IntSpec:= PInterruptSpecialRegisters(uint32(IntReg) + uint32(SizeOf(TInterruptRegisters))); + IntSpec:= PInterruptSpecialRegisters(uint32(IntReg) + sizeof(TInterruptRegisters)); IntErr:= PError(@ZeroError); end; end; diff --git a/src/isr/isrmanager.pas b/src/isr/isrmanager.pas index f8822d20..9e39897c 100644 --- a/src/isr/isrmanager.pas +++ b/src/isr/isrmanager.pas @@ -76,7 +76,8 @@ end; procedure ISR_3; interrupt; begin asm - MOV IntReg, EBP end; + MOV IntReg, EBP + end; ISR_N(3); end; diff --git a/src/kernel.pas b/src/kernel.pas index ebcdb279..0a2a0f5b 100644 --- a/src/kernel.pas +++ b/src/kernel.pas @@ -202,9 +202,6 @@ begin { Filsystems } fat32.init(); - i:= 0; - i:= i div i; - { Device Drivers } tracer.push_trace('kmain.DEVDRV'); console.outputln('KERNEL', 'DEVICE DRIVERS: INIT BEGIN.');