home bbs files messages ]

Forums before death by AOL, social media and spammers... "We can't have nice things"

   comp.lang.pascal.borland      Borland Pascal was actually pretty neat      2,978 messages   

[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]

   Message 2,968 of 2,978   
   Robert Prins to Noon   
   Re: Turbo Pascal 6.0 editor sources   
   20 Aug 25 22:21:41   
   
   From: robert@prino.org   
      
   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    
      
   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   
      
   --- SoupGate-Win32 v1.05   
    * Origin: you cannot sedate... all the things you hate (1:229/2)   

[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]


(c) 1994,  bbs@darkrealms.ca