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.