Hehe, ako se ne varam ( mada, mozda i gresim... ) to bi bio FTN, Novi Sad, E2, 11. zadatak iz assembler-a... Jesam li u pravu

?
E, pa fora je u tome sto ti u tom prekidu koji nastaje posle deljenja nulom trebas da pokupis povratnu adresu sa steka, i uvecas je za 2 ( toliko bajta zauzima naredba div ), a mozes i da uzmes offset neke labele ili neke naredbe posle div-a i onda jos trebas tu izmenjenu adresu da vratis na stek...
Evo ti primer procedure za prekid:
Code:
div bx
......
prekid proc
cli
push ax
push ds
mov ax,@DATA
mov ds,ax
mov ax,0b800h
mov es,ax
lea si,poruka
mov di,160*5 ; ovo ovde menjaj po zelji, to je polozaj sa koga pocinje stampanje poruke
mov ah,Eh ; ovo je boja poruke
cld
znakovi: ; pocetak stampanja poruke
lodsb
and al,al
jz kraj_prekid
stosw
jmp znakovi
kraj_prekid:
pop ds
pop ax
pop si ; uzimas povratnu adresu sa steka
inc si
inc si ;uvecavas je 2x
push si ; vracas povratnu adresu na stek
sti
iret
prekid endp
Eto... Posle ovoga program ce nastaviti da se izvrsava od sledece naredbe posle div-a...
Srecno!