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