Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Čuvanje konteksta procesora pri pozivu interrupt-a (asm 286)

[es] :: Asembler :: Čuvanje konteksta procesora pri pozivu interrupt-a (asm 286)

[ Pregleda: 4433 | Odgovora: 0 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Jovovic
Milan Jovovic
Student
Pozarevac / Beograd

Član broj: 61527
Poruke: 4
*.ptt.yu.



Profil

icon Čuvanje konteksta procesora pri pozivu interrupt-a (asm 286)17.06.2005. u 17:23 - pre 229 meseci
Imam nekoliko pitanja u vezi asemblera za 286. Interesuje me kako da "dohvatim" registre CS i IP iz prekidne rutine koju sam
definišem, odnosno, koje registre čuva hardver na steku i kojim redosledom?

U svom programu imam proceduru koja se izvršava prilikom prekida:

Code:
void interrupt interruptHandler();


koja se prevodi u asembler na sledeći način:

Code:
@interruptHandler$qv proc far
push ax
push bx
push cx
push dx
push es
push ds
push si
push di
push bp
mov bp,DGROUP
mov ds,bp
mov bp,sp
/////////////////////////////////
// ovde se nalazi telo procedure
/////////////////////////////////
pop bp
pop di
pop si
pop ds
pop es
pop dx
pop cx
pop bx
pop ax
iret
@interruptHandler$qv endp


Pomoću BP mogu da pristupim steku i na taj način pročitam kontekst procesora (ax, bx, ...bp), ali ne znam koliko registara i
koji se sve registri i kojim redom čuvaju na steku pre pozivanja procedure interruptHandler().
 
Odgovor na temu

[es] :: Asembler :: Čuvanje konteksta procesora pri pozivu interrupt-a (asm 286)

[ Pregleda: 4433 | Odgovora: 0 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.