[Info-vax] VAX Macro to C conversion

Stephen Hoffman seaohveh at hoffmanlabs.invalid
Tue Jul 23 18:38:40 EDT 2019


On 2019-07-21 12:16:50 +0000, Simon Clubley said:

> On 2019-07-20, Robert A. Brooks <FIRST.LAST at vmssoftware.com> wrote:
>> On 7/20/2019 8:40 AM, Dave Froble wrote:
>>> 
>>> Just what in the Basic language, as implemented in VAX/DEC Basic is 
>>> worse for OS work?
>> 
>> The lack of a native pointer type and the lack of unsigned integers.

An alternative to the use of the user-mode heap for string storage 
would have to be provided, too.

Ways to implement barriers and flushes and probes and related calls, too.

Whether an asm()-like mechanism or built-ins added or otherwise.

Lack of 64-bit support, too.

>> Yeah, you can work around it, but it's more than just a pain in the neck.
>> 
>> I've written a rudimentary disk defragger in BASIC, just for the challenge.

Most of that defragger could be implemented in user mode using 
IO$M_MOVEFILE, too.

Though with the trend toward SSDs and away from HDDs, IO$M_MOVEFILE and 
defragmentation seems headed toward the same place as went drive 
storage geometry, and cylinder, head, and sector (CHS) addressing.

>> It was "fun" to do, but why use a hammer when the correct tool is a ruler.

A ruler?  Imperial or metric?  {spacecraft impacts planet}  Ah, nevermind.  😜

Where BASIC is hopefully and probably best headed both for its current 
and its future users is away from what would work well for inner-mode 
programming, too.

> Also, will the Basic RTL work in _any_ of the inner modes ?

None of the user-mode RTLs are intended for nor supported for 
inner-mode usage, AFAIK.  That's not well documented, though.

AFAIK, Bliss, Macro32, Macro64, IAS, and C—with the kernel C 
library—have been the intended and supported programming languages for 
inner-mode work.


Semi-related topics:

Here is an overview of a few of the considerations that arise in system 
and event-driven code:

https://sites.google.com/site/embeddedmonologue/home/c-programming/reentrancy-thread-safe-asynchronous-signal-safe-interrupt-safe-and-cancellation-safe 



-- 
Pure Personal Opinion | HoffmanLabs LLC 




More information about the Info-vax mailing list