Trailing-Edge
-
PDP-10 Archives
-
tops10and20_integ_tools_v9_3-aug-86
-
tools/crc/browse/gtadrs.mac
There are no other files named gtadrs.mac in the archive.
TITLE gtadrs - get the address of the arg. may be a fortran string
SEARCH CRCSYM,MONSYM,MACSYM
entry gtadrs
;
;REFERENCE FROM macro with argument offset in t1,
;returns word in t1,
;uses t2.
;
;e.g.:-
;crmove:movei t1,0 ;get argument 0 (the 1st)
; call gtadrs ;get the first word of the arg
; movem t1,@(cx) ;and move to start of array
; ... ;...
; ret ;return
;
gtadrs: add t1,cx ;point to arg pointer
ldb t2,[point 4,(t1),12] ;get the argument type
caie t2,15 ;type 15 = v7 asciz string
jrst [movei t1,@(t1) ;not v7 so get the argument's address
ret] ;and skip v7 portion
move t1,@(t1) ;get the v7 byte pointer
movei t1,(t1) ;get the address
ret
end