Subversion Repositories Kolibri OS

Rev

Rev 529 | Rev 1399 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed

  1. ;   RTF READER FOR MENUET v1.
  2. ;   Written in pure assembler by Ivushkin Andrey aka Willow
  3. ;
  4. ;---------------------------------------------------------------------
  5. M64 equ 64*1024
  6. N_A equ 0x412f4e
  7. RTFSIZE equ M64
  8. RTFSTACKSIZE equ M64
  9. BGIFONTSIZE equ 120*1024
  10. ESPSIZE equ M64
  11. LMARGIN equ 20
  12. CHARW equ 6
  13. CHARH equ 11
  14. WINW  equ 600
  15. WINH  equ 450
  16. WIN_COLOR equ 0x3f0f0f0
  17. DEFCOLOR equ 0x303030
  18. ;RENDER equ PIX
  19. ;RENDER equ BGI
  20. RENDER equ FREE
  21.  
  22. BGIFONT_PATH equ '/sys/fonts/'
  23. FONT_NAME equ 'LITT'
  24. TOP =55
  25. MODE equ RTF
  26. INVALHEX equ 0
  27. RTF_COLORLESS equ 1
  28. RTF_ALIGNLESS equ 2
  29. RTF_NO1STLINE equ 4
  30. RTF_OPENING   equ 8
  31. RTF_HELP      equ 16
  32. RTF_VALID     equ 32
  33. RTF_BLIND     equ 64
  34. RTF_TOEOF     equ 128
  35. RTF_BOTTOM    equ 256
  36. STEPBYSTEP equ 10
  37. DEBUG_BLOCK equ 10
  38. SHOWALIGN equ 10
  39. GUTTER equ 10
  40. BENCH  equ 0;1
  41. syms equ 12
  42.  
  43.   use32              ; ¢ª«îç¨âì 32-¡¨â­ë© ०¨¬  áᥬ¡«¥à 
  44.   org    0x0         ;  ¤à¥á æ¨ï á ­ã«ï
  45.  
  46.   db     'MENUET01'  ; 8-¡ ©â­ë© ¨¤¥­â¨ä¨ª â®à MenuetOS
  47.   dd     0x01        ; ¢¥àá¨ï § £®«®¢ª  (¢á¥£¤  1)
  48.   dd     START       ;  ¤à¥á ¯¥à¢®© ª®¬ ­¤ë
  49.   dd     I_END0      ; à §¬¥à ¯à®£à ¬¬ë
  50.   dd     esp_end     ; ª®«¨ç¥á⢮ ¯ ¬ïâ¨
  51.   dd     sys_mem     ;  ¤à¥á ¢¥à設ë áâíª 
  52.   dd     fname_buf   ;  ¤à¥á ¡ãä¥à  ¤«ï ¯ à ¬¥â஢ (­¥ ¨á¯®«ì§ã¥âáï)
  53.   dd     0x0         ; § à¥§¥à¢¨à®¢ ­®
  54.  
  55. include '..\..\..\MACROS.INC' ; ¬ ªà®áë ®¡«¥£ç îâ ¦¨§­ì  áᥬ¡«¥à騪®¢!
  56. include 'debug.inc'
  57. if ~ RENDER eq PIX
  58.   TOP=TOP+4
  59.   include 'bgifont.inc'
  60. end if
  61. include 'rtf_lite.inc'
  62. include 'ascl.inc'
  63. ;---------------------------------------------------------------------
  64. ;---  €—€‹Ž Žƒ€ŒŒ›  ----------------------------------------------
  65. ;---------------------------------------------------------------------
  66. help_file:
  67. file  'reader.rtf'
  68. help_end:
  69.  
  70. START:
  71.     mov  [pitch],2
  72.   if ~ RENDER eq PIX
  73.     mov  edx,FONT_NAME
  74.     mov  edi,save_limit
  75.     BGIfont_Prepare
  76.   end if
  77.  start2:
  78.     cmp  byte[fname_buf],0
  79.     je   load_file;top_red
  80.     jmp  noactivate
  81.  prep_load:
  82. ;    mcall 18,3,dword[prcinfo+30]
  83.  noactivate:
  84. ;    and  ebp,not RTF_OPENING
  85. ;    and  ebp,not RTF_HELP
  86.  
  87. ;    and  [mode],not RTF_OPENING
  88.     and  [mode],not (RTF_HELP+RTF_OPENING)
  89.     mov  ecx,16
  90.     mov  edi,fileinfo.name
  91.     mov  esi,fname_buf
  92.     rep  movsd
  93.  load_file:
  94.         mov     eax, 70
  95.         and     [fileattr+32], 0
  96.         mov     ebx, attrinfo
  97.         mcall
  98.         mov     ebx, [fileattr+32]
  99.         test    eax, eax
  100.         jz      .sizok
  101.         mov     dword [fileinfo.name], N_A
  102. .sizok:
  103.     and  [wSave],0
  104.     mov  [HClick],-100
  105.     mov  eax,ebx
  106.     and  eax,RTFSIZE-1
  107.     add  eax,I_END
  108.     mov  [tail],eax
  109.     shr  ebx,16
  110. ;    dpd ebx
  111.     mov  [max_block],ebx
  112.     xor  eax,eax
  113.     mov  ecx,256
  114.     mov  edi,fileinfo.name
  115.     repne scasb
  116.     sub  edi,fileinfo.name+1
  117.     mov  [fname_size],edi
  118. top_red:
  119.     mov  [top],TOP
  120. red:                    ; ¯¥à¥à¨á®¢ âì ®ª­®
  121.  
  122.     call draw_window    ; ¢ë§ë¢ ¥¬ ¯à®æ¥¤ãàã ®âà¨á®¢ª¨ ®ª­ 
  123.  
  124. ;---------------------------------------------------------------------
  125. ;---  –ˆŠ‹ Ž€Ž’Šˆ ‘Ž›’ˆ‰  ----------------------------------------
  126. ;---------------------------------------------------------------------
  127.  
  128. still:
  129.     mcall 10            ; äã­ªæ¨ï 10 - ¦¤ âì ᮡëâ¨ï
  130.  
  131.     cmp  eax,1          ; ¯¥à¥à¨á®¢ âì ®ª­® ?
  132.     je   red            ; ¥á«¨ ¤  - ­  ¬¥âªã red
  133.     cmp  eax,3          ; ­ ¦ â  ª­®¯ª  ?
  134.     je   button         ; ¥á«¨ ¤  - ­  button
  135.  
  136. ;---------------------------------------------------------------------
  137.  
  138.  
  139.   key:                  ; ­ ¦ â  ª« ¢¨è  ­  ª« ¢¨ âãà¥
  140.     mcall 2             ; äã­ªæ¨ï 2 - áç¨â âì ª®¤ ᨬ¢®«  (¢ ah)
  141.     cmp  ah,104         ; HELP
  142.     jne  .nohelp
  143.   .help:
  144.     xor  [mode],RTF_HELP
  145.     test [mode],RTF_HELP
  146.     jz   load_file
  147.     mov  ecx,help_end-help_file
  148.     mov  [block_end],ecx
  149.     add  [block_end],I_END
  150.     mov  [tail],ecx
  151.     add  [tail],I_END
  152.     mov  esi,help_file
  153.     mov  edi,I_END
  154.     rep  movsb
  155. ;    or   [mode],RTF_HELP
  156.     xor  eax,eax
  157.     mov  [max_block],eax
  158.     jmp  top_red
  159.   .nohelp:
  160. ;    test [mode],RTF_HELP
  161. ;    jz   .nohelp2
  162. ;    and  [mode],not RTF_HELP
  163. ;    cmp  dword[fileinfo.name],N_A
  164. ;    je   still
  165. ;    jmp  prep_load
  166.   .nohelp2:
  167.     cmp  ah,114         ; R - redraw
  168.     je   red
  169.     cmp  ah,99          ; C - color
  170.     jne  .nocolor
  171.   .color:
  172.     xor  [mode],RTF_COLORLESS
  173.     jmp  red
  174.   .nocolor:
  175.     cmp  ah,97          ; A - alignment
  176.     jne  .noalign
  177.   .alignment:
  178.     xor  [mode],RTF_ALIGNLESS
  179.     jmp  red
  180.   .noalign:
  181.     cmp  ah,44          ; < - pitch dec
  182.     jne  .nopd
  183.   .decp:
  184.     dec  [pitch]
  185.     jmp  red
  186.   .nopd:
  187.     cmp  ah,46          ; < - pitch inc
  188.     jne  .nopi
  189.   .incp:
  190.     inc  [pitch]
  191.     jmp  red
  192.   .nopi:
  193.     cmp  ah,180         ; Home
  194.     je   top_red
  195.     mov  ebx,dword[prcinfo+46]
  196.     sub  ebx,TOP+15
  197.     cmp  ah,183 ;PgDn
  198.     jne  .nopgdn
  199.     sub  [top],bx
  200.     jmp  red
  201.   .nopgdn:
  202.     cmp  ah,177 ;arrDn
  203.     jne  .noardn
  204.     sub  [top],CHARH
  205.     jmp  red
  206.   .noardn:
  207.     mov  cx,[top]
  208.     cmp  ah,184 ;PgUp
  209.     jne  .nopgup
  210.     add  [top],bx
  211.     cmp  [top],TOP
  212.     jl   red
  213.     mov  [top],TOP
  214.     cmp  cx,[top]
  215.     je   still
  216.     jmp  red
  217.   .nopgup:
  218.     cmp  ah,178 ;arrUp
  219.     jne  .noarup
  220.     add  [top],CHARH
  221.     cmp  [top],TOP
  222.     jl   red
  223.     mov  [top],TOP
  224.     cmp  cx,[top]
  225.     je   still
  226.     jmp  red
  227.   .noarup:
  228.   if  RENDER eq FREE
  229.     cmp  ah,56 ;zoom+
  230.     jne  .noplus
  231.   .zplus:
  232.     fld  [FreeFontscale]
  233.     fmul [Zoomscale]
  234.   .zoom:
  235.     fstp [FreeFontscale]
  236.     jmp  red
  237.   .noplus:
  238.     cmp  ah,54 ;zoom-
  239.     jne  .nominus
  240.   .zminus:
  241.     fld  [FreeFontscale]
  242.     fdiv [Zoomscale]
  243.     jmp  .zoom
  244.   .nominus:
  245.   end if
  246.     cmp  ah,108         ; L - load
  247.     jne  stilld
  248.   .file_open:
  249.     or   [mode],RTF_OPENING
  250.     opendialog draw_window, prep_load, st_1, fname_buf
  251.   st_1:
  252.     and  [mode],not RTF_OPENING
  253.     jmp  still;red
  254.   stilld:
  255.     jmp  still
  256.  
  257. ;---------------------------------------------------------------------
  258.  
  259.   button:
  260.     mcall 17            ; 17 - ¯®«ãç¨âì ¨¤¥­â¨ä¨ª â®à ­ ¦ â®© ª­®¯ª¨
  261.     cmp   ah,2
  262.     je    key.help
  263.     cmp   ah,3
  264.     je    key.color
  265.     cmp   ah,4
  266.     je    key.alignment
  267.     cmp   ah,5
  268.     je    key.file_open
  269.     cmp   ah,6
  270.     je    key.incp
  271.     cmp   ah,7
  272.     je    key.decp
  273.   if RENDER eq FREE
  274.     cmp   ah,8
  275.     je    key.zminus
  276.     cmp   ah,9
  277.     je    key.zplus
  278.   end if
  279.     cmp   ah, 1         ; ¥á«¨ … ­ ¦ â  ª­®¯ª  á ­®¬¥à®¬ 1,
  280.     jne   .noexit       ;  ¢¥à­ãâìáï
  281.  
  282.   .exit:
  283.     mcall -1            ; ¨­ ç¥ ª®­¥æ ¯à®£à ¬¬ë
  284.   .noexit:
  285.     cmp   ah,20
  286.     jne   still
  287.     mcall 37,1
  288.     and   eax,0xffff
  289.     cmp   eax,[HClick]
  290.     je    still
  291.     mov   [HClick],eax
  292.     sub   eax,25
  293.     mul   [HDoc]
  294.     mov   ebx,dword[prcinfo+46]
  295.     sub   ebx,25
  296.     div   ebx
  297.     dpd   eax
  298.     mov   [top],TOP
  299.     sub   [top],ax
  300.     dps   'B'
  301.     jmp   red;still
  302. ;---------------------------------------------------------------------
  303. ;---  Ž…„…‹…ˆ… ˆ Ž’ˆ‘Ž‚Š€ ŽŠ€  ----------------------------------
  304. ;---------------------------------------------------------------------
  305.  
  306. draw_window:
  307.  
  308.     mcall 12, 1                    ; äã­ªæ¨ï 12: á®®¡é¨âì Ž‘ ®¡ ®âà¨á®¢ª¥ ®ª­ 
  309.                                    ; 1 - ­ ç¨­ ¥¬ à¨á®¢ âì
  310.  
  311.     mcall 0, <10,WINW>, <100,WINH>, WIN_COLOR,0x805080D0, 0x005080D0
  312.     mcall 4, <8,8>, 0x10DDEEFF, title, titlesize-title
  313.     mov  esi,ecx
  314.     mcall 47,0x30000,isymImplemented,<114,8>
  315.     add  edx,36 shl 16
  316.     mcall ,,isymMax
  317.     add  edx,40 shl 16
  318.     mov  esi,0x104e00e7;0x10f27840
  319.     cmp  dword[fileinfo.name],N_A
  320.     jne  .noNA
  321.     mov  esi,0x10ff0000
  322.   .noNA:
  323.     mcall 4,edx,esi,fileinfo.name,[fname_size]
  324.     mov  edi,prcinfo
  325.     mcall 9,edi,-1
  326.     and  [mode],not RTF_TOEOF
  327.     mov  ebx,[edi+42]
  328.     cmp  ebx,[wSave]
  329.     je   .nochg
  330.   .chg:
  331.     mov  [wSave],ebx
  332.     or   [mode],RTF_TOEOF
  333.     and  [HDoc],0
  334.     and  [line_count],0
  335.     mov  [HClick],-100
  336.   .nochg:
  337.  
  338.  
  339. mcall 13,<5,dword[prcinfo+42]>,<21,21>,0x8000459a
  340.  
  341. mcall 8,7*65536+39,23*65536+16,5,0x459a           ;load
  342. mcall 8,46*65536+57,23*65536+16,4,0x459a ;align
  343. mcall 8,103*65536+44,23*65536+16,3,0x459a   ;color
  344. mcall 8,147*65536+37,23*65536+16,2,0x459a        ;help
  345.  
  346. mcall 8,184*65536+44,23*65536+16,7,0x459a ;prev
  347. mcall 8,229*65536+46,23*65536+16,6,0x459a      ;next
  348.  
  349. if RENDER eq FREE
  350. mcall 8,276*65536+44,23*65536+16,9,0x459a ;zoom+
  351. mcall 8,320*65536+44,23*65536+16,8,0x459a ;zoom-
  352. end if
  353.  
  354.  
  355.  
  356.  
  357. ;    sub  ebx,60
  358. ;    shl  ebx,16
  359. ;    mov  bx,12
  360. ;    mov  ecx,5 shl 16+12
  361. ;    mov  esi,0xb810e7
  362. ;    mov  edx,2
  363. ; BTN_SPACE equ 14 shl 16
  364. ;    mcall 8             ;2
  365. ;    sub  ebx,BTN_SPACE
  366. ;    inc  edx
  367. ;    mcall 8,,,,0x459a    ;3
  368. ;    sub  ebx,BTN_SPACE
  369. ;    inc  edx
  370. ;    mcall ,,,,0x107a30  ;4
  371. ;    sub  ebx,BTN_SPACE
  372. ;    inc  edx
  373. ;    mcall ,,,,0xcc0000  ;5
  374. ;    sub  ebx,BTN_SPACE
  375. ;    inc  edx
  376. ;    mcall ,,,,0x575f8c  ;6
  377. ;    sub  ebx,BTN_SPACE
  378. ;    inc  edx
  379. ;    mcall ,,,,0x575f8c  ;7
  380. ;  if RENDER eq FREE
  381. ;    sub  ebx,BTN_SPACE
  382. ;    inc  edx
  383. ;    mcall ,,,,0x6a73d0  ;8
  384. ;    sub  ebx,BTN_SPACE
  385. ;    inc  edx
  386. ;    mcall ,,,,0xd048c8  ;9
  387. ;  end if
  388. ;text
  389. ;    shr  ecx,16
  390. ;    mov  bx,cx
  391. ;    add  ebx,3 shl 16+3
  392.     mcall 4,10*65536+27,0x10ddeeff,btn_text,btn_end-btn_text
  393.  
  394.     sub  dword[prcinfo+42],LMARGIN
  395.     sub  dword[prcinfo+46],CHARH
  396.  if GUTTER eq 1
  397.     mov  ebx,LMARGIN shl 16+20
  398.     mov  ecx,20
  399.     mov  eax,4
  400.     mov  edx,arrow
  401.     mov  esi,1
  402.   .loop1:
  403.     push ecx
  404.     mcall ,,0xff0000
  405.     pop  ecx
  406.     add  ebx,50 shl 16
  407.     loop .loop1
  408.  end if
  409.     mov  ebx,dword[prcinfo+42]
  410.     shl  ebx,16
  411.     add  ebx,2 shl 16+13
  412.     mov  ecx,dword[prcinfo+46]
  413.     add  ecx,40 shl 16-35
  414.     mov  edx,20+1 shl 29
  415.     mcall 8
  416.     mov  ecx,[HClick]
  417.     shl  ecx,16
  418.     add  ecx,6-3 shl 16 + 7
  419.     mcall 13,,,0xe26830
  420.  if MODE eq RTF
  421.     test [mode],RTF_OPENING
  422.     jne  .ex
  423.     and  [mode],not (RTF_BOTTOM);+RTF_TOEOF)
  424.     mov  [colorptr],colortbl
  425.     mov  eax,DEFCOLOR
  426.     mov  edi,colortbl
  427.     mov  ecx,16
  428.     rep  stosd
  429.     xor  eax,eax
  430.     mov  [cGroup],eax
  431.     mov  edi,Chp
  432.     mov  ecx,SIZE_save
  433.     rep  stosb
  434.     mov  ax,[top]
  435.     mov  word[Free+6],10
  436.     mov  word[Free+4],ax
  437.     mov  esi,I_END
  438.     call RtfParse
  439.     dpd  eax
  440.     dps  'Lines='
  441.     mov  eax,[line_count]
  442.     dpd  eax
  443.     newline
  444. ;    movzx  eax,word[Free+4]
  445. ;    dpd  eax
  446.     mov  eax,dword[prcinfo+42]
  447.     mov  edx,WIN_COLOR
  448.     call draw_progress
  449. if BENCH eq 1
  450.     mcall 26,9
  451.     sub  eax,[bench]
  452.     dps  <13,10,'Bench='>
  453.     dpd  eax
  454. end if
  455.  else
  456.     mov  [char],0
  457.     mov  ebx,10 shl 16+TOP
  458.     mov  ecx,16
  459.   .l0:
  460.     push ecx
  461.     mov  ecx,16
  462.   .l1:
  463.     push ecx
  464.   if RENDER eq BGI
  465.     mov  edx,char
  466.     mov  ecx,0x48000000
  467.     mov  esi,1
  468.     BGIfont_Outtext
  469.   else
  470.     mcall 4,,0x10000000,char,1
  471.   end if
  472.     pop  ecx
  473.     inc  [char]
  474.     add  ebx,(CHARW+3) shl 16
  475.     loop .l1
  476.     pop  ecx
  477.     add  ebx,CHARH+2
  478.     and  ebx,0x0000ffff
  479.     add  ebx,10 shl 16
  480.     loop .l0
  481.  end if
  482.  .ex:
  483.     mcall 12, 2                    ; äã­ªæ¨ï 12: á®®¡é¨âì Ž‘ ®¡ ®âà¨á®¢ª¥ ®ª­ 
  484.                                    ; 2, § ª®­ç¨«¨ à¨á®¢ âì
  485.     ret                            ; ¢ë室¨¬ ¨§ ¯à®æ¥¤ãàë
  486.  
  487. if GUTTER eq 1
  488.    arrow db 0x19
  489. end if
  490. ;---------------------------------------------------------------------
  491. ;---  „€›… Žƒ€ŒŒ›  ----------------------------------------------
  492. ;---------------------------------------------------------------------
  493.  
  494. ; ¨­â¥àä¥©á ¯à®£à ¬¬ë ¬­®£®ï§ëç­ë©
  495. ;  ‚ë ¬®¦¥â¥ § ¤ âì ï§ëª ¢ MACROS.INC (lang fix ï§ëª)
  496.  
  497. title:
  498.   db 'RTF Reader v1.    (     ):'
  499. titlesize:
  500. btn_text:
  501.     db 'Load Aligment Color Help     <      >'
  502. if RENDER eq FREE
  503.     db '    Zoom+ Zoom- '
  504.   end if
  505. btn_end:
  506.  
  507. attrinfo:
  508.         dd      5
  509.         dd      0
  510.         dd      0
  511.         dd      0
  512.         dd      fileattr
  513.         db      0
  514.         dd      fileinfo.name
  515.  
  516. fileinfo:
  517.   dd 0
  518. .block:
  519.   dd 0
  520.   dd 0
  521. .size  dd 1
  522.   dd I_END
  523. .name:
  524. ;   db '//'
  525. ;  db ' /HD/1/RTF/texts/FASM.TXT',0
  526. ;  db '/HD/1/RTF/TEST2.RTF',0
  527. ;  db '/HD/1/RTF/texts/index_ru.RTF',0
  528. ;  db '/HD/1/RTF/texts/stas.RTF',0
  529. ;  db '/HD/1/RTF/texts/zed.RTF',0
  530. ;  db '/HD/1/RTF/PRACT.RTF',0
  531. ;  db '/HD/1/RTF/SETUP2.RTF',0
  532. ;  db '/HD/1/RTF/texts/TC_RU.RTF',0
  533. ;  db '/HD/1/RTF/texts/WORD.RTF',0
  534. ;  db '/HD/1/RTF/texts/WORD97.RTF',0
  535. ;  db '/HD/1/RTF/texts/MASTAPP.RTF',0
  536. ;  db '/HD/1/RTF/texts/1c_tor77.RTF',0
  537. ;  db '/HD/1/RTF/texts/RELATION.RTF',0
  538. ;  db '/HD/1/RTF/texts/PLANETS.RTF',0
  539. ;  db '/HD/1/RTF/texts/LOTRRUS.RTF',0
  540. ;  db '/HD/1/RTF/texts/RULEBOOK.RTF',0
  541. ;  db '/HD/1/RTF/texts/RULEBK2.RTF',0
  542. ;  db '/HD/1/RTF/texts/GLEB.RTF',0
  543. ;  db '/HD/1/RTF/texts/DWG13_14.RTF',0
  544. ;  db '/HD/1/RTF/texts/LK.RTF',0
  545.  
  546. ;  db '/HD/1/RTF/texts/JUSTIFY.RTF',0
  547.    rb  256-($-.name)
  548. ;---------------------------------------------------------------------
  549. ;blind db ?
  550. if RENDER eq PIX
  551. ;  rd 2
  552.   Free rd 9
  553. else
  554. if RENDER eq BGI
  555.   FreeFontscale dd 0.07
  556. else
  557.   Zoomscale dd 1.15
  558.   FreeFontscale dd 0.04
  559. end if
  560.   Free BGIfree FONT_NAME,0,0,1.0,1.0,char,1,0x44000000,0
  561. end if
  562. I_END0:
  563. fname_buf:
  564.         rb      1024+16
  565. fileattr rd 40/4
  566. if BENCH eq 1
  567.   bench dd ?
  568. end if
  569. tail dd ?
  570. cGroup dd ?
  571. Chp:
  572.   CHP
  573. Pap:
  574.   PAP
  575. Sep:
  576.   SEP
  577. Dop:
  578.   DOP
  579. rds db ?
  580. ris db ?
  581. cbBin dd ?
  582. lParam dd ?
  583. fSkipDestIfUnk db ?
  584. mode dd ?
  585. curheight dw ?
  586. maxheight dw ?
  587. RetroBlock dd ?
  588. RetroSave:
  589.   SAVE
  590. prcinfo rb 1024
  591. RetroPtr dd ?
  592. colorptr dd ?
  593. colortbl rd 16
  594. ct_end:
  595. fname_size dd ?
  596. max_block dd ?
  597. cur_block dd ?
  598. HDoc dd ?
  599. HClick dd ?
  600. top dw ?
  601. line_count dd ?
  602. par_count  dd ?
  603. char db ?
  604. pitch db ?
  605. wSave dd ?
  606. RetroXY dd ?
  607. RetroGroup dd ?
  608.  
  609. save_stack:
  610. rb RTFSTACKSIZE
  611. save_limit:
  612. rb BGIFONTSIZE
  613.  
  614. listptr dd ?
  615. szKeyword rb 31
  616. szParameter rb 21
  617. block_end dd ?
  618. I_END:                             ; ¬¥âª  ª®­æ  ¯à®£à ¬¬ë
  619.  
  620. procinfo process_information
  621. rb RTFSIZE
  622. esp1:
  623. rb ESPSIZE
  624. sys_mem:
  625. rb ESPSIZE
  626. esp_end:
  627.