Table of Contents

SWTCHVM Source

References

Source Listing

SWTCHVM.MACRO.txt
  1. MACRO @V407508 00001000
  2. &NAME SWTCHVM &OPT= @V4M0193 00002100
  3. GBLB &AP @V407508 00003000
  4. LCLB &ST,&NO @V4M0913 00004100
  5. LCLC &PARM,&IN @V407508 00005000
  6. LCLA &X @V407508 00006000
  7. &IN SETC '&SYSNDX' @V407508 00007000
  8. AIF (T'&NAME EQ 'O').NOLABEL @V407508 00008000
  9. &NAME DS 0H @V407508 00009000
  10. .NOLABEL ANOP @V407508 00010000
  11. AIF ('&AP' EQ '0').UP @V407508 00011000
  12. AIF (T'&OPT EQ 'O').DONE @V407508 00012000
  13. &ST SETB 0 @V407508 00013000
  14. &NO SETB 0 @V407508 00014000
  15. &X SETA 1 @V407508 00015000
  16. AIF ('&OPT'(1,1) NE '(').SCAN @V407508 00016000
  17. &X SETA 2 @V407508 00017000
  18. .SCAN ANOP @V407508 00018000
  19. AIF ('&OPT'(&X,4) EQ 'STAY').STY @V407508 00019000
  20. AIF ('&OPT'(&X,6) EQ 'NOUPDT').NOUP @V407508 00020000
  21. AIF ('&OPT'(&X,6) NE 'UNLOCK').ERR1 @V407508 00021000
  22. AIF (&NO OR &ST).ERR2 @V407508 00022000
  23. &PARM SETC 'SVMUNLOK' @V407508 00023000
  24. &X SETA &X+6 @V407508 00024000
  25. AGO .ENDCHK @V407508 00025000
  26. .NOUP ANOP @V407508 00026000
  27. AIF (&NO).ERR1 @V407508 00027000
  28. &NO SETB 1 @V407508 00028000
  29. &X SETA &X+6 @V407508 00029000
  30. AIF (&ST).BOTH @V407508 00030000
  31. &PARM SETC 'SVMNOUPD' @V407508 00031000
  32. AGO .NEXT @V407508 00032000
  33. .STY ANOP @V407508 00033000
  34. AIF (&ST).ERR1 @V407508 00034000
  35. &ST SETB 1 @V407508 00035000
  36. &X SETA &X+4 @V407508 00036000
  37. AIF (&NO).BOTH @V407508 00037000
  38. &PARM SETC 'SVMSTAY' @V407508 00038000
  39. .NEXT ANOP @V407508 00039000
  40. AIF (&X GT K'&OPT).DONE @V407508 00040000
  41. AIF ('&OPT'(&X,1) EQ ')').DONE @V407508 00041000
  42. AIF ('&OPT'(&X,1) EQ '+').BUMP @V407508 00042000
  43. AIF ('&OPT'(&X,1) NE ',').ERR1 @V407508 00043000
  44. .BUMP ANOP @V407508 00044000
  45. &X SETA &X+1 @V407508 00045000
  46. AGO .SCAN @V407508 00046000
  47. .BOTH ANOP @V407508 00047000
  48. &PARM SETC 'SVMSTAY+SVMNOUPD' @V407508 00048000
  49. .ENDCHK ANOP @V407508 00049000
  50. AIF (&X GT K'&OPT).DONE @V407508 00050000
  51. AIF ('&OPT'(&X,1) NE ')').ERR1 @V407508 00051000
  52. .DONE ANOP @V407508 00052000
  53. TM APSTAT1,APUOPER IS THE AP OPERATIONAL? @V407508 00059000
  54. BZ SVM&IN.A NO, SKIP LOCKING THE NEW VM @V407508 00060000
  55. AIF (T'&OPT EQ 'O').NOPT @V407508 00061000
  56. LA R0,&PARM LOAD PARAMETER REGISTER @V407508 00062000
  57. AGO .OPTS @V407508 00063000
  58. .NOPT ANOP @V407508 00064000
  59. SLR R0,R0 CLEAR PARAMETER REGISTER @V407508 00065000
  60. .OPTS ANOP @V407508 00066000
  61. L R15,=V(DMKLOKSW) GET ADDR OF SWITCH VM ROUTINE @V407508 00067000
  62. BALR R14,R15 BRANCH TO SWITCH VM ROUTINE @V407508 00068000
  63. B SVM&IN.B CONTINUE @V407508 00069000
  64. SVM&IN.A DS 0H @V407508 00070000
  65. CHARGE SWITCH,1 SWITCH TIMER AND R11 TO NEW VM @V407508 00071000
  66. SVM&IN.B DS 0H @V407508 00072000
  67. MEXIT @V407508 00076000
  68. .UP ANOP @V407508 00077000
  69. CHARGE SWITCH,1 SWITCH TIMER AND R11 TO NEW VM @V407508 00078000
  70. MEXIT @V407508 00079000
  71. .ERR1 MNOTE 8,'INVALID ''OPT='' OPERAND SPECIFIED' @V407508 00080000
  72. MEXIT @V407508 00081000
  73. .ERR2 MNOTE 8,'MUTUALLY EXCLUSIVE OPERANDS SPECIFIED' @V407508 00082000
  74. MEND @V407508 00083000