[Info-vax] Bliss

John Reagan johnrreagan at earthlink.net
Mon Jul 29 18:32:59 EDT 2024


On 7/26/2024 7:51 PM, Arne Vajhøj wrote:
> On 7/26/2024 3:42 PM, John Reagan wrote:
>> On 7/25/2024 10:10 PM, Lawrence D'Oliveiro wrote:
>>> Currently working my way through AA_H275C-TK (1983 edition). Adapted
>>> this example from page 15-9:
>>>
>>>      MODULE quote_test_1 =
>>>      BEGIN
>>>          OWN x;
>>>          LITERAL mark = 4;
>>>          MACRO m = mark + %UNQUOTE mark %;
>>>
>>>          GLOBAL ROUTINE doit : NOVALUE =
>>>          BEGIN
>>>              LITERAL mark = 5;
>>>              x = m;
>>>          END;
>>>
>>>      END ELUDOM
>>>
>>> When I look at the generated assembler
>>>
>>>      doit:
>>>          ...
>>>          movq    $10, x(%rip)
>>>          retq
>>>
>>> That value should be 9, not 10.
>>
>> What compiler is that from?  That isn't even PIC code.  And the $10 in 
>> the output is hex 10.
> 
> Matt Madisons open source Bliss compiler running on
> Linux.
> 
> So not one of your compilers. :-)
> 
> Arne
> 

Ah, that makes sense.  My BLISS would generate

DOIT::
00000000:  pushq   %rbp                     # 000007
00000001:  movq    %rsp,%rbp
00000004:  movq    X at GOTPCREL(%rip),%rax    # 000010
0000000B:  movl    $00000009,(%rax)
00000011:  popq    %rbp                     # 000011
00000012:  retq







More information about the Info-vax mailing list