.. L ! ! ! ! ! ! ! ! ! ! ! R .pl 72 .he Comenzi CP/M SUBMIT .fo # .pn 25 .uj 1 4.5 Comanda SUBMIT SUBMIT specificator-individual [par1 par2... parn](CR) Comanda SUBMIT asigura lucrul in mod "batch" cu sistemul CP/M, permitind preluarea comenzilor CP/M dintr-un fisier existent pe disc si nu de la consola. Fisierul corespunzator "specificatorului" din comanda, numit si "fisier de comenzi", este un fisier cu extensie obligatorie "SUB" rezident pe discul instalat. El este creat cu ajutorul editorului de texte (ED) si contine secvente de comenzi CP/M parametrizate sau nu. In fisierul de comenzi, parametrii sint "parametri formali", identificati prin simbolii: $1 $2 $3 . . . $n iar in comanda SUBMIT, parametrii par1,...parn sint "parametri actuali", care vor inlocui, in ordine, parametrii formali din fisierul de comenzi (exemplu: par1 va inlocui pe $1, s.a.m.d.) Daca numarul de parametri formali nu este egal cu numarul de parametri reali, functia SUBMIT este intrerupta, iar la consola va apare un mesaj de eroare. Comanda SUBMIT creeaza pe discul instalat un fisier intermediar cu numele "$$$.SUB", fisier care contine comenzile CP/M din "fisierul de comenzi" cu parametrii actuali. Cind sistemul se reinitializeaza (la sfirsitul comen zii SUBMIT), fisierul intermediar "$$$.SUB" este citit de compo nenta CCP ca sursa de intrare, in locul consolei. Daca functia SUBMIT este efectuata pe un alt disc decit cel din unitatea "A", comenzile nu vor fi tratate decit atunci cind discul va fi pus in unitatea de disc "A" si sistemul va fi reinitializat. .cp 4 Utilizatorul poate opri in orice moment executia comenzii SUBMIT sau a comenzilor din fisierul intermediar, tastind "RUBOUT" (DEL). In acest caz fisierul "$$$.SUB" va fi sters, iar comen zile ulterioare vor fi preluate de la consola. .cp 2 Tratarea comenzilor este de asemenea abandonata daca componenta CCP detecteaza o eroare in una din comenzi. .cp 5 Pentru introducerea simbolurilor "$" intr-un fisier SUBMIT, uti lizatorul poate tasta "$$" care se transforma intr-un "$" unic in interiorul fisierelor de comenzi. Mai mult, simbolul "^" poate preceda un caracter alfabetic "x", ceea ce creeaza un caracter unic CTRL/x in interiorul fisierului. .cp 3 Ultima comanda dintr-un fisier de comenzi poate apela un alt fisier de comenzi, permitind astfel lucrul cu fisiere de comenzi inlantuite. .cp 8 Exemplu: presupunind ca fisierul ASMBL.SUB exista pe disc si contine comenzile: ASM $1 DIR $1.* ERA *.BAK PIP $2:=$1.PRN ERA $1.PRN si ca a fost introdusa de catre operator comanda: SUBMIT ASMBL X PRN(CR) programul SUBMIT va citi fisierul ASMBL.SUB si va inlocui cu X peste tot unde apare $1 si cu PRN peste tot unde apare $2. Se va crea astfel fisierul intermediar $$$.SUB care va avea urmatorul continut: ASM X DIR X.* ERA *.BAK PIP PRN:=X.PRN ERA X.PRN iar comenzile din acest fisier intermediar vor fi executate sec vential de catre componenta CCP. .. L ! ! ! ! ! ! ! ! R NOTA .. L ! ! ! ! ! ! ! ! ! ! ! R Comanda SUBMIT poate utiliza si un fisier de comenzi care se gaseste pe o alta unitate de disc diferita de unitatea "A" (cu precizarea numelui unitatii in "specificatorul-indivi dual") dar comenzile din fisierul intermediar se vor executa numai daca se gasesc pe discul din unitatea "A". .he Comenzi CP/M XSUB 4.6 Comanda XSUB Permite ca o serie de programe care solicitau informatii (comenzi), introduse de la consola sa primeasca aceste date dintr-un fisier pe disc (fisier de tip SUBMIT). Comanda se foloseste ca prima linie intr-un fisier SUBMIT si ea face ca toate functiile de "citire buffer consola" sa fie inlocuite cu citiri de inregistrari din fisierul SUBMIT. De exemplu, fisierul TEST.SUB poate contine urmatoarele linii: XSUB DDT I $1.HEX R G0 SAVE 1 $2.COM .cp 5 Un apel de tipul: SUBMIT TEST X Y(CR) conduce la: - incarcarea programului XSUB si lansarea lui in executie - incarcarea programului DDT si lansarea lui in executie .cp 7 - transmiterea comenzilor IX.HEX R G0 pentru programul DDT. .cp 2 - preluarea controlului sistemului de catre componenta CCP (datorita comenzii G0). - executia comenzii SAVE 1 Y.COM .. L ! ! ! ! ! ! ! ! R NOTA .. L ! ! ! ! ! ! ! ! ! ! ! R Programul XSUB ramine activ pina la o "initializare" a sistemului CP/M, el putind fi folosit in alte fisiere SUBMIT fara a fi reapelat. .pa .he Comenzi CP/M MOVCPM 4.7 Comanda MOVCPM .uj 0 MOVCPM [par1][par2](CR) .uj 1 Programul MOVCPM permite utilizatorului sa reconfigureze sistemul de operare CP/M pentru a lucra cu orice dimensiune particulara de memorie. Pot fi dati doi parametri optionali pentru a indica: - dimensiunea memoriei pentru care se genereaza noul sistem; - actiunea care se va efectua la sfirsitul comenzii MOVCPM. Daca primul parametru este omis sau este un caracter "*", pro gramul MOVCPM va reconfigura sistemul CP/M in functie de dimen siunea maxima a memoriei interne din sistemul gazda (numarul de Kocteti de memorie RAM contigua, incepind de la adresa 0000H). Daca al doilea parametru este omis, la sfirsitul comenzii MOVCPM se va lansa in executie noul sistem CP/M generat, fara a fi insa inregistrat si pe disc. Daca se transmite ca al doilea parametru caracterul "*", sistemul CP/M generat va fi pastrat in memorie in vederea salvarii lui ulterioare pe disc, prin comanda SYSGEN sau SAVE. Formele posibile pentru comanda MOVCPM sint: .uj 0 (1) MOVCPM(CR) - reconfigureaza sistemul CP/M pentru o dimensiune de memorie egala cu dimensiunea maxima a memoriei din sistem si il lanseaza in executie (memoria este exami nata incepind de la adresa 100H). La sfirsitul reloca rii, noul sistem este executat dar nu si inregistrat pe disc. (2) MOVCPM n(CR) - genereaza un sistem CP/M reconfigurat pentru o memorie de "n" Kocteti (n trebuie sa fie cuprins intre 16 si 64) si il lanseaza in executie fara a-l salva pe disc. (3) MOVCPM * *(CR) - construieste o imagine memorie relocata pentru configu ratia de memorie curenta, dar lasa imaginea-memorie in memorie, pentru o viitoare operatie SYSGEN sau SAVE. (4) MOVCPM n *(CR) .uj 1 - construieste o imagine-memorie relocata pentru un sis tem cu "n" Kocteti si lasa aceasta imagine in memorie pentru o viitoare operatie SYSGEN sau SAVE. .cp 7 Dupa o comanda MOVCPM forma (3) sau (4) se genereaza o noua versiune de CP/M in memorie, versiune ce poate fi salvata pe disc printr-o operatie SYSGEN sau SAVE. La consola va apare mesajul: READY FOR "SYSGEN" OR "SAVE kk CPMxx.COM" .cp 4 unde "xx" este dimensiunea in Kocteti a memoriei pentru care a fost reconfigurat CP/M-ul, iar "kk" este dimensiunea imaginii sistemului intr-un fisier .COM. Utilizatorul poate lansa atunci: SYSGEN(CR) pentru a incepe generarea sistemului. Dialogul in continuare este: SOURCE DRIVE NAME (OR RETURN TO SKIP) se raspunde cu (CR) pentru a evita operatia de citire CP/M de pe disc (deoarece sistemul este deja in memo rie in urma comenzii MOVCPM). DESTINATION DRIVE NAME (OR RETURN TO REBOOT) se raspunde cu "B" pentru a scrie noul sistem pe discul din unitatea de disc "B". DESTINATION ON B, THEN TYPE RETURN se introduce in unitatea de disc "B" noul disc si se tasteaza (CR). SAVE kk CPMxx.COM(CR) Aceasta comanda este necesara cind operatia are loc intr-un cadru nestandard in care componenta BIOS trebuie sa fie modificata pentru o configuratie particulara de periferice. Exemple de comenzi valide ale programului MOVCPM: MOVCPM 48(CR) - construieste o versiune de 48K a CP/M-ului si il lanseaza in executie MOVCPM 48 *(CR) - construieste in memorie o versiune de 48K a CP/M-ului in vederea inregistrarii ulterioare pe disc Raspunsul este: READY FOR "SYSGEN" OR "SAVE" 32 CPM48.COM" MOVCPM *(CR) - construieste o versiune de memorie maxima a CP/M-ului si il lanseaza in executie.