View Single Post
  #1  
Old 10-28-2006, 12:15
Zest
 
Posts: n/a
How to use EXECUTE interrupt?

Hi,
This is the interrupt I want to use.
But I don't know what DS: DX should point to.

What's "DS: DX = pointer to an ASCIIZ filename" ?
Is there anybody who can explain and let me know what ASCIIZ filename is?


Quote:
*************************************
INT 21,4B - EXEC/Load and Execute Program

AH = 4B
AL = 00 to load and execute program
= 01 (Undocumented) create program segment prefix and load
program, but don't execute. The CS:IP and SS:SP of the
program is placed in parameter block. Used by debuggers
= 03 load program only
= 04 called by MSC spawn() when P_NOWAIT is specified
DS: DX = pointer to an ASCIIZ filename
ES:BX = pointer to a parameter block

*************************************
Also here is another code.


Code:
pushad
mov     eax, cr0
push    eax
and     eax, 0FFFEFFFFh
mov     cr0, eax

;/////PUT PATCH CODE HERE/////

pop     eax
mov     cr0, eax
popad
Usng this code cause an exception in the program.
How can I apply this code withput getting any exception?
Also does changing the behaviour of CR0 register cause any problem for other programs or not?
I mean is this register global for all processes or is it just for the process that I'm running and changing CR0 in it?


Thanks in advance.
Regards,
Zest.
Reply With Quote