flat assembler
Message board for the users of flat assembler.
Index
> DOS > Disassembler Instructions VS. Hex'ed Instructions? |
Author |
|
revolution 25 Dec 2013, 02:07
This is probably a relocation place holder. The value 0xFFFF has no meaning and the actual value is placed by the OS loader at program start-up.
But if this is something else (we don't know since you never gave us any code) then you would need to look deeper and see what is really going on with a debugger. |
|||
25 Dec 2013, 02:07 |
|
rytz 25 Dec 2013, 02:28
revolution wrote: This is probably a relocation place holder. The value 0xFFFF has no meaning and the actual value is placed by the OS loader at program start-up. Thanks for the reply. I'm using IDA for disassembling but I'm having problems getting access to the IDA forums or I would have posted this there. This is an older program that I am trying to run and don't have access to any source code. I feel thankful just to at least have a working version of the DLL (older version 1). The newer version of the DLL provides some features that I would like to have though. I can paste a bigger snippet of the disassembled code but the DLL itself is almost a 1MB so the complete disassembled code is lengthy. V1 (working): Code: cseg02:172E public _SAVE cseg02:172E _SAVE proc far cseg02:172E cseg02:172E cseg02:172E var_4 = dword ptr -4 cseg02:172E arg_0 = word ptr 6 cseg02:172E cseg02:172E enter 4, 0 cseg02:1732 push si cseg02:1733 push di cseg02:1734 push ds cseg02:1735 mov ax, seg dseg32 cseg02:1738 mov ds, ax cseg02:173A assume ds:dseg32 cseg02:173A push [bp+arg_0] V2 (non-working): Code: cseg25:35A8 public _SAVE cseg25:35A8 _SAVE proc far cseg25:35A8 cseg25:35A8 cseg25:35A8 var_4 = dword ptr -4 cseg25:35A8 arg_0 = word ptr 6 cseg25:35A8 cseg25:35A8 enter 4, 0 cseg25:35AC push si cseg25:35AD push di cseg25:35AE push ds cseg25:35AF mov ax, seg dseg66 cseg25:35B2 mov ds, ax cseg25:35B4 assume ds:dseg66 cseg25:35B4 push [bp+arg_0] Since this is a DOS-Based 16-bit application, I've been having to run this program under DOSBox. This program also uses the PharLap extender. The only debugger that I've gotten to execute the parent EXE file is DEBUGX. DOSBox's own debugger and GRDB both crash or freeze the program. I'm still having a hard time getting a breakpoint to even stick, though. If this is some type of relocation, any other suggestions on how to attempt changing the data that is used for B8? |
|||
25 Dec 2013, 02:28 |
|
revolution 25 Dec 2013, 02:37
That code you posted doesn't help us in any way.
If you are 100% certain that the problem is that the wrong segment is being referenced then you can alter the DLL file's relocation table to make it any segment you want. I suspect the actual problem is elsewhere from what you think it is. It would be very unlikely that an incorrect segment is being used in this type of situation. |
|||
25 Dec 2013, 02:37 |
|
baldr 25 Dec 2013, 07:32
rytz,
You may host relevant files somewhere and post link. |
|||
25 Dec 2013, 07:32 |
|
< Last Thread | Next Thread > |
Forum Rules:
|
Copyright © 1999-2024, Tomasz Grysztar. Also on GitHub, YouTube.
Website powered by rwasa.