Interesting decompiler

Jerome H. Fine jhfinedp3k at compsys.to
Mon Dec 11 22:02:18 CST 2006


 >Frank McConnell wrote:

>Fred Cisin wrote:
>  
>
>>On Mon, 11 Dec 2006, Jules Richardson wrote:
>>    
>>
>>>annoyingly, I think that version is too early to support inline assembler,
>>>which makes it less useful for any actual DOS development work :(
>>>      
>>>
>>TurboC 2.0x DOES explicitly support inline assembler.
>>
>>http://bdn.borland.com/article/images/20841/tc20ad.jpg
>>(notice the list of features of TC2.0 in the box at lower left)
>>    
>>
>
>You can write inline assembler in your C source, but the Turbo 2.0x
>compiler can't do the assembly by itself -- it uses Turbo Assembler
>for that.
>  
>
Jerome Fine replies:

I am having difficulty getting the following code assembled
using the watcom assembler.  I understand that TASM will do
much better, but I have not been able to find a copy.  Do
you know if TASM might be able to assemble the following
code and where I might obtain a copy?

=======================================================================

        .radix  8                                               ;?????
        .386                    ;(allow constants over 16 bits)
csr1=   17777100q               ;base CSR address in PDP-11 space;?????
csr2=   4194304d-64d ;17777100q ;base CSR address in PDP-11 space
	.186			;*not* USE32 segments
code	segment	use16 'code'
	assume	cs:code
	.386
start:  retf
shtdwn: retf
wep:    public  wep
        mov     ax,seg dgroup
	retf
data:   mov     ebx,ds:addr     ;get pointer into memory        ;?????
        add     dword ptr ds:addr,2 ;increment address          ;?????
        ret
alowi:  mov     ax,word ptr ds:addr ;fetch value                ;?????
	ret
alowo:  mov     word ptr ds:addr,ax ;save value                 ;?????
	ret
ahighi: mov     ax,word ptr ds:addr+2 ;fetch value              ;?????
	ret
ahigho: mov     word ptr ds:addr+2,ax ;save value               ;?????
	ret
	.186
code	ends
dgroup  group   data                                            ;?????
data	segment	use16 'data'
	.386
	db	16d dup(0)	;task header (LocalAlloc ptrs etc.)
addr    dd      0               ;extended address (forced even) ;?????
	.186
data	ends
	end	start

============================================================================

Sincerely yours,

Jerome Fine




More information about the cctalk mailing list