Skip to content
Snippets Groups Projects
Commit 730380b2 authored by Julian Seward's avatar Julian Seward
Browse files

[project @ 2000-01-25 16:58:57 by sewardj]

amodeToStix, GET_TAG: implement correctly for little-endian-32 and
supply implementation for big-endian-32.  Definitely won't work on
64-bit platforms.
parent 9bef49b8
No related merge requests found
...@@ -380,10 +380,18 @@ amodeToStix (CMacroExpr _ macro [arg]) ...@@ -380,10 +380,18 @@ amodeToStix (CMacroExpr _ macro [arg])
= case macro of = case macro of
ENTRY_CODE -> amodeToStix arg ENTRY_CODE -> amodeToStix arg
ARG_TAG -> amodeToStix arg -- just an integer no. of words ARG_TAG -> amodeToStix arg -- just an integer no. of words
GET_TAG -> StPrim SrlOp GET_TAG ->
[StInd WordRep (StPrim IntSubOp [amodeToStix arg, #ifdef WORDS_BIGENDIAN
StInt 1]), StPrim AndOp
[StInd WordRep (StIndex PtrRep (amodeToStix arg)
(StInt (toInteger (-1)))),
StInt 65535]
#else
StPrim SrlOp
[StInd WordRep (StIndex PtrRep (amodeToStix arg)
(StInt (toInteger (-1)))),
StInt 16] StInt 16]
#endif
UPD_FRAME_UPDATEE UPD_FRAME_UPDATEE
-> StInd PtrRep (StIndex PtrRep (amodeToStix arg) -> StInd PtrRep (StIndex PtrRep (amodeToStix arg)
(StInt (toInteger uF_UPDATEE))) (StInt (toInteger uF_UPDATEE)))
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment