flat assembler
Message board for the users of flat assembler.

Index > Main > disassembler for fasm?

Goto page Previous  1, 2
Author
Thread Post new topic Reply to topic
vid
Verbosity in development


Joined: 05 Sep 2003
Posts: 7105
Location: Slovakia
vid
i've seen something that due to docs should be great debugger, called 386swat, buti don't have DOS anymore to try it.
Post 03 Sep 2005, 15:14
View user's profile Send private message Visit poster's website AIM Address MSN Messenger ICQ Number Reply with quote
rugxulo



Joined: 09 Aug 2005
Posts: 2341
Location: Usono (aka, USA)
rugxulo
vid wrote:
i've seen something that due to docs should be great debugger, called 386swat, buti don't have DOS anymore to try it.


http://odin.fdos.org/odin2005/odin1440.img (FreeDOS ODIN 0.72 image (Dec.1, 2005: see readme from Beta 9 release 2):

http://www.ibiblio.org/pub/micro/pc-stuff/freedos/files/dos/diskcopy/ (Diskcopy for DOS)
http://uranus.it.swin.edu.au/~jn/linux/rawwrite.htm (Rawrite for Windows, haven't tried it)
http://www.winimage.com/extract.htm (Extract 2.1 -- to get files from the disk image)

http://datalight.com/products/romdos/productdetails_su.php (Datalight DOS single-user, haven't personally tried it)
http://dosbox.sourceforge.net (DOSbox 0.65, not fully compatible but pretty darn good)

http://www.sudleyplace.com (386SWAT 6.06, no source, only for non-commercial use)
http://members.tripod.com/~ladsoft/grdb.htm (GRDB 7.4, has TASM source)

Get ValX (pmode) at same URL for GRDB (real mode, works under Win XP) for symbolic debugging. N.B. ValX crashes for me under DOS if 386SWAT is loaded.
Quote:
- support for MMX instructions and register dump


Use Val or TLink (or others?) for 386SWAT (pmode, won't work under Win XP) for symbolic debugging:
Quote:
It supports disassembly of the full 386, 387, 486, Pentium, and Pentium Pro CPU instruction sets through the Pentium MMX & SSE instructions


This may not be of great help with FASM, but I got it to work with ArrowASM (and other OBJ-making assemblers like NASM should work too: (though I had to declare all my labels and data public, which I did via DEBUGIT.BAT -- hope this helps, sheesh!)).

Code:
@echo off
REM Tested on DR-DOS 7.03 and FreeDOS Odin 0.71
REM w/ VALX 2.21.1.203 w/ GRDB 7.4, HHsed 1.5, and
REM my own TEST.ASM (beta) w/ ArrowASM 2.00c
REM
REM VALX and GRDB (Get Real Debugger): by LadSoft (David Lindauer)
REM http://members.tripod.com/~ladsoft
REM
REM Or, try 386SWAT (Bob Smith)
REM http://www.sudleyplace.com
REM   'debugit test.asm'
REM   'asm /ml test;'
REM   'val /co /nci /map test;'
REM   'devload d:\whatever\386swat.lod SYMSIZE=32000'
REM   'swatrun test.com c:\here\there /n'
REM
REM rugxulo@NOSPAM.PLEASE.bellsouth.net
REM Friday, September 9, 2005   12:07am

if "%1"=="" goto error
if "%SED%"=="" set sed=hhsed

%SED% -n -e "/^[; ]/d;s/\(.*\) [dD][bwdBWD] .*/public \1/p" %1 > mydebug.inc
%SED% -n -e "s/^\([a-zA-Z0-9_][a-zA-Z0-9_]*\):.*/public \1/p" %1 >> mydebug.inc
ren %1 *.del
for %%a in (*.del) do %SED% -e "1{/mydebug/!s/.*/include mydebug.inc\n&/;}" %%a >> %1
erase *.del
echo.

echo 'asm /ml myprog;'
echo 'valx /co /nci /sym myprog;' (or /ex for .EXE)
echo 'grdb myprog.com' (or whatever)
echo.
echo (inside GRDB)
echo '$$$ #' where # = sizeof(mydebug.inc) in hex
echo '$$l myprog.sym'

REM (for 16-bit .COM, we don't need 32-bit regs or instructions)
echo '?o -32 -wr -sc +sk' 

REM .COM files start at 100h
echo 'u ip'

echo.
goto exit

:error
echo.
echo Huh? Where's the .ASM filename??
echo.

:exit
    


Last edited by rugxulo on 13 Jun 2006, 01:02; edited 4 times in total
Post 09 Sep 2005, 05:07
View user's profile Send private message Visit poster's website Reply with quote
FrozenKnight



Joined: 24 Jun 2005
Posts: 128
FrozenKnight
doesnt dos come with an in built debugger (debug)?
Post 09 Sep 2005, 08:39
View user's profile Send private message Reply with quote
shoorick



Joined: 25 Feb 2005
Posts: 1608
Location: Ukraine
shoorick
as i tried debug.exe it still supports only 8086 instruction set (possibly 80286) even in w2k (xp - do not know)
Post 09 Sep 2005, 09:36
View user's profile Send private message Visit poster's website Reply with quote
rugxulo



Joined: 09 Aug 2005
Posts: 2341
Location: Usono (aka, USA)
rugxulo
Yeah, WinXP's is 8086 only. DR-DOS debug allows higher instructions (as does FreeDOS's debug). Neither of those is a symbolic debugger, though.

shoorick wrote:
as i tried debug.exe it still supports only 8086 instruction set (possibly 80286) even in w2k (xp - do not know)


Last edited by rugxulo on 06 Nov 2005, 03:44; edited 1 time in total
Post 09 Sep 2005, 12:59
View user's profile Send private message Visit poster's website Reply with quote
rugxulo



Joined: 09 Aug 2005
Posts: 2341
Location: Usono (aka, USA)
rugxulo
Juras wrote:
ndisasm is a good disassembler, also OpenWatcom C/C++ has its disassembler, which understands .obj files and a good debugger (with MMX, SSE support)...


Code:
@echo off
REM Tested on DR-DOS 7.03 Lite and (partially) WinXP Home SP2
REM rugxulo@NOSPAM.PLEASE.bellsouth.net
REM Monday, September 19, 2005   7:11pm

if not exist cm*.zip if not exist ext*.zip goto usage
if not exist %1.asm goto usage

if "%WATCOM%"=="" set PATH=.\binw;%PATH%
if "%WATCOM%"=="" set WATCOM=.

unzip32 -qqn cm*.zip
unzip32 -qqn ext*.zip

wasm.exe -d3 %1.asm
wlink debug all format dos com file %1.obj name %1.com
wd %1.com %2 %3 %4 %5 %6 %7 %8 %9
goto exit

:usage
echo.
echo  ftp://ftp.openwatcom.org/watcom/zips-1.3/
echo.
echo 1. ( CM_CORE_DOSWIN.ZIP )    867,335   (includes WLINK.EXE, WASM.EXE)
echo 2. ( CM_CORE_ALL.ZIP    )    115,098   ('' WLSYSTEM.LNK)
echo 3. ( CM_DBG_MISC1.ZIP   )    554,522   ('' WD.EXE)
echo 4. ( CM_DBG_ALL.ZIP     )     26,218   ('' CPP.PRS)
echo 5. ( EXT_DOS4GW.ZIP     )    268,440   ('' DOS4GW.EXE)
echo    ======================  1,831,613   (total bytes)
echo.
echo  These files above (at least!) are required.
echo.

:exit
    


EDIT: Bah, just look here for OpenWatcom 1.6 (unless you want 1.3 for some odd reason).


Last edited by rugxulo on 28 Dec 2006, 21:21; edited 1 time in total
Post 20 Sep 2005, 07:29
View user's profile Send private message Visit poster's website Reply with quote
rugxulo



Joined: 09 Aug 2005
Posts: 2341
Location: Usono (aka, USA)
rugxulo
This program will write a disassembly to file (as well as edit the binary, etc):

Biew (Binary vIEW for DOS, OS/2, Win, BSD, Linux) is a free, portable, advanced file viewer with built-in editor for binary, hexadecimal and disassembler modes. It contains a highlight AVR/Java/Athlon64/Prescott/K7-Athlon/Cyrix-M2 disassembler, full preview of MZ, NE, PE, LE, LX.

http://sourceforge.net/project/showfiles.php?group_id=1475

Llama Boy wrote:


also, a few hex editors (free ones) i have seen do it too.



Last edited by rugxulo on 08 Oct 2005, 21:51; edited 1 time in total
Post 25 Sep 2005, 01:23
View user's profile Send private message Visit poster's website Reply with quote
mrpink



Joined: 03 Jun 2005
Posts: 27
Location: Germany
mrpink
The latest version of IDA(4.3) can be downloaded from

ftp://ftp.simtel.net/pub/simtelnet/winxp/progmisc/freeida43.exe
Post 08 Oct 2005, 11:52
View user's profile Send private message Reply with quote
penang



Joined: 01 Oct 2004
Posts: 59
penang
[quote="Matrix"]FASM is not that popular yet to be a disassembler for it.

but you can translate other assembly laguage to FASM,

i know [url=http://www.softpedia.com/get/Programming/Debuggers-Decompilers-Dissasemblers/WDASM.shtml]W32Dasm 8.94[/url] , good debugger and decompiler too.
example download url, ... $75 to buy, free to try[/quote]

The site for the developer of W32DASM, URsoftware, http://members.cox.net/w32dasm/, is invalid.

A google search get this site, www.ursoftware.com as ursoftware, but a check on their product listing at www.ursoftware.com/products.htm doesn't include W32DASM.

Therefore, I am not sure if the new ursoftware is the same as the one producing W32DASM.
Post 21 Oct 2005, 10:24
View user's profile Send private message Reply with quote
Reverend



Joined: 24 Aug 2004
Posts: 408
Location: Poland
Reverend
First, w32dasm is no longer updated so it's better to use IDA -> the current 4.3 freeware version has many interesting functions and imho is a much better choice than w32dasm. Second, if you really want w32dasm try wdism10 (or sth like this) which is a version modified binary by some reverser that has better functionality.
Post 21 Oct 2005, 17:18
View user's profile Send private message Visit poster's website Reply with quote
Display posts from previous:
Post new topic Reply to topic

Jump to:  
Goto page Previous  1, 2

< Last Thread | Next Thread >
Forum Rules:
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum


Copyright © 1999-2020, Tomasz Grysztar. Also on GitHub, YouTube, Twitter.

Website powered by rwasa.