|
@@ -333,13 +333,6 @@ Unit raavrgas;
|
|
BuildReference(oper);
|
|
BuildReference(oper);
|
|
end;
|
|
end;
|
|
|
|
|
|
- AS_HASH: { Constant expression }
|
|
|
|
- Begin
|
|
|
|
- Consume(AS_HASH);
|
|
|
|
- BuildConstantOperand(oper);
|
|
|
|
- end;
|
|
|
|
-
|
|
|
|
- (*
|
|
|
|
AS_INTNUM,
|
|
AS_INTNUM,
|
|
AS_MINUS,
|
|
AS_MINUS,
|
|
AS_PLUS:
|
|
AS_PLUS:
|
|
@@ -348,16 +341,18 @@ Unit raavrgas;
|
|
{ This must absolutely be followed by ( }
|
|
{ This must absolutely be followed by ( }
|
|
oper.InitRef;
|
|
oper.InitRef;
|
|
oper.opr.ref.offset:=BuildConstExpression(True,False);
|
|
oper.opr.ref.offset:=BuildConstExpression(True,False);
|
|
- if actasmtoken<>AS_LPAREN then
|
|
|
|
|
|
+
|
|
|
|
+ { absolute memory addresss? }
|
|
|
|
+ if actopcode in [A_LDS,A_STS] then
|
|
|
|
+ BuildReference(oper)
|
|
|
|
+ else
|
|
begin
|
|
begin
|
|
ofs:=oper.opr.ref.offset;
|
|
ofs:=oper.opr.ref.offset;
|
|
BuildConstantOperand(oper);
|
|
BuildConstantOperand(oper);
|
|
inc(oper.opr.val,ofs);
|
|
inc(oper.opr.val,ofs);
|
|
- end
|
|
|
|
- else
|
|
|
|
- BuildReference(oper);
|
|
|
|
|
|
+ end;
|
|
end;
|
|
end;
|
|
- *)
|
|
|
|
|
|
+
|
|
AS_ID: { A constant expression, or a Variable ref. }
|
|
AS_ID: { A constant expression, or a Variable ref. }
|
|
Begin
|
|
Begin
|
|
{ Local Label ? }
|
|
{ Local Label ? }
|