[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