Difference between revisions of "HiSoft Pascal"

From Enterprise Wiki
Jump to: navigation, search
(HiSoft Pascal)
(Módosítások az 1.1-es verzióhoz képest)
Line 21: Line 21:
  
 
== Módosítások az 1.1-es verzióhoz képest ==
 
== Módosítások az 1.1-es verzióhoz képest ==
 +
Egész számok írása
 +
 +
Az 1.1-es verzióban a számok után egy szóközt is kiír a program. Ez törölve lett, hogy a számok írása ugyanolyan legyen, mint a Turbo Pascal-ban.
 +
 +
Eredeti kód:
 +
l33b7:  db      6
 +
        call    l05e5          ;writes HL to num
 +
        call    l063d          ;WriteSpace
 +
 +
javítva:
 +
l33b7:  db      3
 +
        call    l05e5          ;writes HL to num
 +
        call    l063d          ;WriteSpace
 +
 +
 +
----
 +
  
 
'''PAGE'''
 
'''PAGE'''

Revision as of 18:49, 5 December 2013

HiSoft Pascal

A HiSoft Pascal elterjedt Pascal fordító volt a 8 bites számítógépeken. Kiadták Spectrum-ra, CPC-re és ENTERPRISE-ra is.

Dokumentációk:

Spectrum verzió [1]

CPC verzió [2]

MTX512 verzió [3]

ENTERPRISE verzió [4]


Módosítások az 1.1-es verzióhoz képest

Egész számok írása

Az 1.1-es verzióban a számok után egy szóközt is kiír a program. Ez törölve lett, hogy a számok írása ugyanolyan legyen, mint a Turbo Pascal-ban.

Eredeti kód:

l33b7:  db      6
        call    l05e5           ;writes HL to num
        call    l063d           ;WriteSpace

javítva:

l33b7:  db      3
        call    l05e5           ;writes HL to num
        call    l063d           ;WriteSpace




PAGE

A PAGE parancs feladata a képernyőtörlés és a lapdobás (nyomtatón). Ez a parancs egy CHR(12) karaktert ír ki, ez a kódja a lapdobásnak és Spectrum-on a képernyőtörlésnek is. Lefordított állapotban így néz ki a kód:

 LD   A,12
 CALL 0112H ;WriteChar

A módosított verzióban viszont így fordul le:

     LD   A,(14F7H)
     OR   A         ;mi az output? (0=képernyő, 1=printer)
     LD   A,12      ;a lapdobás kódja a nyomtatón
     JR   NZ,kiir   ;ha A<>0, akkor chr(12)-t fog írni
     LD   A,26      ;ha A=0, akkor CHR(26)-ot fog írni
kiir CALL 0112H     ;karakter írása

Így már ENTERPRISE-on is jól működik a PAGE parancs.

A nyomtató- és képernyőkimenet között a CHR(16) (CTRL+P) kóddal tudunk váltani:

 WRITELN('Most a kepernyore ir.');
 WRITELN(CHR(16),'Most viszont a nyomtatora!');
 WRITELN(CHR(16),'Ezt meg mar megint a kepernyore.');