ssdata.asm
上传用户:xiaoan1112
上传日期:2013-04-11
资源大小:19621k
文件大小:3k
源码类别:

操作系统开发

开发平台:

Visual C++

  1. TITLE ssdata - Scanner specific data declarations
  2. ;***
  3. ;ssdata - Scanner specific data declarations
  4. ;
  5. ; Copyright <C> 1986, Microsoft Corporation
  6. ;
  7. ;Purpose:
  8. ;
  9. ;   This module contains scanner specific data declarations only.
  10. ;
  11. ;
  12. ;****************************************************************************
  13. .xlist
  14. include  version.inc
  15. SSDATA_ASM = ON
  16. .list
  17. assumes ds, DATA
  18. assumes es, NOTHING
  19. assumes SS, DATA
  20. sBegin CODE
  21. foo label byte
  22. sEnd CODE
  23. subttl Static data area definitons.
  24. sBegin DATA
  25. public SegCode
  26. SegCode dw seg foo
  27. public SsErrOTx
  28. SsErrOTx DW 0 ;Text offset of pcode which was replaced by opEot
  29. public SsErr
  30. SsErr DW 0 ;Error code to be returned by scanner.
  31. public SsErrOpcode
  32. SsErrOpcode DW 0 ;Opcode which was replaced by opEot
  33. public SsDelayErr,SsDelayLoc,SsDelayCnt
  34. SsDelayErr dw 0 ;Error code of delayed error
  35. SsDelayLoc dw 0 ;oTx of delayed error
  36. SsDelayCnt dw 0 ;Count of pending delayed errors
  37. public ScanRet
  38. ScanRet  DW 0 ;Scan loop return address
  39. public f_Static
  40. f_Static DB 0 ;TRUE if $STATIC in effect
  41. public f_StaticCalc
  42. f_StaticCalc DB 0 ;Move to temporary for calcualtion
  43. public SsExec,SsExecFlag,SsExecTmp
  44. SsExec label word ;Flags below referenced as one word
  45. SsExecFlag DB 0 ;OPA_fExecute ORed in if can't allow COMMON
  46. SsExecTmp DB 0 ;Temporary hold for SsExecFlag during CONST
  47. public ScannerFlags,SsBosFlags,SsFlags
  48. ScannerFlags label word ;Flags below referenced as one word
  49. SsBosFlags DB 0 ;Scanner begin of statement flags
  50. SsFlags  DB 0 ;General scanner flags
  51. public SsOTxPatchBos
  52. SsOTxPatchBos DW 0 ; Address of word to be patched at next Bos
  53. public SsOTxStart
  54. SsOTxStart DW 0 ; Address of point where stack is empty
  55. public SsOTxBOS
  56. SsOTxBOS DW 0 ;oTx for BOS for statement being scanned
  57. public SsCbTxExpand
  58. SsCbTxExpand DW 0 ;Count of bytes by which the text table has expanded.
  59. public SsLinkCtl
  60. SsLinkCtl DW 0 ;Address of Label control structure
  61. public SsCbFrameTemp
  62. SsCbFrameTemp DW 0 ;Bytes of temp space for current statement
  63. public SsStackSave
  64. SsStackSave DW 0 ;Save location for sp from start of scan
  65. public SsLineCount
  66. SsLineCount DW  0 ;No. of lines scanned
  67. ;Descan uses these to keep track of return address on the stack
  68. public SsNextOTx,SsReturnBp
  69. SsNextOTx DW 0 ;oTx of return address
  70. SsReturnBp DW 0 ;offset in stack of return frame
  71. ;ScanAndExec needs the following
  72. public SsScanExStart,SsScanExSrc
  73. SsScanExStart DW 0 ;Starting address of execution
  74. SsScanExSrc DW 0 ;oTx of original source
  75. ;Ss_StCall uses these to count parameter bytes for CDECL calls
  76. public SsCbParmCur,SsParmCnt
  77. SsCbParmCur dw 0 ;cb of all params so far
  78. SsParmCnt dw 0 ;Number of parameters
  79. public SsOtxHeapMove
  80. SsOtxHeapMove dw 0 ;oTx of last possible heap movement
  81. public SsBosStack
  82. SsBosStack dw 0 ;SP-2 at BOS
  83. sEnd DATA
  84. end