Diferente pentru introducere-in-asamblare intre reviziile #13 si #12

Nu exista diferente intre titluri.

Diferente intre continut:

Instructiunea "loop" este folosita de obicei in transcrierea for-urilor si a buclelor.
h5. Sintaxa
Sintaxa
* loop label
loop label
h5. Descriere
Descriere
Echivalenta cu :
== code(cpp) |dec ecx (sau dec cx)
dec ecx (sau dec cx)
jz label
==
h4. Instructiunea INT
Instructiunea INT
h5. Descriere
Descriere
Instructiunea INT apealeaza o intrerupere.
 
h5. Sintaxa
 
* INT nr_intrerupere (un numar cuprins intre 0 si 255);
Sintaxa
INT nr_intrerupere (un numar cuprins intre 0 si 255);
Intreruperile opresc programul din rulare, executa un anumit cod si apoi permit continuarea rularii programului. Cu ajutorul apelului intreruperilor aplicatia poate sa comunice cu sistemul de operare, si cu unele componente hardware ale calculatorului (mouse-ul, tastatura, imprimanta, etc). Fiecare intrerupere are asociat un numar.
Exemple de intreruperi :
0x9 : intreruperea pentru tastatura;
0x10 : intreruperea care ofera serviciile BIOS pentru accesul la placa video;
0x21 : intreruperea sistemului de operare DOS;
0x33 : intreruperea pentru mouse;
h5. Exemple
In DOS pentru initializarea mouse-ului se va apela
* 0x9 : intreruperea pentru tastatura;
* 0x10 : intreruperea care ofera serviciile BIOS pentru accesul la placa video;
* 0x21 : intreruperea sistemului de operare DOS;
* 0x33 : intreruperea pentru mouse;
functia numarul 0 a intreruperii 0x33 :
asm
{
mov ax, 0
In DOS pentru initializarea mouse-ului se va apela functia numarul 0 a intreruperii 0x33 :
// seteaza registrul ax cu valoarea 0 pentru ca
== code(cpp) |asm
{
    mov ax, 0
    // seteaza registrul ax cu valoarea 0 pentru ca
    // driverul ce gestioneaza intreruperea 0x33
    //sa stie ca trebuie sa initializeze mouse-ul
    int 0x33
// driverul ce gestioneaza intreruperea 0x33
//sa stie ca trebuie sa initializeze mouse-ul
int 0x33
}
Pentru afisarea mouse-ului :
 
== code(cpp) |asm
asm
{
    mov ax, 1
    int 0x33
mov ax, 1
int 0x33
}
==
Pentru ascunderea cursorului de la mouse :
 
== code(cpp) |asm
asm
{
    mov ax, 2
    int 0x33;
mov ax, 2
int 0x33;
}
==
h2. Transcrierea unor instructiuni C/PASCAL in asamblare
 
 
 
 
Transcrierea unor instructiuni C/PASCAL in asamblare
 
 
* IF cond THEN instr

Nu exista diferente intre securitate.

Topicul de forum nu a fost schimbat.