$title="TEACHING";
function corp()
{
?>
CURRICULA
| Adresa | Registri 16 biti | Registri 8 biti |
| 000 | AX | AL |
| 001 | CX | CL |
| 010 | DX | DL |
| 011 | BX | BL |
| 100 | SX | AH |
| 101 | BP | CH |
| 110 | SI | DH |
| 111 | DI | BH |
| Expresia | Mod de adresare | r/m |
| depl[BX][SI] | Adresare bazata indexata | 000 |
| depl[BX][DI] | Adresare bazata indexata | 001 |
| depl[BP][SI] | Adresare bazata indexata | 010 |
| depl[BP][DI] | Adresare bazata indexata | 011 |
| depl[SI] | Adresare indexata | 100 |
| depl[DI] | Adresare indexata | 101 |
| depl[BP] | Adresare bazata | 110 |
| depl[BX] | Adresare bazata | 111 |
| Bitii | Continut | Semnificatie |
| 7 - 2 | cod operatie | operatie elementara |
| 1 | d | directia rezultatului d=0 operand destinatie registru d=1 operand destinatie in memorie |
| 0 | w | tipul operandului w=0 operand pe bait w-1 operand pe cuvant |
| Bitii | Continut | Semnificatie |
| 7 - 2 | cod operatie | operatie elementara |
| 1 | d | directia rezultatului d=0 operand destinatie registru d=1 operand destinatie in memorie |
| 0 | w | tipul operandului w=0 operand pe bait w-1 operand pe cuvant |
| 7-6 | mod 00 01 10 11 | existenta campului deplasare in instructiune |
| 5-3 | reg | Adresa registrului utilizat |
| 2-0 | r/m | Defineste tipul expresiei de adresare |
| Bitii | Continut | Semnificatie |
| Bitii | Continut | Semnificatie |
| Bitii | Continut | Semnificatie |
| Baitii | Bitii | Continut | Semnificatie |
| Baitul 5 | 7 - 2 | cod operatie | operatie elementara |
| Baitul 5 | 1 | d | directia rezultatului d=0 operand destinatie registru d=1 operand destinatie in memorie |
| Baitul 5 | 0 | w | tipul operandului w=0 operand pe bait w-1 operand pe cuvant |
| Baitul 4 | 7-6 | mod 00 01 10 11 | existenta campului deplasare in instructiune |
| Baitul 4 | 5-3 | reg | Adresa registrului utilizat |
| Baitul 4 | 2-0 | r/m | Defineste tipul expresiei de adresare |
| Baitul3 | 7-0 | Deplasare | Deplasare 1 |
| Baitul 2 | 7-0 | Deplasare | Deplasare 2 |
| Baitul1 | 7-0 | Constanta | Constanta imediata 1 |
| Baitul 0 | 7-0 | Constanta | Constanta imediata 2 |
| Bitii | Continut | Semnificatie |
| Instructiunile | Registrii impliciti |
| AAA,AAD,AAM,AAS | AL, AH |
| CBW, CBD | AL, AX, AX:DX |
| DAA, DAS | AL |
| IN, OUT | AL, AX |
| MUL, IMUL, DIV, IDIV | AL, AX, AX:DX |
| LAHF, SAHF | AH |
| LES | ES |
| LDS | DS |
| SHL, SHR, ROR, ROL | CX |
| MOVSB, MOVSW, CMPSB, CMPSW | CX, SI, DI |
| XLAT | AL, BX |
| OPERATIA pe FISIER | FUNCTIA APELATA | COD OPERATIE | SEMNIFICATIE REGISTRI |
| Creare fisier | INT 21H | 3CH | DX - adresa zonei de memorie pentru calea fisierului CX - atribite fisier AH - contine codul operatiei, adica, 3CH |
| Deschidere fisier | INT 21H | 3DH | DX - adresa zonei de memorie pentru calea fisierului AL - tip acces 0 - read only 1 - write only 2 - update AH - contine codul operatiei, adica, 30H |
| Inchidere fisier | INT 21H | 3EH | BX - numar logic AH - contine codul operatiei, adica, 30H |
| Citire din fisier | INT 21H | 3FH | BX - numar logic DX - adresa zonei de memorie unde se stocheaza informatia citita CX - numarul maxim de baiti care se citesc AH - contine codul operatiei, adica, 3FH |
| Scriere in fisier | INT 21H | 40H | BX - numar logic DX - adresa zonei de memorie de unde se preia informatia pentru a fi scrisa CX - numarul maxim de baiti care se scriu AH - contine codul operatiei, adica, 40H |
| Inchidere fisier | INT 21H | 41H | BX - numar logic DX - adresa zonei de memorie care defineste calea AH - contine codul operatiei, adica, 41H |
| Detrminare atribute fisier | INT 21H | 43H |
DX - adresa zonei de memorie care defineste calea AH - contine codul operatiei, adica, 43H |
| Initializare atribute fisier | INT 21H | 43H |
DX - adresa zonei de memorie care defineste calea AH - contine codul operatiei, adica, 43H |
| Operator | Numar operatori varianta 1 | Numar operatori varianta 2 |
| = | 1 | 1 |
| * | 14 | 5 |
| + | 9 | 4 |
| - | 3 | 3 |
| / | 1 | 1 |
| () | 3 | 3 |
| ENTITATE | ASM | C++ |
| Alfabet | DA | DA |
| Senzitivitate | NU | DA |
| Cuvinte cheie | DA | DA |
| Reguli construire identificatori | DA | DA |
| Reguli construire etichete | DA | DA |
| Etichetele sunt urmate de doua puncte | DA | DA |
| Pointer | DA | DA |
| Articole | STRUC | STRUCT |
| Subprograme | DA | DA |
| Apel | CALL | tip nume() |
| Revenire in apelator | RET | return() |
| Structura repetitiva standard | LOOP | for() |
| Variabile globale | DA | DA |
| Adresare directa | DA | DA |
| Adresare indexata | DA | DA |
| Adresare indirecta | [] | *nume |
| Incrementare | INC | ++ |
| Decrementare | DEC | -- |
| Inmultire | MUL | * |
| Impartire | DIV | / |
| Adunare | ADD | + |
| Scadere | SUB | - |
| Structura de control liniara | DA | DA |
| Structura de control repetitiva | DA | DA |
| Structura de control alternativa | DA | DA |
| Structura de control alternativa multipla | DA | DA |
| Macrodefinitii | DA | DA |
| Constante simbolice | DA | DA |
| Definire masiv unidimensional | nume tip const DUP(lista valori) | tip nume[const] |
| Definire masiv biidimensional | nume tip const1 DUP(const2 DUP(lista valori)) | tip nume[const1][const2] |
| Variabila pointer | nume tip nume_var | tip *nume |
| Constanta zecimala | sir de cifre ale bazei 10 | sir de cifre ale bazei 10 |
| Constanta binara | sir de cifre ale bazei 2 urmate de litera B | sir de cifre ale bazei 2 urmate de litera B |
| Constanta hexazecimala | sir de cifre ale bazei 16 precedate de 0 si urmate de H | sir de cifre ale bazei 16 precedate de 0 si urmate de H |
| Constanta octala | sir de cifre ale bazei 8 precedate de 0 si urmate de O | sir de cifre ale bazei 8 precedate de 0 si urmate de O |
| Constanta caracter | un caracter ASCII inclus intre apostrofuri | un caracter ASCII inclus intre apostrofuri |
| Instructiuni aritmetice | DA | DA |
| Instructiuni pe siruri de baiti | DA | DA |
| Instructiuni de deplasare | DA | DA |
| Instructiuni de comparare | DA | DA |
| Instructiuni de atribuire | DA | DA |
| Instructiuni logice pe siruri de biti | DA | DA |
| Apeluri de intreruperi | DA | DA |
| Referire registri | prin nume AX, BX,CX,DX,SI,DI | prin tipul de data definit |
| Lucru cu fisiere | cu ajutorul intreruperilor | cu functii de biblioteca |
| Aplicatii de grafica | cu ajutorul intreruperilor | cu functii de biblioteca |
| Instructiune vida | NOP | ; |
| Punctul ca operator de referire membru intr-o variabila de tip structura | DA | DA |
| Delimitator sfarsit de bloc | ENDP, END, ENDM, ENDS | } |
| Delimitator de inceput de bloc | PROC, MACRO STRUC | {, nume(), struct{ |
| Instructiunea IF() | CMP urmata de Jxx | if(cond) instr_1;else instr_2; |
| Instructiune repetitiva conditionata anterior | relizata cu o instructiune CMP etichetata, un salt conditionat, o secventa de repetat, un salt neconditionat spre instructiunea de comparare | while() |
| Instructiune repetitiva conditionata posterior | relizata cu o instructiune etichetata, o secventa de repetat, o instructiune CMP si un salt conditionat inapoi spre instructiunea etichetata | do {...}while() |
| Instructiune alternativa multipla | relizata cu o succesiune de instructiuni CMP si salturi conditionate | switch() |