Groups | Search | Server Info | Login | Register


Groups > comp.lang.pascal.borland > #244

Re: Turbo Pascal 6.0 editor sources

From Robert Prins <robert@prino.org>
Newsgroups comp.lang.pascal.borland
Subject Re: Turbo Pascal 6.0 editor sources
Date 2025-08-20 22:21 +0000
Organization A noiseless patient Spider
Message-ID <10857e4$gk9r$1@dont-email.me> (permalink)
References <1084n25$cou9$1@dont-email.me>

Show all headers | View raw


On 2025-08-20 14:45, Noon wrote:
> Hello community,
> 
> I just wanted to let you know that the Internet recovered the sources of Turbo 
> Pascal 6.0. I haven't tried to compile them yet, but they look complete: 
> https://archive.org/details/tpascal
> 
> What's interesting is that the compiler contains an opcode generator for x86 
> assembly commands - which potentially could pave the way to extend the 
> integrated assembler by 386 commands or above.
> 
> I hope that Borland Pascal 7 will appear at some point as well, as this would 
> open up the world for the community to extend their favourite compilers!

I've had these for probably two or more decades. Also never tried to 
recompile/reassemble them, but I did (and still do, somewhere...) have a program 
to actually modify the builtin BASM hash table to include some 386(+) 
instructions, but using 386(+) code is also possible using const's to define 
opcodes and use them via db/dw/dd. Extending the assembler to actually handle 
the new addressing modes of 386(+) instructions will probably be pretty hard.

It would be far more useful to have the source for Virtual Pascal, and work with 
that one, although given that that compiler is also written in pretty much 
uncommented x86 assembler (now how do I know that...), it will be just as hard, 
but probably far more useful, right now I'm using it with lots of db/dw/dd codes 
post Pentium instructions, like (wrapping lines)

{ cmovg   edi, eax                                 }  db $0f,$4f,$f8
{ cmovg   edi, esi                                 }  db $0f,$4f,$fe
{ movq    [ebx + offset lift_list.sum.km], mm0     }  db $0f,$7f,$83; dd offset 
lift_list.sum.km
{ movq    mm0, sum.km                              }  db $0f,$6f,$05; dd offset 
sum.km
{ movq    sum.km, mm0                              }  db $0f,$7f,$05; dd offset 
sum.km
{ paddd   mm0, [ebx + offset lift_list.dtv.km]     }  db $0f,$fe,$43,offset 
lift_list.dtv.km
{ vmovdqu [eax + ecx], ymm0                        }  db $c5,$fe,$6f,$04,$08
{ vmovdqu [edi + 32], ymm1                         }  db $c5,$fe,$7f,$4f,32
{ vmovdqu [edi + eax], ymm0                        }  db $c5,$fe,$7f,$04,$07
{ vmovdqu [edi],      ymm0                         }  db $c5,$fe,$7f,$07
{ vmovdqu [edx + offset minmax.max.km], xmm0       }  db $c5,$fa,$7f,$42,offset 
minmax.max.km
{ vmovdqu swaits, ymm0                             }  db $c5,$fe,$7f,$05; dd 
offset swaits
{ vmovdqu xmm0, [edx + offset minmax.min.km]       }  db $c5,$fa,$6f,$42,offset 
minmax.min.km
{ vmovdqu ymm0, [esi + eax]                        }  db $c5,$fe,$6f,$04,$06
{ vmovdqu ymm0, [esi]                              }  db $c5,$fe,$6f,$06
{ vmovdqu ymm1, [esi + 32]                         }  db $c5,$fe,$6f,$4e,32
{ vpmaxsd xmm0, xmm0, [ecx + offset minmax.max.km] }  db 
$c4,$e2,$79,$3d,$41,offset minmax.max.km
{ vpminsd xmm0, xmm0, [ecx + offset minmax.min.km] }  db 
$c4,$e2,$79,$39,$41,offset minmax.min.km
{ vpxor   xmm0, xmm0, xmm0                         }  db $c5,$f9,$ef,$c0

generating the byte-code via <https://defuse.ca/online-x86-assembler.htm>

Robert
-- 
Robert AH Prins
robert(a)prino(d)org
The hitchhiking grandfather - https://prino.neocities.org/
Some REXX code for use on z/OS - https://prino.neocities.org/zOS/zOS-Tools.html

Back to comp.lang.pascal.borland | Previous | NextPrevious in thread | Next in thread | Find similar


Thread

Turbo Pascal 6.0 editor sources Noon <noon@gmx.de> - 2025-08-20 16:45 +0200
  Re: Turbo Pascal 6.0 editor sources Robert Prins <robert@prino.org> - 2025-08-20 22:21 +0000
    Re: Turbo Pascal 6.0 editor sources Noon <noon@gmx.de> - 2025-08-30 22:41 +0200
      Re: Turbo Pascal 6.0 editor sources Robert Prins <robert@prino.org> - 2025-09-01 18:45 +0000

csiph-web