Sahar Mosleh California State University San MarcosPage 1 Assembly language and Digital Circuit By Sahar Mosleh California State University San Marcos.

Slides:



Advertisements
Similar presentations
Assembly Language for x86 Processors 6 th Edition Chapter 1: Introduction to ASM (c) Pearson Education, All rights reserved. You may modify and copy.
Advertisements

Assembly Language for Intel-Based Computers, 4 th Edition Chapter 1: Basic Concepts (c) Pearson Education, All rights reserved. You may modify and.
COE Computer Organization & Assembly Language
1 Lecture-2 CSIT-120 Spring 2001 Revision of Lecture-1 Introducing Computer Architecture The FOUR Main Elements Fetch-Execute Cycle A Look Under the Hood.
Midterm Wednesday Chapter 1-3: Number /character representation and conversion Number arithmetic Combinational logic elements and design (DeMorgan’s Law)
Computing Components 01/26/11. Announcements & Reminders Programs 1 due Friday, 9/2/11 What is my late policy? Proxy Codes for Labs  You should be able.
Introduction to Computers and Programming. Some definitions Algorithm: –A procedure for solving a problem –A sequence of discrete steps that defines such.
Assembly Language for Intel-Based Computers, 4th Edition
Assembly Language for Intel-Based Computers Chapter 2: IA-32 Processor Architecture Kip Irvine.
Assembly Language for Intel-Based Computers, 5 th Edition Chapter 1: Basic Concepts (c) Pearson Education, All rights reserved. You may modify.
Assembly Language for Intel-Based Computers, 5 th Edition Chapter 1: Basic Concepts (c) Pearson Education, All rights reserved. You may modify.
Introduction to Computers and Programming. Some definitions Algorithm: Algorithm: A procedure for solving a problem A procedure for solving a problem.
CIS 260 Computer Programming I in C Prof. Timothy Arndt.
Assembly Language Lecture 0: Introduction. Outline What is Assembly Language? Why learn Assembly Language? Grade Text Book.
Lecture 7: Instruction Set Architecture CSE 30: Computer Organization and Systems Programming Winter 2014 Diba Mirza Dept. of Computer Science and Engineering.
Assembly Language for Intel-Based Computers, 5 th Edition Chapter 1: Basic Concepts (c) Pearson Education, All rights reserved. You may modify.
Chapter 1: Basic Concepts (c) Pearson Education, All rights reserved. You may modify and copy this slide show for your personal use, or for.
1 CS/COE0447 Computer Organization & Assembly Language Pre-Chapter 2.
An Introduction Chapter Chapter 1 Introduction2 Computer Systems  Programmable machines  Hardware + Software (program) HardwareProgram.
CSU0014 Assembly Languages Homepage: Textbook: Kip R. Irvine, Assembly Language for Intel-Based Computers,
Summer 2014 Chapter 1: Basic Concepts. Irvine, Kip R. Assembly Language for Intel-Based Computers 6/e, Chapter Overview Welcome to Assembly Language.
Assembly Language for x86 Processors 7th Edition
General Computer Science for Engineers CISC 106 Lecture 02 Dr. John Cavazos Computer and Information Sciences 09/03/2010.
Introduction CS 104: Applied C++ What is Programming? For some given problem: __________ a solution for it -- identify, organize & store the problem's.
IT253: Computer Organization Lecture 4: Instruction Set Architecture Tonga Institute of Higher Education.
Chapter 1: Basic Concepts
Sahar Mosleh California State University San MarcosPage 1 CPU Flags and Boolean Instructions.
Cosc 2150: Computer Organization
Computer Architecture And Organization UNIT-II Multilevel View Point Of A Machine.
Assembly Language for x86 Processors 7 th Edition Chapter 1: Basic Concepts (c) Pearson Education, All rights reserved. You may modify and copy this.
Implementation of a Stored Program Computer ITCS 3181 Logic and Computer Systems 2014 B. Wilkinson Slides2.ppt Modification date: Oct 16,
COMP3221 lec04--prog-model.1 Saeid Nooshabadi COMP 3221 Microprocessors and Embedded Systems Lecture 4: Programmer’s Model of Microprocessors
ITEC 352 Lecture 12 ISA(3). Review Buses Memory ALU Registers Process of compiling.
INSTRUCTION SET AND ASSEMBLY LANGUAGE PROGRAMMING
Advanced Computer Architecture 0 Lecture # 1 Introduction by Husnain Sherazi.
Sahar Mosleh California State University San MarcosPage 1 Professional Awareness and Social Impacts of Computing.
Assembly Language A Brief Introduction. Unit Learning Goals CPU architecture. Basic Assembler Commands High level Programming  Assembler  Machine Language.
Chapter 19 Number Systems. Irvine, Kip R. Assembly Language for Intel-Based Computers, Translating Languages English: Display the sum of A times.
The Central Processing Unit (CPU) and the Machine Cycle.
CSCI 211 Intro Computer Organization –Consists of gates for logic And Or Not –Processor –Memory –I/O interface.
1 Computer Architecture Part II-B: CPU Instruction Set.
Indira Gandhi National Open University presents. A Video Lecture Course: Computer Platforms.
Introduction 1 (Read Chap. 1) What is Programming? For some given problem: design a solution for it -- identify, organize & store the problem's data --
Represents different voltage levels High: 5 Volts Low: 0 Volts At this raw level a digital computer is instructed to carry out instructions.
1.4 Representation of data in computer systems Instructions.
UConn CSE CSE241: Instruction Level Architecture Base CPU/Memory Architecture Registers Fetch-Execute Cycle Instructions Addressing Modes.
Computer Organization and Assembly Languages 2007/11/10
Sahar Mosleh California State University San MarcosPage 1 Intel IA-32 Architecture This lecture describes the architecture of the Intel IA-32 processor.
What is a program? A sequence of steps
Dale Roberts Department of Computer and Information Science, School of Science, IUPUI CSCI 230 Dale Roberts, Lecturer Information.
Simple ALU How to perform this C language integer operation in the computer C=A+B; ? The arithmetic/logic unit (ALU) of a processor performs integer arithmetic.
Computer Organization Instructions Language of The Computer (MIPS) 2.
1 TM 1 Embedded Systems Lab./Honam University ARM Microprocessor Programming Model.
Computer Operation. Binary Codes CPU operates in binary codes Representation of values in binary codes Instructions to CPU in binary codes Addresses in.
Review A program is… a set of instructions that tell a computer what to do. Programs can also be called… software. Hardware refers to… the physical components.
Introduction to computer software. Programming the computer Program, is a sequence of instructions, written to perform a specified task on a computer.
Computer Organization and Architecture Lecture 1 : Introduction
Software Development Environment
Assembly language.
Assembly Language for x86 Processors 6th Edition
Assembly Language (CSW 353)
Edexcel GCSE Computer Science Topic 15 - The Processor (CPU)
COMPUTER ORGANIZATION & ASSEMBLY LANGUAGE
Microprocessor and Assembly Language
Microprocessor Systems Design I
COAL Chapter 1,2,3.
Computer Programming Machine and Assembly.
Computer Organization and Assembly Language
Algoritmos y Programacion
Presentation transcript:

Sahar Mosleh California State University San MarcosPage 1 Assembly language and Digital Circuit By Sahar Mosleh California State University San Marcos

Sahar Mosleh California State University San MarcosPage 2 The Goal In this course, we are learning Some basic principals of computer architecture applied to Intel IA-32 Basic Boolean logic and how it applies to programming and computer hardware. Memory management of IA-32 using real mode, protected mode and virtual mode. How a compiler translate High level language statement to assembly. How implement arithmetic expressions, loops, and logical structures with assembly. You may also learn about data representation, including signed and unsigned integers, real numbers, and character.

Sahar Mosleh California State University San MarcosPage 3 Programming Languages Overview A program is written in a high level programming language - not English or other natural languages. Different levels of languages are: Machine Language: Operates data in terms of 0's and 1's. Lowest level commands understood by a particular machine. Assembly Language: it consist of operation names and data address. It works as middle ware between machine language and high level language. High-level language: higher level readable statements that can be translated into various Machine Languages. If a program written in a high level language, and can be understood by various compilers without modification, then it is PORTABLE. An organization called ANSI contributes to standardizing languages and thus making them more portable.

Sahar Mosleh California State University San MarcosPage 4 Below Your Program To speak to your machine, you need to send electronic signals. The easiest signal is on/off The two symbols for these two signals are 0 and 1. We commonly think of machine language as binary numbers which are base 2. Example of binary number The above binary code tells the computer to add two numbers

Sahar Mosleh California State University San MarcosPage 5 Any digit of this binary number is called bit Each byte is 8 bits Any collection of 0 and 1 which can make a binary number is a command or instruction that your computer understands The system program that translates a command such as add eax, 10 To machine language ( binary code ) Is called an Assembler One bit One Byte = 8 bits

Sahar Mosleh California State University San MarcosPage 6 An example of a high level language in C/C++ for adding two numbers is: void main() { C = ( Y + 4 ) * 3 ; } Another system program called Compiler will compile these high level language to assembly language statement which is mov eax, Y add eax, 4 mov ebx, 3 imul ebx mov C, eax Then assembler will translate this statement into binary instruction

Sahar Mosleh California State University San MarcosPage 7 void main() { C = ( Y + 4 ) * 3 ; } mov eax, Y add eax, 4 mov ebx, 3 imul ebx mov C, eax C Compiler Assembler High-level language program (in C) Assembly language program Binary machine language program

Sahar Mosleh California State University San MarcosPage 8 Execution Cycle Obtain instruction from program Determine what the instruction is Deposit result in storage for later use Perform the Execution Locate and obtain operand data Determine successor instruction Instruction Fetch Instruction Decode Operand Fetch Execute Result Store Next Instruction