Top 10k strings from asmdoc.doc in <root> / doc / technical / specifications / CPMDOC.zip /

Back to the directory listing

  20                                    Ghid de utilizare asamblor ASM
  20                                                                 
   3 L    !    !    !    !    !    !    !    !    !    !    !        R
   2 unitatea specificata)
   2 Times New Roman
   2 - numele  unitatii  de  disc pe care  se  va  genera 
   2 - litera  "Z"  care  indica faptul  ca  se  solicita 
   1 zii instructiunii fiind implicit  inlocuiti 
   1 zecimal  (D)  sau  hexazecimal  (H).   Orice  constanta 
   1 zator in program,  sau 
   1 za fisierul listing (astfel, nu este obligatoriu sa se listeze 
   1 vor fi asamblate.  Daca valoarea rezultata este zero, atunci 
   1 vele EQU sau SET.     
   1 valorile  corespunzatoare  expresiilor  "exp(1)",..."exp(n)" 
   1 va produce un mesaj de eroare,  intrucit valoarea 0FFFFH nu poate 
   1 unde instr(i) contine:
   1 unde exp(i) este o expresie a carei valoare incape pe 8 biti 
   1 unde c(i) sint cifre apartinind bazei de numaratie "b", 
   1 unde "eticheta" este un sir de maximum 16 caractere alfanumerice, 
   1 unde  "exp(i)" este o expresie a carei valoare incape pe  16 
   1 tiv  (operan
   1 tine si caracterul "$",  care nu este tratat de ASM (il  ignora), 
   1 timpul asamblarii.
   1 terului  ";"  si  care  se termina la  sfirsitul  liniei  curente 
   1 terul ' poate apare intr-o constan
   1 terul  "!").  Acest cimp este citit de asamblor,  este listat  in 
   1 tea specificata si sa produca la iesire:
   1 tata pe 16 biti.  Daca reprezentarea constantei 
   1 ta (literele B,  O,  Q, D sau H).   In absenta lui "b", 
   1 ta  sir  prin dublarea  lui.   Valoarea  unui  caracter 
   1 ta  binara, 
   1 suprimarea generarii fisierului listing.  
   1 suprimarea generarii fisierului cod-obiect.  
   1 sub un nume egal cu "nume-fisier" si cu extensie standard ".ASM".
   1 sub CP/M egala cu 100H care reprezinta inceputul zonei TPA). 
   1 structiunea/directiva 
   1 stantelor se pot folosi caracterele  "$" 
   1 specificat.
   1 spatiul-disc si reluat procesul de asamblare).  
   1 siilor  "exp(1)",..."exp(n)"  pe  cite doi  octeti  fiecare.
   1 sie este utilizata intr-o instructiune ADI,  atunci primii 8 
   1 si  operatori.   Expresiile  sint evaluate de asamblor in  timpul 
   1 si  care trateaza fisiere sursa in limbaj de asamblare  rezi
   1 sfirsit    logic   de   linie   (sfirsit   de 
   1 seste  16 biti,  automat se trun
   1 se  fisierele care nu mai sint utile si apoi reape
   1 se  considera  "b"="D".  O  constanta hexa  trebuie  sa 
   1 scrisa pe o singura linie (fizica !) si sa aiba maximum 
   1 sarea  la stinga a valorii  "a"  cu 
   1 rului nu este ASM.
   1 rele  apostrof  (').   O constanta sir trebuie  sa  fie 
   1 rea la dreapta a valorii "a" cu "b" 
   1 ranzi (etichete, constante numerice, cuvinte rezervate sau siruri 
   1 ramase libere se completeaza impli
   1 rale sau coduri  de 
   1 racterul  $ trebuie sa apara separat  prin 
   1 programului sursa.
   1 programului  (aceasta  "adresa"  va fi  inscrisa  in  ultima 
   1 procesului de asamblare ca valori pe 16 biti. 
   1 prin  directiva SET pina in momentul in care i se va atribui 
   1 pozitii  binare  (pozitiile  ramase 
   1 pe disc, in urma procesului de asamblare rezultind un fisier cod-
   1 pe cite un octet fiecare.  "Exp(i)" pot fi si constante-sir, 
   1 pasi  succesivi  de  parcurgere  de  catre  asamblor  a 
   1 parametrul p1 si sa genereze sau nu fisierele cod-obiect/listing, 
   1 p3 - poate fi:
   1 p2 si p3.  Semnificatia parametrilor este:
   1 p2 - poate fi:
   1 p1 - poate fi o litera (A - P),  care indica numele unitatii 
   1 ordinea: * / MOD SHL SHR - + NOT AND OR XOR
   1 operator    utilizare                semnificatie
   1 operanzilor  implicati  in instructiuni.   Daca,  de  exemplu,  o 
   1 octeti (cu "n" egal cu valoarea expresiei).  
   1 obtinerea fisierului listing la consola;
   1 obiect  (cod-masina 8080) in format hexa (compatibil INTEL) si un 
   1 o noua valoare, printr-o alta directiva SET.
   1 numerica reprezinta o valoare pe 16 biti. 
   1 numele fisierului sursa specificat in comanda este ero
   1 nume-fisier.PRN     (pe  discul  instalat  sau  pe 
   1 nume-fisier.HEX     (pe  discul  instalat  sau  pe 
   1 nume$lung sau data$foarte$lunga).
   1 numar-linie  eticheta  cod-operatie  operand  ;comentariu
   1 nu poate fi plasat in zona de date specificata.
   1 nr.linie eticheta  instr(1) ! instr(2) ! . . . instr(n) (CR)(LF)
   1 nat (de exemplu contine caracterul "?" sau "*").
   1 narea executiei programului ASM.
   1 n vor fi ignorate de asamblor    
   1 mata constan
   1 ma este de 2 caractere.  
   1 lui  "b"   (toti bitii "0"  din  "b" 
   1 logici: NOT AND OR XOR SHL SHR
   1 listing.   Ele apar tiparite si la consola, pe masura ce se gene
   1 listing)  nu  pot  fi scrise pe  disc  (in  majoritatea 
   1 linie sursa n
   1 linie sursa 2
   1 linie sursa 1
   1 libere se completeaza cu zerouri).
   1 lat asamblorul.
   1 la care asamblorul va genera cod-obiect);
   1 instructiunile din liniile 1
   1 instructiuni 8080 cu valoare asociata
   1 instructiuni   masina  care  au  valori   prestabilite.  
   1 instructiune).
   1 inregistrare  a fisierului hexa generat de  asamblor).  Daca 
   1 indica sfirsitul unui  program sursa in limbaj de  asamblare 
   1 incorect construit. 
   1 inceapa intotdeauna cu o cifra.   Orice constanta  este 
   1 in functie de optiunea utilizatorului,  exprimata prin parametrii 
   1 in comanda, este fie incorect introdus fie tipul fisie
   1 iar "b" reprezinta baza in care este expri
   1 generarea  codului  obiect in fisierul B:PROG.HEX si  listare  pe 
   1 formatul general, sau toate aceste elemente.
   1 formata   de  asamblor  intr-o  constan
   1 fisierul:  nume-fisier.ASM aflat pe discul instalat sau pe unita
   1 fisierul:  nume-fisier.ASM  aflat  pe unitatea  specificata  prin 
   1 fisierul/fisierele   de   iesire   (cod-obiect   si/sau 
   1 fisierul sursa specificat in comanda nu poate fi  citit 
   1 fisierul listing dar nu este interpretat de asamblor.  
   1 fisierul listing (A - P);
   1 fisierul de iesire nu poate fi inchis:  trebuie verifi
   1 fisierul cod-obiect (A - P);
   1 fisierul  listing pentru aflarea eventualelor erori in  programul 
   1 fisierul  "director"  al discului  este  plin;  trebuie 
   1 fisier listing.
   1 fi reprezentata pe 8 biti, in timp ce instructiunea:
   1 fel cu MVI A,40H).  
   1 expresiei.
   1 executie" a programului va fi 0000H.
   1 executie a programului);
   1 evalueaza "expresie" si atribuie aceasta valoare  simbolului 
   1 evalueaza  "expresie"  si rezerva o zona de memorie  de  "n" 
   1 evalueaza   "expresie"  si  daca  valoarea  rezultata   este 
   1 evalueaza   "expresie"  si  atribuie   valoarea   simbolului 
   1 evaluata (trebuie simplificata !).
   1 evaluata  si va reprezenta "adresa de lansare in executie" a 
   1 etichete  carora li s-au atribuit valori prin  directi
   1 eticheta in programul respectiv.
   1 eticheta       SET       expresie
   1 eticheta       EQU       expresie
   1 este compatibila cu tipul de instructiune.  
   1 este  acceptata  de  ASM,  intrucit anuleaza  primii  8  biti  ai 
   1 eroarea.  
   1 ele prin caracterul "!".  Este deci, acceptata forma gene
   1 el  folosind  doar  pentru  cresterea  lizibilitatii  etichetelor 
   1 egali cu zero.  Astfel, instructiunea:
   1 egala  cu valoarea expresiei (de obicei aceasta valoare este 
   1 dintr-un  sir  este egala cu codul ASCII  corespunzator 
   1 dintr-o succesiune de linii sursa care au formatul gene
   1 diferita  de zero,  atunci instructiunile din liniile  1
   1 devin "1" si toti bitii "1" din  "b" 
   1 devin "0")
   1 determina  generarea  codului obiect incepind de  la  adresa 
   1 de disc pe care se gaseste fisierul sursa.  
   1 de apel al asamblorului.  Aceste mesaje de eroare sint:
   1 de 1 sau 2 caractere ASCII) sau subexpresii incluse intre  paran
   1 dar nu este tratata de catre acesta (este neimplementa
   1 cuvinte rezervate
   1 curenta.   Ca
   1 cu valoarea 0 (zero)).  (ex: MVI A,MOV se asambleaza la 
   1 cu primul caracter obligatoriu alfabetic.   Acest cimp poate con
   1 cu  lungime maxima de  64 caractere.   Fiecare caracter  din 
   1 corect  de catre asamblor;   trebuie utilizata  comanda 
   1 contine una sau mai multe instructiuni/directive,  separate intre 
   1 context (poate fi eticheta dubla).
   1 constante sir
   1 constante numerice
   1 constanta-sir va fi generata pe cite un octet (in cod ASCII).  
   1 consola.  
   1 considerata "linie comentariu" si nu este tratata de asam
   1 comenzile:
   1 cod-operatie   operanzi       [ ;comentariu ]
   1 cit cu zerouri).
   1 chiaza la  dreapta.  
   1 cere  asamblarea programului aflat in fisierul sursa  B:PROG.ASM, 
   1 cazurilor din lipsa de spatiu-disc;   trebuie  eliberat 
   1 cat daca exista disc in unitate si daca acesta nu  este 
   1 c1c2...cnb
   1 blare   (si  optional,  adresa de lansare automata  in 
   1 blancuri de identificatorii din context.  
   1 biti.   Directiva genereaza valorile corespunzatoare  expre
   1 biti ai valorii expresiei (cei mai semnificativi) trebuie sa  fie 
   1 asamblorului ASM.  Directivele acceptate de ASM sint:
   1 asamblorul   nu  poate  sa  gaseasca   fisierul   sursa 
   1 asamblor).  Daca  "expresie" este prezenta, atunci ea va  fi 
   1 aritmetici:  +  - * / MOD ( ) + (unar) - (unar)
   1 a+b*c = a+(b*c)
   1 a*b+c = (a*b)+c
   1 a lui "a" la "b"
   1 a directivelor acceptate de asamblorul ASM.
   1 a OR b AND NOT c+d SHL e = a OR (b AND (not (c+(d SHL e))))
   1 a MOD b*c SHL d = ((a MOD b)*c) SHL d
   1 [eticheta]     ORG       expresie
   1 [eticheta]     END       [expresie]
   1 [eticheta]     DW        exp(1),...exp(n)
   1 [eticheta]     DS        expresie
   1 [eticheta]     DB        exp(1),...exp(n)
   1 ZapfDingbats
   1 ZapfChancery
   1 XOR        a XOR b    "sau-exclusiv"logic intre "a"si"b"
   1 Valoarea calculata a unei expresii trebuie sa corespunda lungimii 
   1 V         eroare de valoare:  operandul intilnit in expresie este 
   1 Un program in limbaj de asamblare, acceptat de ASM, este alcatuit 
   1 U         eticheta  nedefinita:  specificatorul fisierului sursa, 
   1 TYPE  pentru a determina locul din fisier in care apare 
   1 Semnificatia acestor operatori este:
   1 SUB                 RAL                      DCR     
   1 STAX                DAD                      ANI     
   1 STA                 NOP                      ORI     
   1 SPHL                     STC
   1 SP   cu valoare asociata      6
   1 SOURCE FILE READ ERROR
   1 SOURCE FILE NAME ERROR
   1 SHR        a SHR b    valoarea care rezulta prin deplasa
   1 SHLD                HLT                      XRI     
   1 SHL        a SHL b    valoarea   care rezulta prin depla
   1 SET   atribuie valori temporare unui simbol;
   1 SBB                 RAR                      DCX   
   1 S         eroare de sintaxa: expresia este incorect construita.
   1 R/O; aceasta este o eroare fatala care determina termi
   1 R         eroare de registru: valoarea specificata ca registru nu 
   1 PSW  cu valoare asociata      6
   1 P         eroare de faza:  eticheta nu are aceeasi valoare in doi 
   1 Orice constanta numerica se scrie sub forma:
   1 Operatorii pot fi:
   1 Operanzii pot fi:
   1 OUTPUT FILE WRITE ERROR
   1 ORG   stabileste  originea programului  (adresa incepind  de 
   1 OR         a OR b     "sau" logic intre "a" si "b"
   1 O  linie care incepe cu caracterul ";" sau "*" in coloana 1  este 
   1 O  linie  poate  contine oricare din  elementele  specificate  in 
   1 O         depasire: expresia este prea complexa pentru a putea fi 
   1 NewCenturySchlbk
   1 NOT        NOT b      complementul  fata  de 1 al  valorii
   1 NO SOURCE FILE PRESENT
   1 NO DIRECTORY SPACE
   1 N         neimplementat: directiva  este recunoscuta  de asamblor           
   1 MVI                 PUSH                     XCHG
   1 MS LineDraw
   1 MOV                 POP                      DAA
   1 MOD        a MOD b    restul impartirii intregi a lui 
   1 MNEMONICE 8080
   1 M    cu valoare asociata      6
   1 Lansarea  in  executie  a programului ASM se face  prin  una  din 
   1 LXI                 XTHL                     CMA
   1 LHLD                OUT                      ACI   
   1 LDAX                IN                       ADI     
   1 LDA                 EI                       SUI     
   1 L    cu valoare asociata      5
   1 L         eticheta  eronata:  eticheta  nu poate apare  in  acest 
   1 JZ                  CZ                       RZ
   1 JPO                 CPO                      RPO
   1 JPE                 CPE                      RPE
   1 JP                  CP                       RP
   1 JNZ                 CNZ                      RNZ
   1 JNC                 CNC                      RNC
   1 JMP                 CALL                     RET   
   1 JM                  CM                       RM
   1 JC                  CC                       RC
   1 In scrierea con
   1 In ambele cazuri, programul ASM presupune ca fisierul de asamblat 
   1 In ANEXA 1 este prezentata lista completa a mnemonicelor 8080  si 
   1 In  fiecare din cazurile prezentate,  "a" si "b" reprezinta  ope
   1 IF    directiva pentru asamblare conditionata;
   1 IF        expresie
   1 Helvetica-Condensed
   1 H    cu valoare asociata      4
   1 Forma  (2)  precizeaza  ca asamblorul va trata  ca  fisier  sursa 
   1 Forma  (1)  precizeaza  ca asamblorul va trata  ca  fisier  sursa 
   1 Fiecare linie se termina prin caracterele (CR)(LF). O linie poate 
   1 Evaluarile tuturor expresiilor se realizeaza in faza de asamblare 
   1 Evaluarea expresiilor se face astfel:
   1 Este un cimp optional, care are forma:
   1 Este   un   cimp optional  ce  reprezinta  numarul  liniei  sursa 
   1 Erorile sint semnalate prin urmatoarele coduri:
   1 Erorile  detectate de asamblor apar in prima coloana a fisie
   1 EQU   atribuie valori unui simbol;
   1 ENDIF sfirsit asamblare conditionata;
   1 END   indica sfirsitul unui program sursa in limbaj de asam
   1 E    cu valoare asociata      3
   1 E         eroare  de expresie:  expresia nu poate fi evaluata  in 
   1 Default Paragraph Font
   1 De exemplu comanda:
   1 Daca eticheta exista, ii atribuie valoarea "expresiei".
   1 Daca "exp(i)" este o constanta-sir, atunci lungimea ei maxi
   1 DW    generare date de lungime egala cu doi octeti fiecare;
   1 DS    rezerva o zona de memorie.
   1 DIRECTIVE ACCEPTATE DE ASM
   1 DI                       SBI     
   1 DB    generare date de lungime egala cu un octet fiecare;
   1 D    cu valoare asociata      2
   1 D         eroare de data:   un element  din datele  instructiunii 
   1 Courier New
   1 Caracterul "!" este tratat de catre ASM drept 
   1 CANNOT CLOSE FILE
   1 C    cu valoare asociata      1
   1 B    cu valoare asociata      0
   1 AvantGarde
   1 Astfel, exista urmatoarele cuvinte rezervate:
   1 Asamblorul ASM semnaleaza erori,  datorate unor comenzi inco
   1 Acest cimp contine,  in general,  expresii alcatuite din ope
   1 Acest  cimp  poate  contine o mnemonica 8080 sau  o  directiva  a 
   1 Acest  cimp  contine orice sir de caractere care  urmeaza  carac
   1 ATranslated by WordPort from WordStar 3.x, 4.0 document asmdoc.txt
   1 ASM PROG.BBX(CR)
   1 ASM  este un asamblor care lucreaza sub sistemul de operare  CP/M 
   1 AND        a AND b    "si"logic intre "a" si "b"
   1 ADI      (-1) AND 0FFH
   1 ADI       -1
   1 ADD                 RLC                      INR     
   1 ADC                 RRC                      INX     
   1 A N E X A   1
   1 A    cu valoare asociata      7
   1 64 caractere.  Carac
   1 3. MESAJE DE EROARE ASM
   1 2.5 CIMPUL "comentariu"
   1 2.4.2 Operatori
   1 2.4.1 Operanzi
   1 2.4 CIMPUL "operand"
   1 2.3 CIMPUL "cod operatie"
   1 2.2 CIMPUL "eticheta"
   1 2.1 CIMPUL "numar linie"
   1 2. FORMATUL FISIERULUI SURSA
   1 10+20  10H+37Q  A1/3  (A2+4) SHR 3  ('A' AND 5FH)+'0'
   1 1. PREZENTARE GENERALA
   1 1), adica rezulta valoarea 0FFFFH.  
   1 /          a / b     impartire intreaga (fara semn)
   1 ---------------     ---------------         --------------
   1 --------------       ----------------        -------------
   1 -------------        ---------------         --------------
   1 - sint  siruri de caractere ASCII incluse intre  caracte
   1 - pot fi etichete definite de utili
   1 - pot   fi   exprimate in binar (B),  octal  (O  sau  Q), 
   1 - litera  "X"  care  indica faptul  ca  se  solicita 
   1 - intii parantezele cele mai interioare
   1 - codul-masina corespunzator tipului instructiune respec
   1 - apoi,in  cadrul unei paranteze sau in absenta  acestora,  in 
   1 - adresa  la care va fi generata  in
   1 - acestea  sint  nume de registre gene
   1 - (unar)   - b       identic cu "0 - b"
   1 -          a - b     scadere fara semn a lui "b" din "a"
   1 + (unar)   + b       identic cu "b"
   1 +          a + b     adunare fara semn a lui "a" cu "b"
   1 *          a * b     inmultire fara semn a lui "a" cu "b"    
   1 (valoarea  expresiei  are primii 8 biti nuli)  si  genereaza 
   1 (nu se va genera cod pentru ele).  
   1 (liniile aflate dupa aceasta directiva nu vor fi tratate  de 
   1 (ignorate  de  asamblor) pentru a creste  lizibilitatea 
   1 (fisier  sursa in limbaj de asamblare 8080) se gaseste  pe  disc, 
   1 (exprimat in zecimal). Asamblorul ignora acest cimp.
   1 (ex:  33$FF$44H).
   1 (caracterele (CR)(LF)) sau la  sfirsitul logic al liniei  (carac
   1 (ca operatii pe 16 biti fara semn).  Astfel, (-1) este evaluat ca 
   1 (a OR b) AND (not c)+d SHL e = (a OR b) AND ((NOT c)+(d SHL e))
   1 (2)  fisierul listing:
   1 (2)  eticheta:
   1 (2)  ASM nume-fisier.p1p2p3(CR)
   1 (1)  fisierul cod obiect (format hexa):
   1 (1)  eticheta
   1 (1)  ASM [nume-unitate]nume-fisier(CR)
   1 ('B'+B) OR (PSW+M)       (1+(2+C)) SHR (A-(B+1))
   1 "expresie"  nu este prezenta,  atunci "adresa de lansare  in 
   1 "eticheta".  Simbolul  "eticheta" nu trebuie sa mai apara ca 
   1 "eticheta".   Simbolul "eticheta" va avea valoarea atribuita 
   1 "b"  pozitii   binare    (pozitiile  
   1 "a" la "b"