diff --git a/kernel/execrh.asm b/kernel/execrh.asm index cbd8952..1bb8545 100644 --- a/kernel/execrh.asm +++ b/kernel/execrh.asm @@ -57,8 +57,15 @@ segment _TEXT mov ax, [si+6] ; construct strategy address mov [bp+8], ax + push si ; the bloody fucking RTSND.DOS + push di ; driver destroys SI,DI (tom 14.2.03) + call far[bp+8] ; call far the strategy + pop di + pop si + + mov ax,[si+8] ; construct 'interrupt' address mov [bp+8],ax ; construct interrupt address call far[bp+8] ; call far the interrupt