Subversion Repositories Kolibri OS

Rev

Blame | Last modification | View Log | Download | RSS feed

  1.  
  2.  
  3. reserve EQU Mreserve-main_task
  4.  
  5.  
  6.  
  7. amain: 
  8.         MOV     [ByeLevel],ESP
  9.         mov edi, main_task
  10.         call    cfa_INIT
  11.         ret
  12.  
  13. TIB_SIZE EQU 1027
  14. PAD_SIZE EQU 1027
  15.  
  16. include 'img.asm'
  17.  
  18. cfa_AHEADER 0,"BYE",_BYE
  19.         MOV     ESP,[ByeLevel]
  20.         RET
  21.  
  22.  
  23. cfa_AHEADER 0,"_SLITERAL-CODE",_SLITERALminusCODE
  24.         LEA     EBP, [EBP-8]
  25.         MOV     [EBP+4], EAX
  26.         POP     EBX
  27.         MOVZX   EAX, BYTE [EBX]
  28.         LEA     EBX, [EBX+1]
  29.         MOV     [EBP], EBX
  30.         LEA     EBX, [EBX+EAX]
  31.         LEA     EBX, [EBX+1]
  32.         JMP     EBX
  33.  
  34.  
  35.  
  36. cfa_AHEADER 0,"_CONSTANT-CODE",_CONSTANTminusCODE        
  37.         LEA     EBP,[EBP-4]
  38.         MOV     [EBP],EAX
  39.         POP     EAX
  40.         MOV     EAX,[EAX]
  41.         RET  
  42.  
  43. cfa_AHEADER 0,"_CREATE-CODE",_CREATEminusCODE
  44.  DB 083H ,0EDH ,4
  45.  DB 089H ,045H ,0
  46.  DB 058H
  47.  DB 0C3H
  48.  
  49. cfa_AHEADER 0,"_TOVALUE-CODE",_TOVALUEminusCODE
  50.  DB 05BH
  51.  DB 08DH ,05BH ,0F7H
  52.  DB 089H ,03
  53.  DB 08BH ,045H ,00
  54.  DB 08DH ,06DH ,04
  55.  DB 0C3H
  56.  
  57. cfa_AHEADER 0,"TOVALUE-CODE",TOVALUEminusCODE
  58.  call cfa__CONSTANTminusCODE
  59.  DD cfa__TOVALUEminusCODE
  60.  call cfa__TOVALUEminusCODE
  61.  
  62. cfa_AHEADER 0,"VECT-CODE",VECTminusCODE
  63.  call cfa__CONSTANTminusCODE
  64.  DD cfa__VECTminusCODE
  65.  call cfa__TOVALUEminusCODE
  66.  
  67. cfa_AHEADER 0,"_VECT-CODE",_VECTminusCODE
  68.  DB 05BH
  69.  DB 0FFH ,023H
  70.  
  71. cfa_AHEADER 0,"_USER-VALUE-CODE", _USERminusVALUEminusCODE
  72.         LEA     EBP,[EBP-4]
  73.         MOV     [EBP],EAX
  74.         POP     EAX
  75.         MOV     EAX,[EAX]
  76.         LEA     EAX,[EDI+EAX]
  77.         MOV     EAX,[EAX]
  78.         RET
  79.  
  80. cfa_AHEADER 0,"USER-VALUE-CODE",USERminusVALUEminusCODE
  81.  call cfa__CONSTANTminusCODE
  82.  DD cfa__USERminusVALUEminusCODE
  83.  call cfa__TOVALUEminusCODE
  84.  
  85. cfa_AHEADER 0,"_TOUSER-VALUE-CODE",_TOUSERminusVALUEminusCODE
  86.  DB 05BH
  87.  DB 083H ,0EBH ,09
  88.  DB 08BH ,01BH
  89.  DB 03 ,0DFH
  90.  DB 089H ,03
  91.  DB 08BH ,045H ,00
  92.  DB 083H ,0C5H ,04
  93.  DB 0C3H
  94.  
  95. cfa_AHEADER 0,"TOUSER-VALUE-CODE",TOUSERminusVALUEminusCODE
  96.  call cfa__CONSTANTminusCODE
  97.  DD cfa__TOUSERminusVALUEminusCODE
  98.  call cfa__TOVALUEminusCODE
  99.  
  100. cfa_AHEADER 0,"_USER-CODE", _USERminusCODE
  101.         LEA     EBP,[EBP-4]
  102.         MOV     [EBP],EAX
  103.         POP     EAX
  104.         MOV     EAX,[EAX]
  105.         LEA     EAX,[EDI+EAX]
  106.         RET
  107.  
  108. cfa_AHEADER 0,"DOES>A",DOESgreatA
  109.  call cfa__USERminusCODE
  110.  DD T_DOESgreatA-main_task
  111.  
  112. cfa_AHEADER 0,"USER-CODE",USERminusCODE
  113.  call cfa__CONSTANTminusCODE
  114.  DD cfa__USERminusCODE
  115.  call cfa__TOVALUEminusCODE
  116.  
  117. cfa_AHEADER 0,"CREATE-CODE",CREATEminusCODE
  118.  call cfa__CONSTANTminusCODE
  119.  DD cfa__CREATEminusCODE
  120.  call cfa__TOVALUEminusCODE
  121.  
  122. cfa_AHEADER 0,"CONSTANT-CODE",CONSTANTminusCODE
  123.  call cfa__CONSTANTminusCODE
  124.  DD cfa__CONSTANTminusCODE
  125.  call cfa__TOVALUEminusCODE
  126.  
  127. cfa_AHEADER 0,"_CLITERAL-CODE",_CLITERALminusCODE
  128.  DB 083H ,0EDH ,04
  129.  DB 089H ,045H ,00
  130.  DB 058H
  131.  DB 0FH ,0B6H ,018H
  132.  DB 08DH ,05CH ,03 ,02
  133.  DB 0FFH ,0E3H
  134.  
  135. cfa_AHEADER 0,"CLITERAL-CODE",CLITERALminusCODE
  136.  call cfa__CONSTANTminusCODE
  137.  DD cfa__CLITERALminusCODE
  138.  call cfa__TOVALUEminusCODE
  139.  
  140.  
  141. cfa_AHEADER 0,'BASE',BASE
  142.  call cfa__USERminusCODE
  143.  DD T_BASE-main_task
  144.  
  145. cfa_AHEADER 0,'PAD',PAD
  146.  call cfa__USERminusCODE
  147.  DD T_PAD-main_task
  148.  
  149. cfa_AHEADER 0,'LAST',LAST
  150.  call cfa__CREATEminusCODE
  151.  DD LastNFA
  152.  
  153.  cfa_AHEADER 0,'DP',DP
  154.  call cfa__CONSTANTminusCODE
  155.  DD CP_P ; DP_BUFF
  156.  
  157. cfa_AHEADER 0,'''DROP_V',ticDROP_V
  158.  call cfa__CONSTANTminusCODE+00H
  159.  DD cfa_DROP
  160.  call cfa__TOVALUEminusCODE+00H
  161.  
  162. cfa_AHEADER 0,'''DUP_V',ticDUP_V
  163.  
  164.  call cfa__CONSTANTminusCODE
  165.  DD cfa_DUP
  166.  call cfa__TOVALUEminusCODE+00H
  167.  
  168. cfa_AHEADER 0,'CONTEXT',_CONTEXT
  169.  call cfa__USERminusVALUEminusCODE
  170.  DD T_CONTEXT-main_task
  171.  call cfa__TOUSERminusVALUEminusCODE
  172.  
  173. cfa_AHEADER 0,'>IN',greatIN
  174.  call cfa__USERminusCODE
  175.  DD T_greatIN-main_task
  176.  
  177. cfa_AHEADER 0,'>OUT',greatOUT
  178.  call cfa__CREATEminusCODE
  179. TO_OUT   dd 0
  180.  
  181. cfa_AHEADER 0,'CURFILE',CURFILE
  182.  call cfa__USERminusCODE
  183.  DD T_CURFILE-main_task
  184.  
  185. cfa_AHEADER 0,'S0',S0
  186.  call cfa__USERminusCODE
  187.  DD T_S0-main_task
  188.  
  189. cfa_AHEADER 0,'R0',R0
  190.  call cfa__USERminusCODE
  191.  DD T_R0-main_task
  192.  
  193. cfa_AHEADER 0,'SOURCE-ID',SOURCEminusID
  194.  call cfa__USERminusVALUEminusCODE
  195.  DD T_SOURCEminusID-main_task
  196.  call cfa__TOUSERminusVALUEminusCODE
  197.  
  198. cfa_AHEADER 0,'TIB',TIB
  199.  call cfa__USERminusVALUEminusCODE
  200.  DD T_TIB-main_task
  201.  call cfa__TOUSERminusVALUEminusCODE
  202.  
  203. cfa_AHEADER 0,'#TIN',nTIB
  204.  call cfa__USERminusCODE
  205.  DD T_nTIB-main_task
  206.  
  207. cfa_AHEADER 0,'CURSTR',CURSTR
  208.  call cfa__USERminusCODE
  209.  DD T_CURSTR-main_task
  210.  
  211. cfa_AHEADER 0,'SLITERAL-CODE',SLITERALminusCODE
  212.  call cfa__CONSTANTminusCODE
  213.  DD cfa__SLITERALminusCODE
  214.  call cfa__TOVALUEminusCODE
  215.  
  216. cfa_AHEADER 0,'USER-OFFS',USERminusOFFS
  217.  call cfa__CREATEminusCODE
  218.  DD reserve+MUSEROFFS
  219.  
  220. cfa_AHEADER 0,'HANDLER',HANDLER
  221.  call cfa__USERminusCODE
  222.  DD T_HANDLER-main_task
  223.  
  224. cfa_AHEADER 0,'STATE',STATE
  225.  call cfa__USERminusCODE
  226.  DD T_STATE-main_task
  227.  
  228. cfa_AHEADER 0,'CURRENT',CURRENT
  229.  call cfa__USERminusCODE
  230.  DD T_CURRENT-main_task
  231.  
  232. cfa_AHEADER 0,'W-CNT',WminusCNT
  233.  call cfa__USERminusCODE
  234.  DD T_WminusCNT-main_task
  235.  
  236. cfa_AHEADER 0,'S-O',SminusO
  237.  call cfa__USERminusCODE
  238.  DD T_SminusO-main_task
  239.  
  240. cfa_AHEADER 0,'ER-U',ERminusU
  241.  call cfa__USERminusCODE
  242.  DD T_ERminusU-main_task
  243.  
  244. cfa_AHEADER 0,'ER-A',ERminusA
  245.  call cfa__USERminusCODE
  246.  DD T_ERminusA-main_task
  247.  
  248. cfa_AHEADER 0,'FORTH-WORDLIST',FORTHminusWORDLIST
  249.  call cfa__CONSTANTminusCODE
  250.  DD T_FORTH+4
  251.  call cfa__TOVALUEminusCODE
  252.  
  253. cfa_AHEADER 0,'VOC-LIST',VOCminusLIST
  254.  call cfa__CREATEminusCODE
  255.  DD T_FORTH
  256.  
  257. cfa_AHEADER 0,'WARNING',WARNING
  258.  call cfa__USERminusCODE
  259.  DD T_WARNING-main_task
  260.  
  261. ;cfa_AHEADER 0,'LAST_KEY',LAST_KEY
  262. ; call cfa__CREATEminusCODE
  263. ;       DD last_key
  264.  
  265. cfa_AHEADER 0,"BLK",BLK
  266.  call cfa__USERminusCODE
  267.  DD T_BLK-main_task
  268.  
  269.  
  270.  
  271. ;cfa_AHEADER 0,"UZERO",UZERO_M
  272. ; call cfa__CONSTANTminusCODE
  273. ; DD UZERO
  274.  
  275. cfa_AHEADER 0,"UPP",UPP_M
  276.  call cfa__CONSTANTminusCODE
  277.  DD UPP
  278.  
  279. cfa_AHEADER 0,"ULAST",ULAST_M
  280.  call cfa__CONSTANTminusCODE
  281.  DD ULAST
  282.  
  283. cfa_AHEADER 0,"SPP",SPP_M
  284.  call cfa__CONSTANTminusCODE
  285.  DD SPP
  286. cfa_AHEADER 0,"TIBB",TIBB_M
  287.  call cfa__CONSTANTminusCODE
  288.  DD TIBB
  289.  
  290. cfa_AHEADER 0,"#TIB",NTIB_M
  291.  call cfa__CONSTANTminusCODE
  292.  DD NTIB_P
  293.  
  294. cfa_AHEADER 0,"sbuf",screen_buf_M
  295.  call cfa__CONSTANTminusCODE
  296.  DD screen_buf
  297.  
  298. cfa_AHEADER 0,"cursor",cursor_M
  299.  call cfa__CONSTANTminusCODE
  300.  DD cursor
  301.  
  302. cfa_AHEADER 0,"FINFO",FINFO
  303.  call cfa__CREATEminusCODE
  304.  DD FINFO
  305.  
  306. cfa_AHEADER 0,"ROWH",ROWH
  307.  call cfa__CONSTANTminusCODE
  308.  DD ROWH
  309.  call cfa__TOVALUEminusCODE
  310.  
  311. cfa_AHEADER 0,"ROWW",ROWW
  312.  call cfa__CONSTANTminusCODE
  313.  DD 6
  314.  call cfa__TOVALUEminusCODE
  315.  
  316. cfa_AHEADER 0,"MEMS",MEMS
  317.  call cfa__CONSTANTminusCODE
  318.  DD MEMS
  319.  
  320. cfa_AHEADER 0,"draw_window",draw_window
  321.         PUSH EDI
  322.         CALL draw_window
  323.         POP EDI
  324.         RET
  325.  
  326. ; cfa_AHEADER 0,'MEBLK',MEBLK
  327. ; call cfa__USERminusCODE
  328. ; DD BLK_P-main_task
  329.  
  330. main_task:
  331. T_R0:
  332.         DD 0
  333. T_S0:
  334.         DD SPP ;STACK0
  335. T_WARNING:
  336.         DD -1
  337. T_STATE:
  338.         DD 0
  339. T_BLK:
  340.         DD 0
  341. T_CURFILE:
  342.         DD 0
  343. T_HANDLER:
  344.         DD 0
  345. T_HLD:
  346.         DD 5
  347. T_BASE:
  348.         DD 0AH
  349.         DD PAD_SIZE DUP (0)
  350. T_PAD:
  351.         DD PAD_SIZE DUP (0)
  352. T_ERminusA:
  353.         DD 0
  354. T_ERminusU:
  355.         DD 0
  356. T_DOESgreatA:
  357.         DD 0
  358. ;T_ALIGNminusBYTES:
  359.         DD 0
  360. T_nTIB:
  361.         DD 0
  362. T_greatIN:
  363.         DD 5
  364. T_TIB:
  365.         DD T_ATIB
  366. T_ATIB:
  367.         DD TIB_SIZE DUP (0)
  368. T_SOURCEminusID:
  369.         DD 0
  370. T_CURSTR:
  371.         DD 0
  372. T_WBWminusNFA:
  373.         DD 0
  374. T_WBWminusOFFS:
  375.         DD 0
  376. T_CURRENT:
  377.         DD T_FORTH+4
  378. T_SminusO:
  379.         DD T_FORTH+4,T_FORTH+4
  380.         DD 16 DUP (0)
  381. T_CONTEXT:
  382.         DD T_SminusO
  383. T_greatOUT:
  384.         DD 0
  385. T_WminusCNT:
  386.         DD 0
  387. T_NNN:
  388.         DD 0
  389. Mreserve:
  390.         DD MUSEROFFS DUP (0)
  391. UPP:
  392.  
  393. BASE_P          DD      BASEE
  394. TEMP_P          DD      0                      
  395. INN_P           DD      0                      
  396. NTIB_P          DD      0                      
  397. TIB_P           DD      TIBB                   
  398. ;TEVAL_P        DD      INTER                  
  399. HLD_P           DD      0                      
  400. CNTXT_P         DD      0      
  401. CP_P            DD      CTOP
  402. ;LAST_P      DD  LASTN                   ;LAST
  403. EMIT_PROC_P      DD  -1  ; EMITPROC
  404. reg_struc_P      DD  0
  405. ; BLK_P         DD  FILE_B
  406. ; fi_struc_P      DD  FINFO
  407. workarea_P      DD  os_work
  408.  
  409.         DD 1000 DUP (0)
  410.  
  411. T_FORTH:
  412.         DD 0                    ; ¤«ï VOC-LIST
  413.         DD LastNFA              ;  ¤à¥á ¯®á«¥¤­¥£® ¨¬¥­¨ !!!!!!!!
  414.         DD 0                    ; ¯à¥¤®ª
  415.         DD 0                    ; ª« áá
  416.  
  417. ByeLevel DD 0
  418.