BB> Hello Denis, been playing with your...
Hi Barry,
BB>;Assembly Language : Denis Boyles 08-Apr-97 1:153/290 :Subj : Bosskey.Asm
BB> ;----------------------------------------------------------------------
BB> ; This version is called SYSREQ.ASM
BB> section 1 of 1 of file sysreq.zip
Program received and decoded fine. Interesting, but it seems to crash more
than run a program. :( I either get a "memory allocation error" and it comes
back ok, or crash city.
It almost worked when I tried COMMAND.COM within MS Backup, until I EXITed
that is. C-R-A-S-H! :) I only took a glimpse at the code for now, just to
acknowledge that I recieved it.
I'll keep you informed of things when I go over it in more detailed. Until
then...
[Captains log, supplemental. :) you said it yourself in the code, INT 2E
will destroy ALL registers except CS:IP. As such it's important so preserve
them all, starting with CS:SS!. Screw up the stack, such as INT 2E does
and C-R-A-S-H! :)
Here's a start, the program when I added this during my MS Backup test.
irst
you'll need some extra variables in the TSR data section.
_SS dw ? ;save the stack segment
_SP dw ? ;save the stack pointer
Then in the INT 2Eh call, add some wraparound code to save and then restore
the stack registers.
ie:
...
push CS
pop DS
mov [_SS],SS ;save the stack regs prior to INT call
mov [_SP],SP
int 2Eh ;call command, stack regs are screwed
push CS
pop DS
mov SS,[_SS] ;restore them back again
mov SP,[_SP]
...
Another thing which seems to be a problem, is the "memory allocation error"
thing. This seems the result of not enough memory to execute the command.
Therefore some memory must be freed so the command can be executed. A
harder task, when you're executing the command from within a program.
Especially if that program is large itself! (I imagine some kind of swaping
system would be in order)]
Kind Regards,
Denis Boyles
... The OFFICIAL tagline of the 1996 Olympics!
___ Blue Wave/QWK v2.12
--- Maximus/2 3.01
---------------
* Origin: Frog Hollow Port Moody BC 604-469-0264/0284 (1:153/290)
|