www.delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1996/11/20/23:55:10

From: Petteri DOT Kangaslampi AT research DOT nokia DOT com (Petteri Kangaslampi)
Newsgroups: comp.os.msdos.djgpp
Subject: Re: Is there O2S like OBJ2ASM?
Date: 20 Nov 1996 22:47:18 GMT
Organization: Nokia Research Center
Lines: 38
Message-ID: <5701pm$hkv@hauva.research.nokia.com>
References: <Pine DOT LNX DOT 3 DOT 91 DOT 961115151041 DOT 402B-100000 AT hostr DOT bielbit DOT bielsko DOT pl>
NNTP-Posting-Host: nrcph081.research.nokia.com
To: djgpp AT delorie DOT com
DJ-Gateway: from newsgroup comp.os.msdos.djgpp

In article <Pine DOT LNX DOT 3 DOT 91 DOT 961115151041 DOT 402B-100000 AT hostr DOT bielbit DOT bielsko DOT pl>, 
bartosz AT hostr DOT bielbit DOT bielsko DOT pl says...
>I've found that Watcom disassembler (wdisasm) could emit source code in 
>INTEL and AT&T like syntax. I haven't checked AT&T syntax because I've 
>no gas installed.

The code it produces is actually pretty usable. You'll have to do a few 
changes to get it actually compile correctly, but these can be automated with 
sed or similar. We actually use this for MIDAS Sound System Linux version 
mixing routines. The conversion we used is:

	sed -e s/_// -e s/+// -e s/.bss/.lcomm/ -e s/repe/rep\;/ \
	dsmmix.wdisasm > dsmmix.S

(you can try to figure out that one yourself :)

Also, I know that one piece of code gets transformed wrong. If you have a 
pointer to a function in a variable, and want to call that, the resulting AT&T 
assembler code just tries to call the address of the variable. So in effect

	call	[dword pointer]
gets replaced by
	call	pointer

(TASM IDEAL mode syntax). I actually don't know how to implement the first one 
with AT&T syntax assembler. We ended up changing the code to

	mov	eax,[pointer]
	call	eax

Other than that, no major problems, apart from WDISASM being a commercial 
program and part of Watcom C.


Petteri

(Disclaimer: "We" refers to myself and Jarno Paananen, not Nokia)

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019