home *** CD-ROM | disk | FTP | other *** search
/ Turbo Toolbox / Turbo_Toolbox.iso / 1990 / 03 / multi / mt.asm < prev    next >
Encoding:
Assembly Source File  |  1989-12-19  |  13.1 KB  |  773 lines

  1.     ifndef    ??version
  2. ?debug    macro
  3.     endm
  4.     endif
  5.     ?debug    S "mt.c"
  6. _TEXT    segment    byte public 'CODE'
  7. DGROUP    group    _DATA,_BSS
  8.     assume    cs:_TEXT,ds:DGROUP,ss:DGROUP
  9. _TEXT    ends
  10. _DATA    segment word public 'DATA'
  11. d@    label    byte
  12. d@w    label    word
  13. _DATA    ends
  14. _BSS    segment word public 'BSS'
  15. b@    label    byte
  16. b@w    label    word
  17.     ?debug    C E98E929313046D742E63
  18.     ?debug    C E900101D1115433A5C545552424F2D435C494E435C6D6174682E68
  19.     ?debug    C E900101D1117433A5C545552424F2D435C494E435C737472696E67+
  20.     ?debug    C 2E68
  21.     ?debug    C E900101D1114433A5C545552424F2D435C494E435C646F732E68
  22.     ?debug    C E900101D1116433A5C545552424F2D435C494E435C636F6E696F2E+
  23.     ?debug    C 68
  24.     ?debug    C E900101D1116433A5C545552424F2D435C494E435C737464696F2E+
  25.     ?debug    C 68
  26.     ?debug    C E900101D1117433A5C545552424F2D435C494E435C737464617267+
  27.     ?debug    C 2E68
  28.     ?debug    C E900101D1116433A5C545552424F2D435C494E435C66636E746C2E+
  29.     ?debug    C 68
  30.     ?debug    C E900101D1117433A5C545552424F2D435C494E435C7374646C6962+
  31.     ?debug    C 2E68
  32.     ?debug    C E900101D1117433A5C545552424F2D435C494E435C737464646566+
  33.     ?debug    C 2E68
  34. _BSS    ends
  35. _DATA    segment word public 'DATA'
  36. __sperre    label    word
  37.     dw    0
  38. _DATA    ends
  39. _TEXT    segment    byte public 'CODE'
  40. ;    ?debug    L 88
  41. _p    proc    near
  42. ;    ?debug    L 90
  43.     inc    word ptr DGROUP:__sperre
  44. @1:
  45. ;    ?debug    L 91
  46.     ret    
  47. _p    endp
  48. ;    ?debug    L 93
  49. _v    proc    near
  50. ;    ?debug    L 95
  51.     dec    word ptr DGROUP:__sperre
  52. @2:
  53. ;    ?debug    L 96
  54.     ret    
  55. _v    endp
  56. ;    ?debug    L 98
  57. __put_frame_char    proc    near
  58.     push    bp
  59.     mov    bp,sp
  60. ;    ?debug    L 102
  61.      mov     ah,2
  62. ;    ?debug    L 103
  63.      mov     bh,0
  64. ;    ?debug    L 104
  65.      mov     dh,[bp+6]
  66. ;    ?debug    L 105
  67.      mov     dl,[bp+4]
  68. ;    ?debug    L 106
  69.      int     10h
  70. ;    ?debug    L 108
  71.      mov     ah,10
  72. ;    ?debug    L 109
  73.      mov     bh,0
  74. ;    ?debug    L 110
  75.      mov     cx,1
  76. ;    ?debug    L 111
  77.      mov     al,[bp+8]
  78. ;    ?debug    L 112
  79.      int     10h
  80. @3:
  81. ;    ?debug    L 113
  82.     pop    bp
  83.     ret    
  84. __put_frame_char    endp
  85. ;    ?debug    L 116
  86. _draw_box    proc    near
  87.     push    bp
  88.     mov    bp,sp
  89.     push    si
  90. ;    ?debug    L 120
  91.     dec    byte ptr [bp+4]
  92. ;    ?debug    L 120
  93.     dec    byte ptr [bp+8]
  94. ;    ?debug    L 120
  95.     dec    byte ptr [bp+6]
  96. ;    ?debug    L 120
  97.     dec    byte ptr [bp+10]
  98. ;    ?debug    L 122
  99.     mov    ax,-55
  100.     push    ax
  101.     mov    al,byte ptr [bp+6]
  102.     cbw    
  103.     push    ax
  104.     mov    al,byte ptr [bp+4]
  105.     cbw    
  106.     push    ax
  107.     call    near ptr __put_frame_char
  108.     add    sp,6
  109. ;    ?debug    L 123
  110.     mov    ax,-69
  111.     push    ax
  112.     mov    al,byte ptr [bp+6]
  113.     cbw    
  114.     push    ax
  115.     mov    al,byte ptr [bp+8]
  116.     cbw    
  117.     push    ax
  118.     call    near ptr __put_frame_char
  119.     add    sp,6
  120. ;    ?debug    L 124
  121.     mov    ax,-56
  122.     push    ax
  123.     mov    al,byte ptr [bp+10]
  124.     cbw    
  125.     push    ax
  126.     mov    al,byte ptr [bp+4]
  127.     cbw    
  128.     push    ax
  129.     call    near ptr __put_frame_char
  130.     add    sp,6
  131. ;    ?debug    L 125
  132.     mov    ax,-68
  133.     push    ax
  134.     mov    al,byte ptr [bp+10]
  135.     cbw    
  136.     push    ax
  137.     mov    al,byte ptr [bp+8]
  138.     cbw    
  139.     push    ax
  140.     call    near ptr __put_frame_char
  141.     add    sp,6
  142. ;    ?debug    L 127
  143.     mov    al,byte ptr [bp+4]
  144.     cbw    
  145.     mov    si,ax
  146.     inc    si
  147.     jmp    short @8
  148. @7:
  149. ;    ?debug    L 128
  150.     mov    ax,-51
  151.     push    ax
  152.     mov    al,byte ptr [bp+6]
  153.     cbw    
  154.     push    ax
  155.     push    si
  156.     call    near ptr __put_frame_char
  157.     add    sp,6
  158. ;    ?debug    L 129
  159.     mov    ax,-51
  160.     push    ax
  161.     mov    al,byte ptr [bp+10]
  162.     cbw    
  163.     push    ax
  164.     push    si
  165.     call    near ptr __put_frame_char
  166.     add    sp,6
  167. @6:
  168.     inc    si
  169. @8:
  170.     mov    al,byte ptr [bp+8]
  171.     cbw    
  172.     cmp    ax,si
  173.     jg    @7
  174. @5:
  175. ;    ?debug    L 132
  176.     mov    al,byte ptr [bp+6]
  177.     cbw    
  178.     mov    si,ax
  179.     inc    si
  180.     jmp    short @12
  181. @11:
  182. ;    ?debug    L 133
  183.     mov    ax,-70
  184.     push    ax
  185.     push    si
  186.     mov    al,byte ptr [bp+4]
  187.     cbw    
  188.     push    ax
  189.     call    near ptr __put_frame_char
  190.     add    sp,6
  191. ;    ?debug    L 134
  192.     mov    ax,-70
  193.     push    ax
  194.     push    si
  195.     mov    al,byte ptr [bp+8]
  196.     cbw    
  197.     push    ax
  198.     call    near ptr __put_frame_char
  199.     add    sp,6
  200. @10:
  201.     inc    si
  202. @12:
  203.     mov    al,byte ptr [bp+10]
  204.     cbw    
  205.     cmp    ax,si
  206.     jg    @11
  207. @9:
  208. @4:
  209. ;    ?debug    L 136
  210.     pop    si
  211.     pop    bp
  212.     ret    
  213. _draw_box    endp
  214. ;    ?debug    L 138
  215. _stop_all_process    proc    near
  216.     push    si
  217. ;    ?debug    L 142
  218.     call    near ptr _p
  219. ;    ?debug    L 143
  220.     xor    si,si
  221.     jmp    short @17
  222. @16:
  223. ;    ?debug    L 144
  224.     mov    al,byte ptr DGROUP:__aktiv
  225.     mov    ah,0
  226.     cmp    ax,si
  227.     je    @18
  228. ;    ?debug    L 144
  229.     mov    bx,si
  230.     shl    bx,1
  231.     mov    word ptr DGROUP:__stoped[bx],255
  232. @18:
  233. @15:
  234.     inc    si
  235. @17:
  236.     cmp    si,word ptr DGROUP:__count
  237.     jl    @16
  238. @14:
  239. ;    ?debug    L 145
  240.     mov    al,byte ptr DGROUP:__count
  241.     add    al,255
  242.     mov    byte ptr DGROUP:__beendet,al
  243. ;    ?debug    L 146
  244.     call    near ptr _v
  245. @13:
  246. ;    ?debug    L 147
  247.     pop    si
  248.     ret    
  249. _stop_all_process    endp
  250. ;    ?debug    L 149
  251. _kill    proc    near
  252.     push    bp
  253.     mov    bp,sp
  254. ;    ?debug    L 152
  255.     call    near ptr _p
  256. ;    ?debug    L 153
  257.     mov    al,byte ptr [bp+4]
  258.     cmp    al,byte ptr DGROUP:__aktiv
  259.     je    @20
  260. ;    ?debug    L 153
  261.     mov    al,byte ptr [bp+4]
  262.     mov    ah,0
  263.     mov    bx,ax
  264.     shl    bx,1
  265.     mov    word ptr DGROUP:__stoped[bx],255
  266. @20:
  267. ;    ?debug    L 154
  268.     inc    byte ptr DGROUP:__beendet
  269. ;    ?debug    L 155
  270.     call    near ptr _v
  271. @19:
  272. ;    ?debug    L 156
  273.     pop    bp
  274.     ret    
  275. _kill    endp
  276. ;    ?debug    L 159
  277. __int8_handling    proc    far
  278.     push    ax
  279.     push    bx
  280.     push    cx
  281.     push    dx
  282.     push    es
  283.     push    ds
  284.     push    si
  285.     push    di
  286.     push    bp
  287.     mov    bp,DGROUP
  288.     mov    ds,bp
  289. ;    ?debug    L 186
  290.     mov    al,byte ptr DGROUP:__aktiv
  291.     mov    ah,0
  292.     mov    bx,ax
  293.     shl    bx,1
  294.     inc    word ptr DGROUP:__p_time[bx]
  295. ;    ?debug    L 189
  296.     mov    al,byte ptr DGROUP:__beendet
  297.     mov    ah,0
  298.     cmp    ax,word ptr DGROUP:__count
  299.     jne    @32
  300.     mov    ax,1
  301.     jmp    short @31
  302. @32:
  303.     xor    ax,ax
  304. @31:
  305.     mov    dl,byte ptr DGROUP:__ctrl_break
  306.     mov    dh,0
  307.     or    ax,dx
  308.     je    @22
  309. ;    ?debug    L 194
  310.      xor     ax,ax
  311. ;    ?debug    L 195
  312.      mov     es,ax
  313. ;    ?debug    L 196
  314.      mov     si,offset DGROUP:__int8_ptr
  315. ;    ?debug    L 197
  316.      mov     di,8*4
  317. ;    ?debug    L 198
  318.      mov     cx,2
  319. ;    ?debug    L 199
  320.      cld    
  321. ;    ?debug    L 200
  322.      rep movsw    
  323. ;    ?debug    L 202
  324.     mov    byte ptr DGROUP:__beendet,0
  325. ;    ?debug    L 203
  326.     jmp    @23
  327. @22:
  328. ;    ?debug    L 206
  329.     cmp    word ptr DGROUP:__sperre,0
  330.     jle    @24
  331. ;    ?debug    L 206
  332.     jmp    @23
  333. @24:
  334. ;    ?debug    L 213
  335.     mov    al,byte ptr DGROUP:__aktiv
  336.     mov    ah,0
  337.     mov    bx,ax
  338.     shl    bx,1
  339.     shl    bx,1
  340.     mov    ax,word ptr DGROUP:__save_sp[bx]
  341.     mov    dx,ss
  342.     cmp    ax,dx
  343.     je    @25
  344. ;    ?debug    L 213
  345.     jmp    @23
  346. @25:
  347. ;    ?debug    L 216
  348.     cmp    byte ptr DGROUP:__using_windows,0
  349.     je    @26
  350. ;    ?debug    L 217
  351.     call    near ptr _wherey
  352.     mov    dl,byte ptr DGROUP:__aktiv
  353.     mov    dh,0
  354.     mov    bx,dx
  355.     shl    bx,1
  356.     shl    bx,1
  357.     mov    word ptr DGROUP:_cur_pos[bx+2],ax
  358. ;    ?debug    L 218
  359.     call    near ptr _wherex
  360.     mov    dl,byte ptr DGROUP:__aktiv
  361.     mov    dh,0
  362.     mov    bx,dx
  363.     shl    bx,1
  364.     shl    bx,1
  365.     mov    word ptr DGROUP:_cur_pos[bx],ax
  366. @26:
  367. ;    ?debug    L 223
  368.     mov    ax,ss
  369.     mov    dl,byte ptr DGROUP:__aktiv
  370.     mov    dh,0
  371.     mov    bx,dx
  372.     shl    bx,1
  373.     shl    bx,1
  374.     mov    word ptr DGROUP:__save_sp[bx],ax
  375. ;    ?debug    L 224
  376.     mov    ax,sp
  377.     mov    dl,byte ptr DGROUP:__aktiv
  378.     mov    dh,0
  379.     mov    bx,dx
  380.     shl    bx,1
  381.     shl    bx,1
  382.     mov    word ptr DGROUP:__save_sp[bx+2],ax
  383. ;    ?debug    L 228
  384.      mov     cx,DGROUP:__count
  385. ;    ?debug    L 229
  386.      mov     di,offset DGROUP:__stoped
  387. ;    ?debug    L 230
  388.      mov     si,offset DGROUP:__p_time
  389. ;    ?debug    L 231
  390.      xor     bx,bx
  391. ;    ?debug    L 232
  392.      mov     ax,0FFFFH
  393. @27:
  394. ;    ?debug    L 234
  395.      cmp     word ptr[di],0
  396. ;    ?debug    L 235
  397.      jne     @28
  398. ;    ?debug    L 236
  399.      cmp     ax,[si]
  400. ;    ?debug    L 237
  401.      jbe     @28
  402. ;    ?debug    L 238
  403.      mov     ax,[si]       
  404. ;    ?debug    L 239
  405.      mov     DGROUP:__aktiv,bl
  406. @28:
  407. ;    ?debug    L 241
  408.      add     di,2
  409. ;    ?debug    L 242
  410.      add     si,2
  411. ;    ?debug    L 243
  412.      inc     bx
  413. ;    ?debug    L 244
  414.      loop     @27
  415. ;    ?debug    L 247
  416.      mov     cx,DGROUP:__count
  417. ;    ?debug    L 248
  418.      mov     di,offset DGROUP:__p_time
  419. @29:
  420. ;    ?debug    L 250
  421.      sub     [di],ax   
  422. ;    ?debug    L 252
  423.      add     di,2
  424. ;    ?debug    L 253
  425.      loop     @29
  426. ;    ?debug    L 256
  427.     mov    al,byte ptr DGROUP:__aktiv
  428.     mov    ah,0
  429.     mov    bx,ax
  430.     shl    bx,1
  431.     shl    bx,1
  432.     mov    ss,word ptr DGROUP:__save_sp[bx]
  433. ;    ?debug    L 257
  434.     mov    al,byte ptr DGROUP:__aktiv
  435.     mov    ah,0
  436.     mov    bx,ax
  437.     shl    bx,1
  438.     shl    bx,1
  439.     mov    sp,word ptr DGROUP:__save_sp[bx+2]
  440. ;    ?debug    L 260
  441.     cmp    byte ptr DGROUP:__using_windows,0
  442.     jne    @33
  443.     jmp    @30
  444. @33:
  445. ;    ?debug    L 261
  446. ;    ?debug    L 262
  447.     mov    al,byte ptr DGROUP:__aktiv
  448.     mov    ah,0
  449.     mov    bx,ax
  450.     shl    bx,1
  451.     shl    bx,1
  452.     shl    bx,1
  453.     push    word ptr DGROUP:_def_w[bx+6]
  454.     mov    al,byte ptr DGROUP:__aktiv
  455.     mov    ah,0
  456.     mov    bx,ax
  457.     shl    bx,1
  458.     shl    bx,1
  459.     shl    bx,1
  460.     push    word ptr DGROUP:_def_w[bx+4]
  461.     mov    al,byte ptr DGROUP:__aktiv
  462.     mov    ah,0
  463.     mov    bx,ax
  464.     shl    bx,1
  465.     shl    bx,1
  466.     shl    bx,1
  467.     push    word ptr DGROUP:_def_w[bx+2]
  468.     mov    al,byte ptr DGROUP:__aktiv
  469.     mov    ah,0
  470.     mov    bx,ax
  471.     shl    bx,1
  472.     shl    bx,1
  473.     shl    bx,1
  474.     push    word ptr DGROUP:_def_w[bx]
  475.     call    near ptr _window
  476.     add    sp,8
  477. ;    ?debug    L 263
  478.     mov    al,byte ptr DGROUP:__aktiv
  479.     mov    ah,0
  480.     mov    bx,ax
  481.     shl    bx,1
  482.     shl    bx,1
  483.     push    word ptr DGROUP:_cur_pos[bx+2]
  484.     mov    al,byte ptr DGROUP:__aktiv
  485.     mov    ah,0
  486.     mov    bx,ax
  487.     shl    bx,1
  488.     shl    bx,1
  489.     push    word ptr DGROUP:_cur_pos[bx]
  490.     call    near ptr _gotoxy
  491.     pop    cx
  492.     pop    cx
  493. @30:
  494. @23:
  495. ;    ?debug    L 267
  496.      pushf    
  497. ;    ?debug    L 268
  498.      call     dword ptr ds:DGROUP:__int8_ptr
  499. @21:
  500. ;    ?debug    L 269
  501.     pop    bp
  502.     pop    di
  503.     pop    si
  504.     pop    ds
  505.     pop    es
  506.     pop    dx
  507.     pop    cx
  508.     pop    bx
  509.     pop    ax
  510.     iret    
  511. __int8_handling    endp
  512. ;    ?debug    L 273
  513. _co_start    proc    near
  514.     push    bp
  515.     mov    bp,sp
  516.     push    si
  517.     push    di
  518. ;    ?debug    L 279
  519.     cmp    word ptr [bp+6],10
  520.     jle    @35
  521. ;    ?debug    L 282
  522.     xor    ax,ax
  523.     push    ax
  524.     call    near ptr _exit
  525.     pop    cx
  526. @35:
  527. ;    ?debug    L 285
  528.     mov    ax,word ptr [bp+8]
  529.     mov    word ptr DGROUP:__first_process,ax
  530. ;    ?debug    L 286
  531.     mov    ax,word ptr [bp+6]
  532.     mov    word ptr DGROUP:__count,ax
  533. ;    ?debug    L 287
  534.     mov    byte ptr DGROUP:__beendet,0
  535. ;    ?debug    L 288
  536.     mov    byte ptr DGROUP:__ctrl_break,0
  537. ;    ?debug    L 289
  538.     mov    byte ptr DGROUP:__aktiv,0
  539. ;    ?debug    L 290
  540.     mov    al,byte ptr [bp+4]
  541.     mov    byte ptr DGROUP:__using_windows,al
  542. ;    ?debug    L 292
  543.     mov    word ptr DGROUP:__j,1
  544.     jmp    @39
  545. @38:
  546. ;    ?debug    L 293
  547.     mov    bx,word ptr DGROUP:__j
  548.     shl    bx,1
  549.     mov    word ptr DGROUP:__stoped[bx],0
  550. ;    ?debug    L 294
  551.     mov    bx,word ptr DGROUP:__j
  552.     shl    bx,1
  553.     mov    word ptr DGROUP:__p_time[bx],0
  554. ;    ?debug    L 297
  555.      mov     ax,2000 
  556. ;    ?debug    L 298
  557.      mov     bx,DGROUP:__j
  558. ;    ?debug    L 299
  559.      inc     bx
  560. ;    ?debug    L 300
  561.      mul     bx
  562. ;    ?debug    L 301
  563.      add     ax,offset DGROUP:__stack
  564. ;    ?debug    L 302
  565.      sub     ax,2
  566. ;    ?debug    L 303
  567.      mov     di,ax
  568. ;    ?debug    L 308
  569.      mov     [di],offset _return_adresse
  570. ;    ?debug    L 309
  571.      pushf    
  572. ;    ?debug    L 310
  573.      pop     [di-2]
  574. ;    ?debug    L 311
  575.      mov     bx,DGROUP:__j
  576. ;    ?debug    L 312
  577.      shl     bx,1
  578. ;    ?debug    L 316
  579.      add     bx,8  
  580. ;    ?debug    L 317
  581.      add     bx,bp
  582. ;    ?debug    L 319
  583.      mov     ax,cs
  584. ;    ?debug    L 320
  585.      mov     [di-4],ax     
  586. ;    ?debug    L 325
  587.      mov     ax,ss:[bx]   
  588. ;    ?debug    L 326
  589.      mov     [di-6],ax
  590. ;    ?debug    L 327
  591.      mov     [di-16],es
  592. ;    ?debug    L 328
  593.      mov     [di-18],ds
  594. ;    ?debug    L 331
  595.     mov    ax,di
  596.     add    ax,-24
  597.     mov    bx,word ptr DGROUP:__j
  598.     shl    bx,1
  599.     shl    bx,1
  600.     mov    word ptr DGROUP:__save_sp[bx+2],ax
  601. ;    ?debug    L 332
  602.     mov    ax,ds
  603.     mov    bx,word ptr DGROUP:__j
  604.     shl    bx,1
  605.     shl    bx,1
  606.     mov    word ptr DGROUP:__save_sp[bx],ax
  607. @37:
  608.     inc    word ptr DGROUP:__j
  609. @39:
  610.     mov    ax,word ptr DGROUP:__j
  611.     cmp    ax,word ptr DGROUP:__count
  612.     jge    @47
  613.     jmp    @38
  614. @47:
  615. @36:
  616. ;    ?debug    L 335
  617.     mov    ax,ds
  618.     mov    word ptr DGROUP:__save_sp,ax
  619. ;    ?debug    L 338
  620.     mov    ax,8
  621.     push    ax
  622.     call    near ptr _getvect
  623.     pop    cx
  624.     mov    word ptr DGROUP:__int8_ptr+2,dx
  625.     mov    word ptr DGROUP:__int8_ptr,ax
  626. ;    ?debug    L 341
  627.     push    cs
  628.     mov    ax,offset __int8_handling
  629.     push    ax
  630.     mov    ax,8
  631.     push    ax
  632.     call    near ptr _setvect
  633.     add    sp,6
  634. ;    ?debug    L 343
  635.     mov    ax,ss
  636.     mov    word ptr DGROUP:__s_ss,ax
  637. ;    ?debug    L 344
  638.     mov    ax,sp
  639.     mov    word ptr DGROUP:__s_sp,ax
  640. ;    ?debug    L 346
  641.      mov     ax,ds
  642. ;    ?debug    L 347
  643.      mov     ss,ax
  644. ;    ?debug    L 348
  645.      mov     sp,offset DGROUP:__stack+2000 
  646. ;    ?debug    L 350
  647.     cmp    byte ptr DGROUP:__using_windows,0
  648.     je    @40
  649. ;    ?debug    L 351
  650. ;    ?debug    L 352
  651.     push    word ptr DGROUP:_def_w+6
  652.     push    word ptr DGROUP:_def_w+4
  653.     push    word ptr DGROUP:_def_w+2
  654.     push    word ptr DGROUP:_def_w
  655.     call    near ptr _window
  656.     add    sp,8
  657. @40:
  658. ;    ?debug    L 357
  659.      call     word ptr [DGROUP:__first_process]
  660. ;    ?debug    L 360
  661.      _return_adresse    :
  662. ;    ?debug    L 362
  663.     inc    byte ptr DGROUP:__beendet
  664. ;    ?debug    L 363
  665.     mov    al,byte ptr DGROUP:__aktiv
  666.     mov    ah,0
  667.     mov    bx,ax
  668.     shl    bx,1
  669.     mov    word ptr DGROUP:__stoped[bx],255
  670. ;    ?debug    L 364
  671.     jmp    short @41
  672. @43:
  673. @41:
  674. ;    ?debug    L 364
  675.     mov    al,byte ptr DGROUP:__beendet
  676.     mov    ah,0
  677.     cmp    ax,word ptr DGROUP:__count
  678.     jl    @43
  679. @42:
  680. ;    ?debug    L 367
  681.     jmp    short @44
  682. @46:
  683. @44:
  684. ;    ?debug    L 367
  685.     cmp    byte ptr DGROUP:__beendet,0
  686.     jne    @46
  687. @45:
  688. ;    ?debug    L 370
  689.     mov    ss,word ptr DGROUP:__s_ss
  690. ;    ?debug    L 371
  691.     mov    sp,word ptr DGROUP:__s_sp
  692. @34:
  693. ;    ?debug    L 373
  694.     pop    di
  695.     pop    si
  696.     pop    bp
  697.     ret    
  698. _co_start    endp
  699. _TEXT    ends
  700. _BSS    segment word public 'BSS'
  701. __j    label    word
  702.     db    2 dup (?)
  703. __s_sp    label    word
  704.     db    2 dup (?)
  705. __s_ss    label    word
  706.     db    2 dup (?)
  707. __stack    label    word
  708.     db    40000 dup (?)
  709. __stoped    label    word
  710.     db    20 dup (?)
  711. __p_time    label    word
  712.     db    20 dup (?)
  713. _def_w    label    word
  714.     db    80 dup (?)
  715. __count    label    word
  716.     db    2 dup (?)
  717. __aktiv    label    byte
  718.     db    1 dup (?)
  719. _cur_pos    label    word
  720.     db    40 dup (?)
  721. __save_sp    label    word
  722.     db    40 dup (?)
  723. __beendet    label    byte
  724.     db    1 dup (?)
  725. __int8_ptr    label    dword
  726.     db    4 dup (?)
  727. __ctrl_break    label    byte
  728.     db    1 dup (?)
  729. __using_windows    label    byte
  730.     db    1 dup (?)
  731. __first_process    label    word
  732.     db    2 dup (?)
  733. _BSS    ends
  734.     ?debug    C E9
  735. _DATA    segment word public 'DATA'
  736. s@    label    byte
  737. _DATA    ends
  738. _TEXT    segment    byte public 'CODE'
  739.     extrn    _setvect:near
  740.     extrn    _wherey:near
  741.     extrn    _wherex:near
  742.     extrn    _getvect:near
  743.     extrn    _window:near
  744.     extrn    _gotoxy:near
  745.     extrn    _exit:near
  746. _TEXT    ends
  747.     public    __first_process
  748.     public    __using_windows
  749.     public    __int8_handling
  750.     public    __ctrl_break
  751.     public    __int8_ptr
  752.     public    _draw_box
  753.     public    _co_start
  754.     public    __beendet
  755.     public    __save_sp
  756.     public    _cur_pos
  757.     public    __aktiv
  758.     public    __count
  759.     public    _def_w
  760.     public    __sperre
  761.     public    __p_time
  762.     public    __stoped
  763.     public    __stack
  764.     public    __s_ss
  765.     public    __s_sp
  766.     public    _kill
  767.     public    _v
  768.     public    _p
  769.     public    __j
  770.     public    _stop_all_process
  771.     public    __put_frame_char
  772.     end
  773.