CS-401 Computer Architecture & Assembly Language Programming Lecture-21 Software Interrupts
Lets revise the last lecture
Assignment for the students
Interept
int n push flags IF < 0 TF < 0 push cs push ip ip < [0:4*n] cs < [0:4*n+2]
iret ip < [ss:sp] sp < sp + 2 cs < [ss:sp] flags < [ss:sp]
int/iret Illustration 2000:0100 mov ax,0 2000:0103 mov bx,10 2000:0106 int 0x10 2000:0108 cmp ax,0 2000:010B . . . . 3000:0148 mov ax,0 3000:0150 . . . . 3000:0148 iret 3000:0148 . . . . FLAGS IVT ******* . ******* . stack ******* .
int/iret Illustration 2000:0100 mov ax,0 2000:0103 mov bx,10 2000:0106 int 0x10 2000:0108 cmp ax,0 2000:010B . . . . 3000:0148 mov ax,0 3000:0150 . . . . 3000:0148 iret 3000:0148 . . . . FLAGS IVT ******* . ******* . stack ******* .
int/iret Illustration 2000:0100 mov ax,0 2000:0103 mov bx,10 2000:0106 int 0x10 2000:0108 cmp ax,0 2000:010B . . . . 3000:0148 mov ax,0 3000:0150 . . . . 3000:0148 iret 3000:0148 . . . . FLAGS IVT ******* . ******* . 0x2000 0x0108 stack ******* .
int/iret Illustration 2000:0100 mov ax,0 2000:0103 mov bx,10 2000:0106 int 0x10 2000:0108 cmp ax,0 2000:010B . . . . 3000:0148 mov ax,0 3000:0150 . . . . 3000:0148 iret 3000:0148 . . . . IVT ******* . ******* . stack 0x0108 0x2000 FLAGS ******* .
int/iret Illustration 2000:0100 mov ax,0 2000:0103 mov bx,10 2000:0106 int 0x10 2000:0108 cmp ax,0 2000:010B . . . . 3000:0148 mov ax,0 3000:0150 . . . . 3000:0148 iret 3000:0148 . . . . IVT ******* . ******* . stack 0x0108 0x2000 FLAGS ******* .
int/iret Illustration 2000:0100 mov ax,0 2000:0103 mov bx,10 2000:0106 int 0x10 2000:0108 cmp ax,0 2000:010B . . . . 3000:0148 mov ax,0 3000:0150 . . . . 3000:0148 iret 3000:0148 . . . . IVT ******* . ******* . stack 0x0108 0x2000 FLAGS ******* .
int/iret Illustration 2000:0100 mov ax,0 2000:0103 mov bx,10 2000:0106 int 0x10 2000:0108 cmp ax,0 2000:010B . . . . 3000:0148 mov ax,0 3000:0150 . . . . 3000:0148 iret 3000:0148 . . . . IVT ******* . ******* . stack 0x0108 0x2000 FLAGS ******* .
int/iret Illustration 2000:0100 mov ax,0 2000:0103 mov bx,10 2000:0106 int 0x10 2000:0108 cmp ax,0 2000:010B . . . . 3000:0148 mov ax,0 3000:0150 . . . . 3000:0148 iret 3000:0148 . . . . IVT ******* . ******* . stack ******* . 0x0108 0x2000 FLAGS