Preserve si and di for strategy handlers.
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@535 6ac86273-5f31-0410-b378-82cca8765d1b
This commit is contained in:
parent
4dcb3f332c
commit
ec8b97be38
@ -57,8 +57,15 @@ segment _TEXT
|
|||||||
mov ax, [si+6] ; construct strategy address
|
mov ax, [si+6] ; construct strategy address
|
||||||
mov [bp+8], ax
|
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
|
call far[bp+8] ; call far the strategy
|
||||||
|
|
||||||
|
pop di
|
||||||
|
pop si
|
||||||
|
|
||||||
|
|
||||||
mov ax,[si+8] ; construct 'interrupt' address
|
mov ax,[si+8] ; construct 'interrupt' address
|
||||||
mov [bp+8],ax ; construct interrupt address
|
mov [bp+8],ax ; construct interrupt address
|
||||||
call far[bp+8] ; call far the interrupt
|
call far[bp+8] ; call far the interrupt
|
||||||
|
Loading…
Reference in New Issue
Block a user