$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() |