Top 10k strings from m18.doc
in <root> / doc / technical / specifications / CPMDOC.zip /
Back to the directory listing
48 MACRO-18 26 22 2 datele care urmeaza in mod realocabil utilizind contorul de 2 Times New Roman 2 Pentru a modifica aceasta valoare se poate folosi ORG. 2 JMP ERROR 1 vor fi legate impreuna. 1 virgule fara a mai fi nevoie de un alt separator. 1 valoarea simbolului. Daca simbolul respectiv este PUBLIC 1 utilizat pentru a apela macroinstructiunea. 1 urmatoarelor notatii speciale: 1 urmata de spatii (unul sau mai multe) si de un sir de comanda 1 unul din urmatoarele moduri: 1 uni nu au nici un efect. .LIST este implicit. 1 unei linii dupa NUL este considerat a fi argumentul lui 1 unde variabilele sint definite sau referite. 1 unde expandarea se producea chiar la intilnirea pseudoinstructiu 1 unde <mod> sint obligatoriu de acelasi tip. 1 unde < > marcheaza un cimp optional. 1 unde 'A' este o constanta de tip caracter. 1 unde <nume> este numele folosit in macrodefinitie iar parametri 1 unde <expresie> este noua valoare a contorului de locatii al 1 un simbol extern (dar numai unul). 1 tului de fisier. 1 trolata de trei pseudoinstructiuni: 1 troafe si comentarii. 1 trebuie sa fie absolute. 1 trebuie sa fie absolut. 1 tre (A, B, ...) daca acestea sint folosite in lista 1 trateaza ca si cum ar fi o instructiune DB. 1 toriu intr-o zona de memorie diferita. 1 tiv, liniile eronate sint afisate. 1 tiv de date) sau in memoria ROM/RAM (segmentul realocabil 1 tiv si valoarea celui de-al doilea in octetul cel mai putin 1 tiunea .RADIX. Pentru baza 16 daca prima cifra este A-F atunci 1 tite <,>. 1 tipul operatorului. 1 tionat la zero. 1 tii pentru un segment de program absolut. 1 tii pentru blocul COMMON specificat. 1 terul "carriage return" <CR>. 1 terminare a lotului, compusa din caracterele CONTROL/C (ETX) si 1 tere trebuiesc dublate ori de cite ori se doreste folosirea lor. 1 tere ## declara implicit acel nume ca o referinta externa. 1 ter "form feed" <FF>. 1 ta si controalele $EJECT si $TITLE ('text'). 1 sursa si obiect pina cind se intilneste in program .LIST. 1 sului de asamblare. 1 succesive. 1 sita in expresii : 1 sita cu pseudoinstructiunea ELSE care permite generarea codu 1 sistemul de operare. 1 sint semnalate ca erori. 1 sint optionale. 1 sint folositi cu CSEG si DSEG din MACRO-18. Aceste erori sint de 1 singur octet. 1 singur IF. 1 simbol intern disponibil pentru utilizarea lui, in alte module 1 si o pseudoinstructiune de definire macroinstructiune (MACRO). 1 sfirsitului de fisier. 1 separati de operanzii lor prin cel putin un spatiu. 1 separati prin virgule. 1 semnificativ. 1 semnalat ca eroare. 1 secventa este nevoie de anumiti parametri. 1 se tipareste imediat dupa valoarea simbolului caracterul I 1 se semnaleaza o eroare Q). 1 se intilneste un operator care are precedenta mai mica sau egala 1 se foloseste pseudoinstructiunea ORG. 1 sau nedefiniti. 1 sau un ELSE fara o pseudoinstructiune conditionala va cauza 1 rului obiect, se introduce numai o virgula in stinga caracteru 1 rul deschide fisierul cu extensia .CRF in locul fisierului cu 1 rile unor controale conditionale de asamblare. 1 rie fiecare modul realocabil. 1 restul expandarii sau al repetarii nu mai este generat. 1 repetat de catre asamblor de atitea ori cit indica <expresie>. 1 rent (altfel se semnaleaza eroarea U). 1 rele reguli: 1 rele caractere A-Z 0-9 $ . ? @. La citirea unui simbol literele 1 relativ de cod pina cind se va executa o pseudoinstructiune DSEG, 1 referinte incrucisate in fisierul TEST.LST. 1 referinte incrucisate pina la urmatoarea aparitie a unui .CREF. 1 referinte incrucisate LAST.CRF care se va utiliza cu programul 1 referinta incrucisata. 1 recunoscut ca un parametru formal. 1 reaza cimpul [crf#] atunci codul erorii se gaseste in 1 rea <,> cind argumentul este de fapt o lista de argumente 1 putea folosi si delimitatorul in sirul de caractere aceste carac 1 pune ca unitate de discuri unitatea selectata in mod curent. 1 pseudoinstructiuni : 1 pseudoinstructiunea COMMON. 1 pseudoinstructiune, apeluri de macroinstructiuni sau expresii. 1 programului. 1 programul sursa. 1 program, chiar daca de fiecare data de cite ori se utilizeaza 1 program la adresa 100H si executat. 1 primele. Toti operatorii cu exceptia + , - , * , / trebuiesc 1 primele 6 caractere din <text> vor fi folosite pentru numele de 1 primeasca comenzi. 1 prima coloana a listingului. 1 prima pozitie celelalte linii de control pot incepe din orice 1 prima entitate din linie este un numar de referinta 1 pot utiliza fie IF1, fie IF2. 1 poate fi diferit de numarul parametrilor din lista de parametri 1 plus sint substituiti cu sirul vid. 1 plus sint ignorati. Daca sint mai putini, parametri formali in 1 pina la noul operator. Acest lucru inseamna ca subexpresiile 1 pina cind programul este incarcat si aceste adrese asignate de 1 pentru fiecare bloc COMMON definit in program. 1 pentru fiecare aparitie a lui in macroexpandare. 1 pentru fiecare argument din lista si substituie acel simbol 1 pentru ca acesta sa caute in fisierele din lista variabile glo 1 pe 16 biti. 1 parametri formali, intr-o corespondenta unu la unu. 1 pagina noua. 1 ordine alfabetica 1 operare CP/M. 1 omise din linia de comanda. 1 octali (in functie de ce controale au fost introduse la 1 obisnuit prin : 1 obiect sa fie incarcat intr-o zona de memorie si executat obliga 1 obiect compatibile cu fisierele obiect produse de compilatoarele 1 o valoare initiala 0. Pentru a modifica aceasta valoare se poate 1 numarul de ori de care se repeta blocul de instructiuni. 1 numarul blocurilor COMMON care au fost definite in program cu 1 numai valori care au fost definite in prealabil si expresiile 1 numai primele 6 caractere. Intr-un simbol sint permise urmatoa 1 numai caractere spatiu atunci este considerat blocul COMMON 1 nnnnO sau nnnnQ Numar octal 1 nnnnH sau X'nnnn' Numar hexazecimal 1 nnnnD Numar zecimal 1 nnnnB Numar binar 1 nevoie de introducerea in paranteze 1 nea COMMON din FORTRAN. Daca <nume bloc> este omis sau contine 1 multe controale. Fiecare control se compune dintr-o litera prece 1 mul CREF-18. Pentru a genera un listing de referinte incrucisate, 1 modulului se creaza din numele fisierului sursa. 1 modului curent. 1 modificati (inlocuiti) de fiecare data cind este apelata macro 1 mod automat si cu contorul de locatii in modul cod relativ pozi 1 mici sint convertite in litere mari. 1 memorie incepind cu adresa curenta a contorului de locatii. 1 mal in bloc cu urmatorul caracter din sir. 1 mai importante facilitati ale asamblorului M18. 1 macrodefinitie. 1 m poate fi: 1 m este un indicator care semnaleaza modul in care se 1 luri legale pentru asamblor. 1 lul respectiv este declarat automat PUBLIC. 1 lui in mod alternativ cind este satisfacuta conditia opusa. 1 lui =. Daca numele fisierului obiect sau al fisierului listing 1 lucru este semnalat ca o eroare. 1 lot de programe, asteptind noi comenzi de la operator. 1 lor. Un parametru care se gaseste intr-un sir cuprins 1 lor sau a apostroafelor). 1 locatii pentru segmentul realocabil de cod. 1 locatii pentru segmentul de date. 1 listing, obiect). Extensia fisierului poate fi omisa. Extensia 1 listing TEST.LST. 1 liniilor sursa care genereaza codul obiect. 1 linie sursa si este imediat urmata de caracterul ":". 1 linie a antetului fiecarei pagini. 1 lelor in ordine alfabetica urmate de numerele de linie 1 lansarea MACRO-18, /H sau /O). 1 introduse cu litere mici vor fi convertite la litere mari. 1 introduca la consola comanda d:M18 urmata de caracterul <CR>. 1 intre apostroafe nu va fi substituit in expandare daca 1 intr-un bloc conditional fals. Blocul IRP/IRPC/REPT nu 1 instructiunea. 1 instructiunea ENDM. 1 instructiunea END nu este prelucrata deoarece se gaseste 1 initiala 0. 1 initiala 0. 1 incrucisate in fisierul T.LST. 1 incrucisate 1 incrucisata urmat de un caracter TAB. 1 includ trei pseudoinstructiuni de repetitie: 1 in pasul 1 si valoarea expresiei trebuie sa fie sau absoluta sau 1 in octeti) 1 in modul curent al contorului de locatie. 1 in limbaj de asamblare 8080 sau Z80 si de generare de fisiere cod 1 in limbaj de asamblare este necesar sa se introduca la consola 1 identic cu cel al macroasamblorului ASM80. 1 gur caracter care codifica tipul erorii. Acest caracter de eroare 1 gram se afiseaza din nou la consola "*" si se asteapta o noua 1 genereze o secventa data de instructiuni, in diferite locuri in 1 genereaza acelasi cod ca exemplele precedente. 1 genereaza octetii 1,2,3,4,5,6,7,8,9,10. 1 gaseste contorul de locatii. 1 formatul corect sau este in afara ordinului de 1 format special care sa includa si caractere de control (vezi 1 formali folosita la definitia macroinstructiunii. 1 formal intr-o macroinstructiune. 1 formal inlocuita cu sirul vid. 1 folosit atit caracterul apostrof ' cit si caracterul ". Pentru a 1 folosi ORG. 1 fisierului sursa. 1 filespec obiect,filespec listing=filespec sursa controale 1 fiecare data cind este apelata, spre deosebire de REPT/IRP/IRPC 1 fiecare intilnire in fisierul sursa a pseudoinstructiu 1 ficativ pus pe 0. Ultimul caracter din sir este memorat cu 1 ficarea unor unitati de disc. 1 fapt numai avertismente; asamblorul ignora operanzii. 1 faca cu conditionalele IFB sau IFNB. 1 externe (adica declarate PUBLIC in alte programe). 1 extern sau un nume de bloc COMMON. 1 extensia .LST. 1 expresii parantezele (). In timpul evaluarii unei expresii, cind 1 expresii devine dimensiunea noii pagini (linii/pagina). 1 expresie (de ex: absolut-relativ). 1 expandarea macro-ului arata astfel: 1 evaluari incorecte. 1 etichetele multiplu definite in expandari de macroinstructiuni 1 eticheta in interiorul unei macroinstructiuni, ceea ce elimina 1 este totdeauna asociat cu cel mai recent IF deschis. 1 este salvat ca parte a expandarii. 1 este precedat de &. 1 este omis, numele implicit este numele fisierului sursa. 1 este limitat numai de lungimea liniei. 1 este incarcat in zona de memorie curenta. 1 este ignorata si rezultatul trunchiat la 16 biti. 1 este generat ca atare. 1 este echivalenta cu 1 este echivalent cu : 1 este considerat drept delimitator. 1 este inlocuita cu un sir de text iar parantezele ascutite <,> 1 ele, sau doua virgule consecutive introduc in lista un 1 ea introdusa. 1 drive, o litera de la A la P urmata de doua puncte- in cazul in 1 disp. sursa - dispozitivul de pe care M18 citeste 1 disp. prog. obiect - dispozitivul pe care se scrie programul 1 disp. listing - dispozitivul pe care se scrie listingul 1 dintr-un argument ca un literal ( !; este echivalent cu 1 din numele dispozitivului, numele fisierului si tipul sau 1 din lista de parametri reali, vor inlocui parametri din lista de 1 delimitate de apostroafe. 1 definit si in program. 1 de program care se asambleaza sau se compileaza separat dar care 1 de parametri formali. 1 data de caracterul /. 1 dare fara ca sa listeze textul sau. 1 dar va fi definit in pasul 2. 1 daca argumentul sau (un parametru) este vid. Restul 1 cunoscut in pasul 1 pentru a preintimpina aparitia erorii V la 1 cu ultimul operator intilnit, se efectueaza toate operatiile 1 crat o singura data cu fiecare aparitie a parametrului 1 continua pina la prima aparitie a delimitatorului. 1 context ilegal. 1 consola un mesaj de eroare si trece in modul de asamblare al unui 1 considerata implicit (daca este omisa) este: 1 considerat drept delimitator. 1 considera a fi unitatea selectata in mod curent. 1 consecutivi, neinchiderea corecta a paranteze 1 comune astfel incit se pastreaza compatibilitatea cu instructiu 1 compun macroinstructiunea chiar si numele de regis 1 comenzi terminat cu <CR>. La sfirsitul asamblarii fiecarui pro 1 comanda. La sfirsitul lotului de programe se introduce comanda de 1 comanda M18 (sau d:M18 - d: reprezinta specificatia optionala de 1 codul obiect in SOURCE.REL. 1 codul erorii urmat de caracterul spatiu. Daca nu se gene 1 cite nivele. 1 cind in fisierul sursa se intilneste caracterul "form feed". 1 cind apelul este: 1 cifra trebuie precedata de un zero. 1 cele trei exemple precedente pentru apelul 1 cele doua instructiuni LXI sint identice. 1 cari a programului, unei mai rapide testari, depanari si modifi 1 care se termina cu caracterul "carriage return" <CR>. 1 care macroasamblorul se gaseste pe alt drive decit cel implicit), 1 care realizeaza functia de asamblare a programelor sursa scrise 1 care fac apel la operatori cu precedenta mai mare sint calculate 1 care caracter fiind memorat intr-un octet cu bitul cel mai 1 caracterul '#'. 1 caracterele spatiu sint ignorate. 1 caractere. 1 caractere terminate prin virgula sau >. 1 caractere este vid. 1 caracter din sir. 1 blocului de comentarii va fi: 1 bloc mai mare, expandarea continua cu blocul mai mare. 1 blata intr-un cimp de doi octeti. 1 blarii pina la o alta aparitie a delimitatorului. 1 blarea programului si se face trecerea automata in sistemul de 1 bitul cel mai semnificativ pozitionat pe 1. Un sir vid este 1 baza zecimala. Aceasta baza poate fi modificata cu pseudoinstruc 1 bale nedefinite inainte de a cauta in biblioteca FORTRAN. 1 atunci rezultatul expresiei este de tip extern. 1 ascutite < , >. 1 asamblorul trebuie sa genereze un fisier listing pe disc de un 1 asamblat care vor fi incarcate in memoria RAM mai tirziu (segmen 1 asamblare. 1 asamblare pentru programe foarte lungi sau pentru a afisa valo 1 argumentului este diferit de ";" sau este "carriage 1 argumente fiecarei aparitii a parametrului formal in bloc. 1 argument vid. 1 are sfirsit. 1 are ca valoare - valoarea primului in octetul cel mai semnifica 1 apeleze programul CREF18. 1 apel de macroinstructiune. 1 aparitia unei erori C. 1 apare in prima pozitie a fisierului listing. 1 al procesului de asamblare considera simbolul ca fiind nedefinit, 1 adunare sau scadere. 1 aceste programe este necesar sa folositi programul LINK-18. (Vezi 1 acest simbol este declarat EXTERNAL. 1 absolute de la inceputul zonei .PHASE dar codul obiect totusi 1 absolut (nerealocabil). 1 [xx] [No] Fatal error(s) [,xx warnings] 1 [crf#] [eroare] loc#m xx xxxx ... linie sursa 1 [,] indica cimpuri optionale 1 [ TITLE text ] MAC18 1.4 PAGE x[-y] 1 [ SUBTTL text ] 1 ZapfDingbats 1 ZapfChancery 1 Z Asamblare pentru mnemonice Z80 1 Y SET Y+1 1 Y SET 0 1 X SET X+1 1 X SET 0 1 Vor fi modificate la expandare in instructiunile ce 1 Valoarea trebuie sa fie cuprinsa intre 10 si 255. 1 Valoare contor de locatii pe 4 digiti hexa sau 6 digiti 1 V Eroare de evaluare. 1 Utilizarea unei referinte externe intr-un 1 Utilizarea ilegala a realocarii intr-o 1 Urmeaza <text> care cuprinde un bloc de comentarii care 1 Urmatorul caracter poate fi : 1 Urmatoarea entitate dupa eticheta este un operator. 1 Un comentariu incepe cu caracterul ; si se termina cu carac 1 Un alt exemplu care genereaza acelasi cod ilustreaza folosi 1 Un ENDIF fara un IF corespunzator cauzeaza o eroare C. 1 Un sir este compus din unul sau mai multe caractere ASCII 1 Un parametru din MACRO/REPT/IRP/IRPC este totdeauna 1 Un operator poate fi un cod de operatie (8080 sau Z80), 1 U Pentru simbol nedefinit 1 U Simbol nedefinit. 1 Toti simbolii, codurile de operatie si pseudoinstructiunile 1 Toti simbolii utilizati ca operatori in subexpresii sint in 1 Toate pseudoinstructiunile conditionale au urmatorul format: 1 Toate numele utilizate in <expresie> trebuie sa fie definite 1 Toate instructiunile urmatoare vor fi asamblate in segmentul 1 Toate etichetele din blocul .PHASE sint definite ca valori 1 Toate numele din lista trebuiesc definite in programul cu 1 Textul care urmeaza este listat la terminal in timpul asam 1 TTY: pentru consola sistem 1 TITLE <text> 1 TITLE specifica asamblorului listarea unui titlu pe prima 1 TEST.REL si fisierul referinte incrucisate TEST.CRF. 1 T.REL si fisierul referinte incrucisate U.CRF. 1 Suplimentar este posibil sa se specifice segmente de cod 1 Sirul de comanda pentru acest program este: 1 Sintaxa eronata intr-un cod de operatie. 1 Sintaxa eronata intr-o expresie (operatori 1 Simbolii pot fi de orice lungime, dar sint semnificative 1 Se pot introduce oricite SUBTTL in program. 1 Se semnaleaza eroarea M daca numele este un nume declarat 1 Se asambleaza programul din fisierul SOURCE.MAC si se plaseaza 1 Se asambleaza programul TEST.MAC, se genereaza cod obiect in 1 Se asambleaza programul TEST.MAC si se listeaza la imprimanta 1 Se asambleaza fisierul TEST.MAC si se creaza fisierul obiect 1 Se asambleaza fisierul TEST.MAC si se creaza fisierul obiect 1 Se asambleaza TEST.MAC cu fisierul obiect TEST.REL si fisierul 1 Se asambleaza MOD1.MAC cu fisierul obiect LAST.REL si fisierul 1 Scrierea in fisierul listing poate fi controlata de doua 1 SUBTTL <text> 1 SUBTTL specifica listarea unui subtitlu in fiecare antet de 1 SET, EQU, MACRO fara un nume; 1 SET este identic cu folosirea in ASM80. 1 Restul liniei contine imaginea liniei sursa asa cum a fost 1 Referinta la un nume care este urmat imediat de doua carac 1 Referinta la un simbol care este multiplu 1 REQUEST genereaza o cerere de cautare (pentru LINK-18) 1 REPT, IRP, IRPC si MACRO. 1 REPT, IRP, IRPC sau un apel macro. 1 REPT X 1 REPT <expresie> 1 REL pentru fisierul cod obiect realocabil; 1 RADIX permite schimbarea bazei implicite intr-o noua baza 1 R Eroare de realocare. 1 R Forteaza generarea codului obiect 1 Q Sintaxa ambigua. 1 Pseudoinstructiunile conditionale sint: 1 Pseudoinstructiunile conditionale pot fi inlantuite pe ori 1 Pseudoinstructiunile care selecteaza zonele realocabile sint 1 Pseudoinstructiunile ASEG, DSEG, CSEG nu au niciodata ope 1 Pseudoinstructiunile .PHASE si .DEPHASE permit codului 1 Pseudoinstructiunea LOCAL este permisa numai intr-o macrode 1 Pseudoinstructiunea EXITM este utilizata pentru a termina 1 Pseudoinstructiunea COMMON creaza o zona de date comuna 1 Pseudoinstructiunea ASEG este folosita pentru a genera cod 1 Programul LINK-18 combina aceste segmente si creaza in memo 1 Programul nu se termina cu instructiunea END sau 1 Primul caracter diferit de spatiu intilnit dupa .PRINTX este 1 Primul caracter diferit de spatiu intilnit dupa .COMMENT 1 Posibilitatea de a crea module realocabile este una din cele 1 Poate rezulta o eroare M daca unul din numele din lista este 1 Pentru numele de modul sint semnificative numai primele sase 1 Pentru compatibilitatea cu asamblorul ASM80, MACRO-18 accep 1 Pentru asamblarea fiecarui program se introduce un sir de 1 Pentru a modifica valoarea curenta a contorului de locatii 1 Pentru a incarca asamblorul si a asambla un singur program 1 Pentru a utiliza simboli externi in expresii se aplica 1 Pentru a schimba aceasta precedenta pot fi folosite in 1 Pentru a asambla un lot de programe, este necesar sa se 1 Pentru IF, IFF, IFT si IFE expresiile trebuie sa contina 1 Pe fiecare pagina de listing, primele doua linii au forma : 1 Parametru implicit este .CREF. 1 Parametri formali din lista sint parametri care vor fi 1 PUBLIC <nume>[,<nume>...] 1 PUBLIC FOO 1 PRINTX va lista textul in fiecare din cei doi pasi ai proce 1 PRINTX este folosit pentru a afisa progresul procesului de 1 PAGE [<expresie>] 1 PAGE determina listarea programului asamblat de la o pagina 1 P Eroare de faza. 1 Orice argument dintr-o operatie conditionala trebuie sa fie 1 Ordinea de evaluare este urmatoarea: 1 Operatorii sint listati in ordinea precedentei. 1 Operatorii permisi in expresii sint: 1 Operanzii PAGE si INPAGE din ASM80 genereaza erori Q cind 1 ORG este identic cu folosirea in ASM80. 1 ORG <expresie> 1 ORG <expresie> 1 OBJECT.REL si listingul la consola. 1 O valoare de tip EXTERNAL trebuie sa fie obligatoriu asam 1 O pseudoinstructiune conditionala cu mai mult decit un ELSE 1 O constanta tip caracter compusa din doua caractere ASCII 1 O constanta tip caracter este un sir de 1 sau 2 caractere 1 O Eroare de sintaxa cod de operatie. 1 O Se tiparesc toate adresele in octal 1 Numerele sint evaluate totdeauna in baza implicita in afara 1 Numele nu trebuie sa includa extensii de fisiere sau speci 1 Numele modulului mai poate fi definit cu TITLE. 1 Numele de fisiere din lista trebuie sa fie sub forma unor 1 Numarul modurilor COMMON dintr-un program este determinat de 1 Numarul erorilor fatale si al avertismentelor. 1 Numarul de parametri utilizati la apelul macroinstructiunii 1 Numarul sirurilor din lista de parametri formali sau reali 1 Numarul de argumente din <lista de argumente> determina 1 Nu este permisa aparitia in expresie a unor simboli externi 1 No Fatal error(s) 1 NewCenturySchlbk 1 NUL conditional. 1 NAME defineste un nume pentru un modul. 1 NAME (' nume modul ') 1 N Eroare intr-un numar. 1 Modulele realocabile ofera avantajul unei mai usoare codifi 1 Modul implicit pentru asamblor este relativ de cod. 1 Mesaje de eroare 1 Manual de utilizare LINK-18). 1 Macroasamblorul M18 poate functiona in doua moduri: 1 Macroasamblorul M18 (MACRO-18) este un program de sistem 1 MVI B,'A' 1 MVI B,'&X' 1 MVI C,MOV A,B 1 MVI B,(RNZ) 1 MVI A,(JMP) 1 MVI A,(CPI 5) 1 MS LineDraw 1 MACRO-18 1.4 PAGE S 1 MACRO-18 1.4 PAGE 1 1 MAC pentru fisierul sursa in limbaj de asamblare; 1 M18 pastreaza literele mici numai in sirurile intre apos 1 M Eroare simbol multiplu definit. 1 Listingul tabelei de simboli 1 Listingul cu referinte incrucisate difera de un listing 1 Listarea expandarilor pentru MACRO/REPT/IRP/IRPC este con 1 Lista de argumente trebuie delimitata de paranteze ascu 1 Lista de argumente trebuie sa fie inchisa intre paranteze 1 Liniile sursa pot avea maxim 132 caractere in lungime. 1 Liniile programului care urmeaza au forma : 1 Liniile in care simbolii sint definiti sint marcate cu 1 Linii care contin orice cantitate de text ca bloc de comentarii. 1 La fiecare sfirsit de pagina asamblorul introduce un carac 1 LXI H,0FFH 1 LXI H,0FF 1 LST: pentru imprimanta 1 LST pentru fisierul listing; 1 LOCAL <lista de argumente> 1 LINK-18 va completa extensiile in mod implicit si va presu 1 L Forteaza generarea listingului 1 Intr-un bloc de operatii un comentariu precedat de ;; nu 1 Intr-un program se poate specifica un singur TITLE (altfel 1 Instructiunile dinainte de ENDM compun corpul macroinstruc 1 Instructiunile din bloc sint repetate o data pentru fiecare 1 Inainte de a semnala o expresie ca o eroare, asamblorul o 1 In timpul asamblarii, macroinstructiunea este expandata de 1 In listingul tabelei de simboli se gasesc listati: 1 In afara de liniile de control care incep cu caracterul $ in 1 In acest exemplu apelul ERRGEN A va genera codul : 1 In absenta lui NAME sau TITLE numele modulului va fi numele 1 In sirul de comanda M18 se pot introduce si unul sau mai 1 In operatiile diferite de + si - modul ambilor operanzi 1 In general M18 accepta un fisier sursa care este aproape 1 In cazul in care comanda este corecta, se realizeaza asam 1 In cazul unei comenzi incorecte asamblorul tipareste la 1 In afara de inchiderea intre paranteze sau apostroafe 1 Implicit baza de numeratie pentru constantele numerice este 1 Iesirea referintelor incrucisate este controlata de .CREF si 1 IRPC este similar cu IRP cu diferenta ca lista de argumente 1 IRPC X,01234567890 1 IRPC <parametru formal>,sir (sau <sir> ) 1 IRP X,<1,2,3,4,5,6,7,8,9,10> 1 IRP <parametru formal>,<lista de argumente> 1 IRP Y,<X> 1 IRP Y,<1,2,3,4,5,6,7,8,9,10> 1 INX C sint exemple de astfel de erori). 1 IFxx [argument] 1 IFNDEF <simbol> 1 IFNB <argument> 1 IFE/IFF <expresie> 1 IFDEF <simbol> 1 IFB <argument> 1 IFB si IFNB sint utilizate pentru a testa un parametru 1 IF/IFT <expresie> 1 IF corespunzator, de doua ori ELSE intr-un 1 IF NUL argument 1 I Asamblare pentru mnemonice 8080 1 Helvetica-Condensed 1 H Se tiparesc toate adresele in hexa 1 Formatul comenzii M18 este urmatorul: 1 Forma generala a unui apel de macroinstructiune este : 1 Fisierul sursa consta din instructiuni de forma : 1 Fiecare IF trebuie asociat cu un ENDIF care sa-l termine. 1 Fiecare repetitie substituie urmatorul sir din lista de 1 Fiecare repetare substituie fiecare aparitie a parametrului 1 Fiecare pseudoinstructiune conditionala poate fi optional 1 Fiecare din aceste patru operatii se termina cu pseudo 1 Facilitatile de macroinstructiuni ale asamblorului M18 1 Facilitatea de referinte incrucisate este oferita de progra 1 FORTRAN-18 si COBOL-18. 1 FOO:: RET 1 FOO: RET 1 FOO MACRO X 1 FOO MACRO X 1 FOO <1,2,3,4,5,6,7,8,9,10> 1 FOO 10 1 Extensia implicita pentru fisierul sursa este .CRF. 1 Expresia <expresie> din .RADIX este totdeauna un numar 1 Exemplu de asamblare 1 Examineaza fisierul TEST.CRF si genereaza fisierul cu referinte 1 Examineaza fisierul TEST.CRF si genereaza fisierul listing cu 1 Este un operator care intoarce valoarea logica adevarata 1 Este permis numai un singur ELSE pentru un IF dat si un ELSE 1 Este folosit pentru concatenarea textelor sau simboluri 1 Este fals, daca in timpul expandarii primul caracter al 1 Este utilizat pentru a introduce urmatorul caracter 1 Este recomandabil ca testarea parametrilor nuli sa se 1 Erorile de sintaxa sint indicate de MACRO-18 printr-un sin 1 Erori de sintaxa 1 EXTRN FOO 1 EXT <nume>[,<nume>.....] 1 EXT sau EXTRN declara numele din lista ca fiind referinte 1 ERRORA: PUSH B 1 ERROR&X: PUSH B 1 ERREGEN MACRO X 1 EQU este identic cu folosirea in asamblorul ASM80. 1 EQ , NE , LT , LE , GT , GE 1 ENTRY sau PUBLIC declara fiecare nume din lista, ca fiind un 1 ENTRY <nume>[,<nume>...] 1 ENTRY CSL3 1 ENDM, LOCAL in afara unui bloc; 1 ENDM 1 END este identic cu folosirea in asamblorul ASM80. 1 END [<expresie>] 1 ELSE fara un IF corespunzator, ENDIF fara un 1 E Eroare External. 1 Dupa fiecare simbol se tipareste caracterul TAB urmat de 1 Doua paranteze ascutite (<>) fara nici un caracter intre 1 Dimensiunea implicita a paginii este de 50 linii/pagina. 1 Default Paragraph Font 1 De notat: numai primul octet este un operand valid. 1 De exemplu, utilizind un asterisc ca delimitator, formatul 1 De exemplu valoarea constantei 'AB' este 41H*256+42H. 1 Daca se utilizeaza, LOCAL trebuie sa fie prima linie dintr-o 1 Daca operatia este de scadere se aplica urmatoarele reguli: 1 Daca operatia este de adunare se aplica urmatoarele reguli: 1 Daca nu se genereaza fisier listing aceste pseudoinstructi 1 Daca nu se doreste obtinerea fisierului listing sau a fisie 1 Daca in operand se include mai mult de un octet atunci acest 1 Daca facilitatea de referinte incrucisate nu a fost apelata 1 Daca /C este intilnit in sirul de comanda MACRO-18 asamblo 1 Daca un simbol este definit dupa IFDEF sau IFNDEF, pasul 1 1 Daca un numar depaseste dimensiunea a 2 octeti depasirea 1 Daca sint mai multi parametri reali decit formali, cei in 1 Daca se omite unul din numele de dispozitive, implicit se 1 Daca se doreste listarea numai in unul din pasi atunci se 1 Daca se creaza si informatia de referinte incrucisate, 1 Daca referinta unui simbol este urmata de caracterele ##, 1 Daca nu se specifica nici o pseudoinstructiune NAME atunci 1 Daca nu se specifica nici NAME nici TITLE atunci numele 1 Daca nu exista nici un caracter intre apostroafe sirul de 1 Daca lista de argumente este vida (adica <> ) blocul este 1 Daca linia contine o eroare atunci in acest cimp apare 1 Daca eticheta este urmata de 2 caractere "::" atunci simbo 1 Daca eticheta este prezenta, este prima entitate dintr-o 1 Daca este inclusa si <expresie> atunci valoarea acestei 1 Daca blocul care contine EXITM este continut intr-un alt 1 Daca ati folosit DSEG sau CSEG asamblorul produce fisiere 1 DW este identic cu folosirea in asamblorul ASM80. 1 DW <expresie>[,<expresie>...] 1 DSEG precizeaza asamblorului sa asambleze instructiunile si 1 DS este identic cu folosirea in asamblorul ASM80. 1 DS <expresie> 1 DC memoreaza caracterele din <sir> in adrese succesive de 1 DB este identic cu folosirea in asamblorul ASM80. 1 DB <sir>[,<sir>...] 1 DB <expresie>[,<expresie>...] 1 DB "ABC""DE""FG" memoreaza sirul ABC"DE"FG 1 DB Y 1 DB X+1 1 D Eroare simbol dublu definit. 1 Courier New 1 Control Efect 1 Contorul de locatii pentru segmentul realocabil de date are 1 Contorul de locatii pentru directiva ASEG are o valoare 1 Contorul de locatii pentru directiva CSEG are o valoare 1 Comentarii extinse se pot introduce cu pseudoinstructiunea 1 Codurile de instructiuni sint valide numai ca operanzi de un 1 Codurile de operatie utilizate ca operanzi de un octet nu au 1 Codul asamblat va contine codul macroexpandarii dupa fiecare 1 Codul obiect din acest bloc poate fi mutat mai tirziu prin 1 Cind se tipareste tabela de simboli x='S'. 1 Cind se intilneste .XCREF nu se mai genereaza informatia de 1 Cind se executa EXITM, expandarea este terminata imediat, 1 Cind se intilneste .XLIST se suprima listarea programului 1 Cind se executa LOCAL asamblorul creaza un simbol unic, 1 Cind operatia de asamblare s-a sfirsit, este necesar sa se 1 Chiar daca fisierul listing nu se genereaza pe un dispozi 1 Cel putin un bloc este neterminat la intilnirea sfirsi 1 Cel putin un conditional este neterminat la intilnirea 1 Caracterele sint memorate in ordinea aparitiei lor in sir, 1 Ca delimitator pentru un sir de caractere ASCII poate fi 1 CSL3 0000I' LOOP 0006' 1 CSEG si DSEG. 1 CSEG precizeaza asamblorului sa asambleze instructiunile si 1 CRF pentru fisierul referinte incrucisate. 1 CREF, .XCREF si /C). 1 CPI (INX H) 1 COMMON precizeza asamblorului sa utilizeze contorul de loca 1 COMMON /<nume bloc>/ 1 CALL FOO## 1 CALL FOO 1 C U P R I N S 1 C Pentru nume de bloc COMMON 1 C Eroare conditionala. 1 C Forteaza generarea referintelor 1 Blocul de instructiuni cuprins intre REPT si ENDM este 1 Baza implicita pentru toate constantele este baza zecimala. 1 AvantGarde 1 Atit fisierul cod obiect cit si fisierul listing pot fi 1 Asamblorul va afisa la consola "*" indicind ca este gata sa 1 Argumentul unei pseudoinstructiuni nu este in 1 Argumentul in mod obligatoriu se introduce intre <>. 1 Argumentul poate fi si un sir inchis intre apostroafe si 1 Argumentele care urmeaza dupa operator variaza in functie de 1 Apoi se tipareste in listing o linie de spatii. 1 Apoi se tiparesc trei caractere spatiu urmate de codul 1 Altfel un argument este fie un caracter fie un sir de 1 Adresa de inceput a segmentelor realocabile nu este fixata 1 Adresa contorului de locatii este totdeauna inceputul zonei 1 Adevarat pentru pasul 2 al asamblorului. 1 Adevarat pentru pasul 1 al asamblorului. 1 Adevarat daca argumentul este spatiu (nul). 1 Adevarat daca <simbol> este definit sau a fost declarat EXTERNAL. 1 Adevarat daca <expresie> este diferita de 0 ("TRUE"). 1 Adevarat daca <expresie> este 0 ("FALSE"). 1 Adevarat daca <argument> este diferit de spatiu. 1 Adevarat daca <simbol> este nedefinit sau nu a fost declarat 1 Adesea este convenabil ca asamblorul sa fie capabil sa 1 Acest parametru este implicit. 1 Acest simbol unic este folosit uzual pentru a defini o 1 Aceasta inseamna ca asamblarea incepe cu un CSEG executat in 1 Aceasta facilitate este realizata de MACRO. 1 Aceasta pseudoinstructiune este folosita pentru a termina 1 Aceasta macroinstructiune genereaza acelasi cod ca si in 1 ASEG sau COMMON. 1 ASEG precizeaza asamblorului sa utilizeze contorul de loca 1 ASCII delimitate de apostroafe. Aceasta constanta poate fi folo 1 ADI (LXI B,LABEL) 1 ADI (CPI) 1 ACI (LXI B) 1 A: B: C: D: pentru unitatile de disc 1 A Eroare de argument. 1 >Translated by WordPort from WordStar 3.x, 4.0 document m18.txt 1 <text> este trunchiat daca este mai mare de 60 de caractere. 1 <spatiu> Valori absolute 1 <spatiu> mod absolut 1 <nume> SET <expresie> 1 <nume> EQU <expresie> 1 <nume> trebuie sa fie un simbol legal si numele lui va fi 1 <nume> MACRO <lista de parametri formali> 1 <nume> <lista de parametri reali> 1 <expresie> este evaluata ca un intreg fara semn reprezentat 1 <eticheta:<:>> <operator> <argumente> <; comentariu> 1 <CR>. Executia asamblorului se termina si se face tranzitia in 1 ;SHIFT P1 LEFT CIRCULARLY 3 BITS 1 ;SHIFT LEFT 1 ;SHIFT COUNT 1 ;SAVE RESULT IN SECOND PARAMETER 1 ;ROTATE IN CY BIT 1 ;RETURN RESULT IN P2 1 ;ONE MORE TIME 1 ;GET VALUE OF FIRST PARAMETER 1 ;DECREMENT COUNT 1 ;CSL3(P1,P2) 1 ; reintoarcerea la modul normal 1 7. FACILITATEA DE REFERINTE INCRUCISATE 1 7. Facilitatea de referinte incrucisate . . . . . . . 30 1 6. FORMATUL LISTINGULUI 1 6. Formatul listingului . . . . . . . . . . . . . . . 28 1 5. Mesaje de eroare MACRO-18 . . . . . . . . . . . . . 26 1 4.8 OPERATORI MACRO SPECIALI 1 4.8 Operatori macro speciali . . . . . . . . . . . . . 24 1 4.7 LOCAL . . . . . . . . . . . . . . . . . . . . . . . 23 1 4.6 EXITM . . . . . . . . . . . . . . . . . . . . . . . 23 1 4.5 ENDM . . . . . . . . . . . . . . . . . . . . . . . 23 1 4.4 MACRO . . . . . . . . . . . . . . . . . . . . . . . 21 1 4.3 IRPC-ENDM 1 4.3 IRPC - ENDM . . . . . . . . . . . . . . . . . . . . 21 1 4.2 IRP-ENDM 1 4.2 IRP - ENDM . . . . . . . . . . . . . . . . . . . . 21 1 4.1 REPT-ENDM 1 4.1 REPT - ENDM . . . . . . . . . . . . . . . . . . . . 20 1 4. text SUBTTL este textul definit de pseudoinstructiunea SUBTTL 1 4. MACROINSTRUCTIUNI 1 4. Lista de parametri reali contine parametri separati prin 1 4. intr-o operatie de scadere numai primul operand poate fi 1 4. Macroinstructiuni . . . . . . . . . . . . . . . . . 20 1 3.9 END . . . . . . . . . . . . . . . . . . . . . . . . 13 1 3.8 Define Word 1 3.8 Define Word . . . . . . . . . . . . . . . . . . . . 13 1 3.7 Define Character 1 3.7 Define Character . . . . . . . . . . . . . . . . . 13 1 3.6 Define Storage 1 3.6 Define Storage . . . . . . . . . . . . . . . . . . 13 1 3.5 Define Byte 1 3.5 Define Byte . . . . . . . . . . . . . . . . . . . . 12 1 3.4 DSEG . . . . . . . . . . . . . . . . . . . . . . . 12 1 3.3 CSEG . . . . . . . . . . . . . . . . . . . . . . . 12 1 3.28 REALOCAREA INAINTE DE INCARCARE 1 3.28 Realocarea inainte de incarcare . . . . . . . . . . 19 1 3.27 PSEUDOINSTRUCTIUNI DE REALOCARE 1 3.27 Pseudoinstructiuni de realocare . . . . . . . . . . 18 1 3.26 PSEUDOINSTRUCTIUNI PENTRU CONTROLUL LISTINGULUI 1 3.26 Pseudoinstructiuni pentru controlul listingului . . 17 1 3.25 PSEUDOINSTRUCTIUNI CONDITIONALE 1 3.25 Pseudoinstructiuni conditionale . . . . . . . . . . 16 1 3.24 .8080 1 3.24 .8080 . . . . . . . . . . . . . . . . . . . . . . . 16 1 3.23 .Z80 . . . . . . . . . . . . . . . . . . . . . . . 16 1 3.22 .REQUEST 1 3.22 .REQUEST . . . . . . . . . . . . . . . . . . . . . 16 1 3.21 .RADIX 1 3.21 .RADIX . . . . . . . . . . . . . . . . . . . . . . 15 1 3.20 .PRINTX 1 3.20 .PRINTX . . . . . . . . . . . . . . . . . . . . . . 15 1 3.2 COMMON 1 3.2 COMMON . . . . . . . . . . . . . . . . . . . . . . 12 1 3.19 .COMMENT 1 3.19 .COMMENT . . . . . . . . . . . . . . . . . . . . . 15 1 3.18 TITLE 1 3.18 TITLE . . . . . . . . . . . . . . . . . . . . . . . 15 1 3.17 SUBTTL 1 3.17 SUBTTL . . . . . . . . . . . . . . . . . . . . . . 14 1 3.16 SET . . . . . . . . . . . . . . . . . . . . . . . . 14 1 3.15 PAGE . . . . . . . . . . . . . . . . . . . . . . . 14 1 3.14 ORG . . . . . . . . . . . . . . . . . . . . . . . . 14 1 3.13 NAME . . . . . . . . . . . . . . . . . . . . . . . 14 1 3.12 EXT/EXTRN 1 3.12 EXT/EXTRN . . . . . . . . . . . . . . . . . . . . . 14 1 3.11 ENTRY/PUBLIC 1 3.11 ENTRY/PUBLIC . . . . . . . . . . . . . . . . . . . 13 1 3.10 EQU . . . . . . . . . . . . . . . . . . . . . . . . 13 1 3.1 ASEG . . . . . . . . . . . . . . . . . . . . . . . 12 1 3. y este numarul de pagina secundar, care se incrementeaza la 1 3. PSEUDOINSTRUCTIUNI 1 3. Lista de argumente contine argumente separate prin 1 3. Expresie 1 3. Intr-o operatie de adunare oricare din operanzi poate fi 1 3. Pseudoinstructiuni . . . . . . . . . . . . . . . . 12 1 2.7 CODURI DE OPERATIE CA OPERANZI 1 2.7 Coduri de operatie ca operanzi . . . . . . . . . . 11 1 2.6.3 Referinte externe . . . . . . . . . . . . . . . . . 11 1 2.6.3 Referinte externe 1 2.6.2 Moduri . . . . . . . . . . . . . . . . . . . . . . 10 1 2.6.2 Moduri 1 2.6.1 Operatori aritmetici si logici . . . . . . . . . . 10 1 2.6.1 Operatori aritmetici si logici 1 2.6 EVALUAREA EXPRESIILOR 1 2.6 Evaluarea expresiilor . . . . . . . . . . . . . . . 10 1 2.5 SIRURI 1 2.5 Siruri . . . . . . . . . . . . . . . . . . . . . . 9 1 2.4 CONSTANTE NUMERICE 1 2.4 Constante numerice . . . . . . . . . . . . . . . . 9 1 2.3 SIMBOLI 1 2.3 Simboli . . . . . . . . . . . . . . . . . . . . . . 9 1 2.2 ETICHETE 1 2.2 Etichete . . . . . . . . . . . . . . . . . . . . . 8 1 2.1 INSTRUCTIUNI 1 2.1 Instructiuni . . . . . . . . . . . . . . . . . . . 8 1 2. x este numarul principal al paginii, care este crescut numai 1 2. Lista de parametri formali contine parametri formali 1 2. La sfirsitul fisierului listing , se scriu numele variabi 1 2. FORMATUL FISIERELOR SURSA 1 2. Cod de operatie/pseudoinstructiune 1 2. Absolut+<mod>=<mod> 1 2. <mod>-<mod>=Absolut 1 2. Daca se utilizeaza intr-o expresie un simbol extern 1 2. Formatul fisierelor sursa . . . . . . . . . . . . . 8 1 1.2 CONTROALE MACRO-18 1 1.2 Controale MACRO-18 . . . . . . . . . . . . . . . . 7 1 1.1 SIRUL DE COMENZI MACRO-18 1 1.1 Sirul de comenzi MACRO-18 . . . . . . . . . . . . . 5 1 1. text TITLE este textul definit de pseudoinstructiunea TITLE 1 1. Parametrul formal trebuie sa fie un nume de simbol legal. 1 1. Fiecare linie sursa este numerotata cu un numar de 1 1. FORMATUL COMENZILOR MACRO-18 1 1. Cel putin unul din operanzi trebuie sa fie absolut 1 1. Apeluri de macroinstructiuni 1 1. <mod>-Absolut =<mod> 1 1. Referintele externe sint legale numai in operatii de 1 1. Formatul comenzilor MACRO-18 . . . . . . . . . . . 5 1 0106 C9 BAZ: RET 1 0103 C3 00 07' JMP ZOO 1 0100 CD 01 06 FOO: CALL BAZ 1 0013' C9 RET 1 0012' 72 MOV M,D 1 0011' 23 INX H 1 0010' 73 MOV M,E 1 000F' EB XCHG 1 000C' C2 0006' JNZ LOOP 1 000B' 05 DCR B 1 000A' 6F MOV L,A 1 0009' 85 ADD L 1 0008' 17 RAL 1 0007' C3 00 05 ZOO: JMP 5 1 0007' 29 DAD H 1 0006' AF LOOP: XRA A 1 0004' 06 03 MVI B,3 1 0003' 6F MOV L,A 1 0002' 66 MOV H,M 1 0001' 23 INX H 1 0000' 7E MOV A,M 1 0000' .PHASE 100H 1 /C este controlul de referinte incrucisate pentru MACRO-18. 1 .Z80 permite asamblorului sa accepte coduri de operatie Z80. 1 .XALL este similar lui .SALL cu exceptia listarii numai a 1 .SALL listeaza numai codul obiect produs de o macroexpan 1 .REQUEST <nume fisier>[,<nume fisier>...] 1 .RADIX <expresie> 1 .RADIX 16 1 .PRINTX <delimitator> <text> <delimitator > 1 .PAGE sau ori de cite ori s-a completat dimensiunea curenta a 1 .LIST si .XLIST 1 .LALL listeaza textul complet al tuturor macroexpandarilor 1 .LALL .SALL .XALL 1 .CREF si .XCREF nu au nici un efect. 1 .COMMENT <delimitator>< text ><delimitator> 1 .COMMENT * 1 .8080 permite asamblorului sa accepte coduri de operatie 1 -relativ in segmentul de date 1 -relativ in segmentul de cod 1 -numele permise pentru dispozitive sint: 1 -nume fisier reprezinta numele si extensia fisierului (sursa, 1 -filespec este o abreviere pentru specificatia de fisier formata 1 ------- ----- 1 - repetare simpla REPT; 1 - repetare nedefinita IRP; 1 - repetare nedefinita caracter IRPC; 1 - asamblarea unui singur program; 1 - asamblarea unui lot de programe scrise in limbaj de 1 - Toti simbolii din program listati in ordine alfabetica. 1 - Toate numele de macroinstructiuni din program listate in 1 *T=TEST 1 *T,U=TEST/C 1 *OBJECT,TTY:=TEST 1 *LAST,LAST/C=MOD1 1 *=TEST 1 *=SOURCE.MAC 1 *,LST:=TEST 1 * fisier listing = fisier sursa 1 * , / , MOD , SHR , SHL 1 * referinta externa 1 * Pentru simboli externi 1 (valoarea blocului comun este dimensiunea sa 1 (parametrul este implicit) 1 (parametrul este implicit) 1 (in intervalul 2-16). 1 (daca a existat o astfel de pseudoinstructiune in program). 1 (daca a existat o astfel de pseudoinstructiune in program). 1 (LST:). Nu se produce cod obiect. 1 (FOO SET NAME## MVI A,2-NAME##) 1 (.PAGE 1,.RADIX 1, .PUBLIC 1,STAX H,MOV M,M , 1 'Unterminated conditional' 1 'Unterminated REPT/IRP/IRPC/MACRO' 1 'No end statement encountered on input file' 1 ' mod cod relativ 1 ' Valoare cod relativa 1 "cod obiect realocabile". Pentru a putea incarca si executa 1 " mod date relativ 1 " Valoare date relativa 1 ! mod common relativ 1 ! Valoare COMMON relativa 1 5. MESAJE DE EROARE MACRO-18