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

Nu exista diferente intre titluri.

Diferente intre continut:

Instructiunea "loop" este folosita de obicei in transcrierea for-urilor si a buclelor.
Sintaxa
h5. Sintaxa
loop label
* loop label
Descriere
h5. Descriere
Echivalenta cu :
dec ecx (sau dec cx)
== code(cpp) |dec ecx (sau dec cx)
jz label
==
Instructiunea INT
h4. Instructiunea INT
Descriere
h5. Descriere
Instructiunea INT apealeaza o intrerupere.
Sintaxa
INT nr_intrerupere (un numar cuprins intre 0 si 255);
 
h5. 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;
In DOS pentru initializarea mouse-ului se va apela
h5. Exemple
functia numarul 0 a intreruperii 0x33 :
asm
{
mov ax, 0
* 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;
// seteaza registrul ax cu valoarea 0 pentru ca
In DOS pentru initializarea mouse-ului se va apela functia numarul 0 a intreruperii 0x33 :
// driverul ce gestioneaza intreruperea 0x33
//sa stie ca trebuie sa initializeze mouse-ul
int 0x33
== 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
}
Pentru afisarea mouse-ului :
asm
 
== code(cpp) |asm
{
mov ax, 1
int 0x33
    mov ax, 1
    int 0x33
}
==
Pentru ascunderea cursorului de la mouse :
asm
 
== code(cpp) |asm
{
mov ax, 2
int 0x33;
    mov ax, 2
    int 0x33;
}
==
 
 
 
 
Transcrierea unor instructiuni C/PASCAL in asamblare
 
 
h2. Transcrierea unor instructiuni C/PASCAL in asamblare
* IF cond THEN instr

Nu exista diferente intre securitate.

Topicul de forum nu a fost schimbat.