OldComp.cz

Komunitní diskuzní fórum pro fanoušky historických počítačů


Právě je 28.03.2024, 12:06

Všechny časy jsou v UTC + 1 hodina [ Letní čas ]




Odeslat nové téma Odpovědět na téma  [ Příspěvků: 5 ] 
Autor Zpráva
 Předmět příspěvku: Překlad pod CP/M
PříspěvekNapsal: 23.12.2022, 21:40 
Offline
Profík

Registrován: 21.10.2018, 08:27
Příspěvky: 559
Has thanked: 278 times
Been thanked: 139 times
Vrtám se v tiskovém ovladači pro CP/M od Dataputeru. Ale zdroják má direktivy, které podle studia manuálu MAC.COM tenhle překladač nezná (COND, ELSE, ENDC). Příklad zdrojáku od Dataputeru:

Kód:
   page   57
   TITLE   Ovladac tiskarny pro tisk diakritiky
   SUBTTL    Tisk pomoci uvozovek a apostrofu
;##############################################################
;#  Ovladace obecne tiskarny pro DATAPUTER CP/M               #
;#  Umi tisknout znaky s diakritikou,v kodu podle Kamenickych #
;#  Tisk probiha ve dvou fazich: nejprve se tiskne radek obsa #
;#  hujici diakritiku, pak radek obsahujici normalni ASCII.   #
;#  Diakritika se tiskne pomoci uvozovek a apostrofu.         #
;#  Interface je bud ZX FXPRINT, nebo ZX BTPRINT.             #
;#                                                            #
;#  Pro DATAPUTER napsal v kvetnu 1991       Miloslav Balcar  #
;##############################################################
;
   ASEG
   .Z80
;
BTPRINT   EQU   0   ;0=FXPRINT,  1=BTPRINT
LINE   EQU   80   ;pocet znaku na radek
;-------------------------------------------------------
FXPRINT EQU     BTPRINT XOR 1
ESC   EQU   1BH      ;definice konstant
CR   EQU   0DH      ;navrat vozu
LF   EQU   0AH      ;novy radek
FF   EQU   0CH      ;nova stranka
TABUL   EQU   09H      ;tabulator
BUFFER   EQU   23296      ;buffer tiskarny
;--------------------------------------------------------
;
   ORG   100H
;
START:   LD   C,9
   LD   DE,HLASKA
   CALL   5
   LD   IX,6423H
   LD   DE,DATA
   LD   BC,KONEC-DATA
   CALL   LISTST
   LD   IX,0FFFFH
   RET
;
LISTST:   PUSH   DE
   LD   DE,2AH
   LD   HL,(1)
   ADD   HL,DE
   POP   DE
   JP   (HL)
;-------------------------------------------------------
HLASKA:   DEFB   0DH,0AH,14H,1
   DEFB   '*  Ovlada',135,' tisk',160
   DEFB   'rny pro tisk ',135,'e',168,'tiny  *'
   DEFB   14H,0,0DH,0AH,0AH
   DEFM   'Konfigurace : '
   COND   BTPRINT
   DEFM   'BTPRINT'
   ELSE
   DEFM   'FXPRINT'
   ENDC
   DEFB   0DH,0AH
   DEFM   '* Pro DATAPUTER napsal M.Balcar,kv'
   DEFB   136,'ten 1991 *'
   DEFB   0DH,0AH,'$'
;--------------------------------------------------------
DATA:
.PHASE    6000H
;-------------------------------------------------------
   JP   INIT
   JP   STATUS
   JP   TISK
;-------------------------------------------------------
INIT:   LD   HL,BUFFER   ;ukazovatko do bufferu
   LD   (POINT),HL   ;nastavit na pocatek
   LD   (HL),CR
   XOR   A
   LD   (NCHAR),A
   LD   (FORM),A
;
   COND   BTPRINT      ;v pripade BTPRINTu musime
   LD   A,083H      ;nastavit 8255
   OUT   (7FH),A
   LD   A,0FFH      ;STROBE do log.1
   OUT   (5FH),A
   ENDC
            ;nahrajeme definice
   LD   DE,DNLC      ;znaku do tiskarny
   JP   CMD      ;odeslat na tiskarnu


Překlad souboru sice asi nějak dopadne, vytvořený HEX zkonvertuju HEXCOMem do .COM ale po spuštění to nic neudělá, a přitom by mělo ... aspoň vypsat text. Jsem v tomhle úplný začátečník, poradí někdo? Nevíte, čím a jak přeložit zdroják z dataputeru, abych vytvořil funkční ovladač?
Dík.


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Překlad pod CP/M
PříspěvekNapsal: 23.12.2022, 23:12 
Offline
Óm Nejvyšší

Registrován: 22.05.2013, 21:14
Příspěvky: 3642
Bydliště: Bratislava
Has thanked: 371 times
Been thanked: 788 times
COND, ELSE, ENDC ... to vyzera ako klasicky podmieneny prikaz. Inde sa zvykne pisat napriklad IF, ELSE, ENDIF.

COND <podmienka>
kod ; preklada sa ak je podmienka splnena
ELSE
kod ; preklada sa ak je podmienka nesplnena
ENDC


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Překlad pod CP/M
PříspěvekNapsal: 23.12.2022, 23:22 
Offline
Pan Generální
Uživatelský avatar

Registrován: 11.06.2013, 15:27
Příspěvky: 3025
Has thanked: 2191 times
Been thanked: 894 times
pwramp píše:
Ale zdroják má direktivy, které podle studia manuálu MAC.COM tenhle překladač nezná (COND, ELSE, ENDC).

Na MAC od Digital Research to nevypada...
COND a ELSE urcite nejak umel (alespon v makrech) M80 od Microsoftu.

https://www.cpm80.com/

_________________
// na co myslím, když sedím u oldkompů: celý příběh


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Překlad pod CP/M
PříspěvekNapsal: 24.12.2022, 11:16 
Offline
Profík

Registrován: 26.11.2018, 16:59
Příspěvky: 580
Bydliště: Holešov
Has thanked: 13 times
Been thanked: 90 times
pod CP/M bych na to šel klasickým duem M80 a L80 od MaléhoMěkkého

PRIKLAD.MAC kompilujeme takto:

M80 =PRIKLAD/M
L80 PRIKLAD,PRIKLAD/N/E


COND a ENDC dle návodu jsou pro Z80 syntaxi, IF ENDIF pro 8080 syntaxi

Kód:
    2.8  USING Z80 PSEUDO-OPS

    When using the MACRO-80 assembler, the  following  Z80  pseudo-ops   are
    valid. The function of each pseudo-op is  equivalent  to  that  of   its
    counterpart.

         Z80 pseudo-op       Equivalent pseudo-op

             COND          IFT
             ENDC          ENDIF
             *EJECT          PAGE
             DEFB          DB
             DEFS          DS
             DEFW          DW
             DEFM          DB
             DEFL          SET
             GLOBAL          PUBLIC
             EXTERNAL        EXTRN


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Překlad pod CP/M
PříspěvekNapsal: 24.12.2022, 12:54 
Offline
Profík

Registrován: 21.10.2018, 08:27
Příspěvky: 559
Has thanked: 278 times
Been thanked: 139 times
Dik, funguje to, presne tak jsem postupoval a preklad se zdaril.


Nahoru
 Profil  
 
Zobrazit příspěvky za předchozí:  Seřadit podle  
Odeslat nové téma Odpovědět na téma  [ Příspěvků: 5 ] 

Všechny časy jsou v UTC + 1 hodina [ Letní čas ]


Kdo je online

Uživatelé procházející toto fórum: Žádní registrovaní uživatelé a 6 návštevníků


Nemůžete zakládat nová témata v tomto fóru
Nemůžete odpovídat v tomto fóru
Nemůžete upravovat své příspěvky v tomto fóru
Nemůžete mazat své příspěvky v tomto fóru
Nemůžete přikládat soubory v tomto fóru

Hledat:
Přejít na:  
Založeno na phpBB® Forum Software © phpBB Group
Český překlad – phpBB.cz