CS-401 Computer Architecture & Assembly Language Programming

Slides:



Advertisements
Similar presentations
10-1 ECE 424 Design of Microprocessor-Based Systems Haibo Wang ECE Department Southern Illinois University Carbondale, IL Subroutine and Interrupt.
Advertisements

University of Tehran 1 Microprocessor System Design Interrupt Omid Fatemi
Princess Sumaya Univ. Computer Engineering Dept. د. بســام كحـالــه Dr. Bassam Kahhaleh.
Flow Diagram: Push flags, CS, IP Pop IP,CS,flags Push AX,BX,CX,DX,ES,DS,SI,DI,BP POP BP,DI,SI,DS,ES,DX,CX,BX,AX.
Data Movement Instructions
CS 206D Computer Organization
Computer Organization & Assembly Language
Computer Organization And Assembly Language
Computer Architecture Microsoft Assembler. Procedures Internal Internal External External Speeds learning Speeds learning Importing Importing.code extrn.
Princess Sumaya University
IP high IP low IP high IP low BP high BP low IP high IP low BP high BP low FL high FL low CS high CS low IP high IP low _TEXTsegment byte public ‘CODE’
1 ICS 51 Introductory Computer Organization Fall 2006 updated: Oct. 2, 2006.
CS2422 Assembly Language & System Programming November 2, 2006.
Interrupt Processing Haibo Wang ECE Department
Microprocessor Systems Design I Instructor: Dr. Michael Geiger Spring 2014 Lecture 4: x86 memory.
8.4 Instruction Execution Times TOBIN PROC FAR SUB AX,AX MOV DX,AX MOV CX,4 NEXTD: PUSH CX SUB BP,BP MOV CX,4 GETNUM: RCL BX,1 RCL BP,1 LOOP GETNUM.
Micro-Computer Applications: Procedures & Interrupts Dr. Eng. Amr T. Abdel-Hamid ELECT 707 Fall 2011.
8086 has 2 interrupt inputs 1. NMI 2. INTR For application where we have interrupts from multiple sources, use an external device called a Priority Interrupt.
INT- interrupt program execution 1. It decrements the sp by 2 and pushes the flag registers on the stack. 2. Decrement the sp by 2 and push the content.
1 ICS 51 Introductory Computer Organization Fall 2009.
CEN 226: Computer Organization & Assembly Language :CSC 225 (Lec#9) By Dr. Syed Noman.
L AB 2. P ROGRAM STRUCTURE The assembly language program consist of code, data and stack. Data segment: contains all the variable definition..Data Code.
INTRODUCTION TO MICROPROCESSOR Engr. Ammar Anwar Khan.
Introduction To Computer Architecture Jean-Michel RICHER University of Angers France January 2003.
Functions/Methods in Assembly
Microprocessor System Design Programmable Interrupt Controller.
BIOS and DOS Interrupts Basic Input /Outpu System Disk Operating System.
Riyadh Philanthropic Society For Science Prince Sultan College For Woman Dept. of Computer & Information Sciences CS 251 Introduction to Computer Organization.
7-Nov Fall 2001: copyright ©T. Pearce, D. Hutchinson, L. Marshall Oct lecture23-24-hll-interrupts 1 High Level Language vs. Assembly.
CS-401 Computer Architecture & Assembly Language Programming Lecture-16 Display Memory.
Interrupts and interrupt responses
Microprocessor and Assembly Language
Instruksi Set Prosesor 8088
Microprocessor and Assembly Language
Microprocessor and Assembly Language
Information Security - 2
Assembly Language Programming Part 2
CS-401 Compute Architecture & Assembly Language Programming
University of Gujrat Department of Computer Science
CS-401 Computer Architecture & Assembly Language Programming
CS-401 Computer Architecture Assembly Language Programming
(The Stack and Procedures)
CS-401 Assembly Language Programming
CS-401 Computer Architecture & Assembly Language Programming
שפת סף וארכיטקטורה של מעבד 8086
8086 Registers Module M14.2 Sections 9.2, 10.1.
CS-401 Computer Architecture & Assembly Language Programming
Morgan Kaufmann Publishers Computer Organization and Assembly Language
Microprocessor and Assembly Language
CS-401 Computer Architecture & Assembly Language Programming
CS-401 Computer Architecture & Assembly Language Programming
(The Stack and Procedures)
CS-401 Computer Architecture & Assembly Language Programming
Microprocessor Lab CSL1543 0:0:2
University of Gujrat Department of Computer Science
Morgan Kaufmann Publishers Computer Organization and Assembly Language
University of Gujrat Department of Computer Science
University of Gujrat Department of Computer Science
CS-401 Assembly Language Programming
CS-401 Computer Architecture & Assembly Language Programming
April 2006 Saeid Nooshabadi
CS-401 Computer Architecture & Assembly Language Programming
(The Stack and Procedures)
CS-401 Computer Architecture and Assembly Language Programming
Microprocessor and Assembly Language
CS-401 Computer Architecture & Assembly Language Programming
CS-401 Computer Architecture & Assembly Language Programming
CS-401 Computer Architecture & Assembly Language Programming
(The Stack and Procedures)
CS-401 Computer Architecture & Assembly Language Programming
Presentation transcript:

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