This trap returns information about the Operating System.

Call ParametersReturn Parameters
D0.B$00D0.LUndefined. Ignore return value.
D1.LUnused.D1.LJob id of current job.
D2.LUnused.D2.LQDOS/SMSQ version as ASCII string - '1.03' for example.
A0.LUnused.A0.LAddress of system variables.
No errors are returned by this trap.
  • All registers not shown above are not used on entry and are preserved on exit.
  • The returned address of the system variables in A0 is a 'throwback' to the old days of QDOS whereby they could live at any address in RAM. Then, they became fixed for a while at address $28000 (163,840) and now, the pendulaum has swung back again - with Minerva and so on, the system variables do indeed live in different places in RAM once more.

The example below shows the use of this trap call to obtain the address of the location of the system variables prior to some (unknown?) usage of that returned address.

info    moveq   #0,d0           ; MT_INF
        trap    #1              ; Get system variables address into A0
        ...                     ; Do something here.
  • qdosmsq/traps/trap_1/info.txt
  • Last modified: 2008/06/25 12:21
  • by norman