home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 1996 May / PCW596.iso / polskie / eduk / genfast / demo_01.pak / DEMO2.DA_ < prev    next >
Text File  |  1996-02-08  |  2KB  |  58 lines

  1. ; DEMO 2
  2.  
  3. [1!]
  4. @ShowScreen;
  5. @SetPosition(30,30);
  6. To demo prezentuje mechanizm Æadowania zewnætrznych procedur,
  7. których kod znajduje siæ na dysku w odpowiednich plikach.
  8. Så to skompilowane zbiory z instrukcjami w jæzyku assembler
  9. o maksymalnie uproszczonej postaci (bez przesuniæcia o 100h bajtów
  10. typowego dla zbiorów typu .COM, ani bez innych elementów typowych
  11. dla plików .EXE).
  12. <#32>
  13. <#32>
  14. @SetColors(1,15);
  15. Teraz zostanie zaÆadowany do pamiæci zbiór DEMO.SYS i wykonany.
  16. Procedura zawarta w tym zbiorze zamienia warto₧ci znajdujåce siæ
  17. w poszczególnych rejestrach (AX z DX i BX z CX)...
  18. <#32>
  19. @SetColors(4,15);
  20. Warto₧ci rejestrów AX, BX, CX i DX, jakie wywoÆana procedura zwróciÆa
  21. znajdujå siæ w zmiennych %A, %B, %C i %D. Så one zaprezentowane
  22. poniºej. W analogiczny sposób moºna przekazaì wywoÆywanej procedurze
  23. warto₧ci tych czterech rejestrów - poprzez zapisanie ich w
  24. odpowiednich zmiennych.
  25.  
  26. @LoadCode('DEMO.SYS');
  27. @GetErrorCode;
  28. @If (%Z <> 0) then goto:3;
  29.  
  30. @A := 1;
  31. @B := 2;
  32. @C := 3;
  33. @D := 4;
  34. @ExecuteCode;
  35.  
  36. @Rectangle(50,290,140,390);
  37. @SetColors(15,15);
  38. @SetPosition(70,307);
  39. @FastWrite('AX =');
  40. @SetPosition(70,327);
  41. @FastWrite('BX =');
  42. @SetPosition(70,347);
  43. @FastWrite('CX =');
  44. @SetPosition(70,367);
  45. @FastWrite('DX =');
  46. @WriteValue(100,300,130,320,0,0,%A);
  47. @WriteValue(100,320,130,340,0,0,%B);
  48. @WriteValue(100,340,130,360,0,0,%C);
  49. @WriteValue(100,360,130,380,0,0,%D);
  50. [2]
  51. ; ustalenie strony poza zakresem, aby nacisniecie przycisku
  52. ; "z reka w prawa strone" spowodowalo po prostu wyjscie do menu
  53. @SetCurrentPage(4);
  54. @CheckEvents;
  55.  
  56. [3]
  57. @MessageBox('BÆåd','Brak pliku DEMO.SYS');
  58. @goto:2;