::SHE+ILA:: Integers and Assembler Optimizations [$8F] (updated)

13
1
  • Squishy Plushie's avatar Artist
    Squishy Pl...
  • DDG Model
    DaVinci2
  • Access
    Public
  • Created
    3w ago
  • Try

Prompt

A beautiful purple-haired woman wearing a long purple velvet ankle-length dress with flouncy sleeves and purple suede high heels. She is wearing a pointed hat, like a witch's hat.

More about ::SHE+ILA:: Integers and Assembler Optimizations [$8F] (updated)

If a procedure is coded using {- .... -} braces, PARSER.COM emits 80x86 Assembler code instead of ILA code. This allows a degree of speed optimisation (at the risk of machine independence). The Specify operator (<::) then uses Integer ALU ops instead of BCD (binary-coded decimal), and variables are declared using the monadic ^ operator, such as ^RAX, ^EAX, ^AX, ^SI, ^DI, etc, representing the 80x86 CPU registers. (The dyadic ^ operator still represents exponentiation). Locals named with a leading ^ are stored as 64bit signed integers, for example :
Foo <:: {- (^Squee=32767, ^Yay=255); ^AX <:: 0; ..... -};
A special segment tag is applied to such procedures instead of the usual $F1 etc. indicating that these contain non-ILA code. 80x86 assembler mnemonics may be embedded in the procedures, again using ^, such as ^REP ^MOVSB, ^POPCNT, and so on. Incoming parameters are automatically converted from BCD to 64bit integers or unicode strings as required, by the use of the ^% (hat param) operator. Special rules may apply to the use of jump instructions, in particular intersegment jumps may be banned for security reasons (ILA does not implement "goto" or non-structured programming). Functions return an integer result in ^RAX, ^EAX, or ^DX:^AX which ILA may convert to a buf for normal use. PARSER.COM emits an actual binary stream so no external assembler (MASM, TASM, A86, etc) is required. Thus an entire ::SHE+ILA:: configuration may be Sysgenned from a ::SHE+ILA:: source code "file" piped into PARSER.COM, and written directly to segments on the dedicated datastore partition on the HDD.

Comments


Loading Dream Comments...

Discover more dreams from this artist