Assembly Language for Intel-Based Computers

Slides:



Advertisements
Similar presentations
Memory.
Advertisements

Assembly Language for Intel-Based Computers, 4 th Edition Chapter 1: Basic Concepts (c) Pearson Education, All rights reserved. You may modify and.
Computers Organization & Assembly Language Chapter 1 THE 80x86 MICROPROCESSOR.
64bit Development Overview March 28 Microsoft. Objectives Learn about the current 64-bit platforms from a hardware, software and tools perspective Review.
1 Lecture 1  Getting ready to program  Hardware Model  Software Model  Programming Languages  The C Language  Software Engineering  Programming.
Assembly Language for Intel-Based Computers, 5 th Edition Chapter 1: Basic Concepts (c) Pearson Education, All rights reserved. You may modify.
Introduction to Computer Programming CSC 1401: Introduction to Programming with Java Lecture 2 Wanda M. Kunkle.
Assembly Language for Intel-Based Computers, 5 th Edition Chapter 1: Basic Concepts (c) Pearson Education, All rights reserved. You may modify.
Protected Mode. Protected Mode (1 of 2) 4 GB addressable RAM –( to FFFFFFFFh) Each program assigned a memory partition which is protected from.
CS2422 Assembly Language & System Programming September 26, 2006.
Basic Concepts Computer Organization and Assembly Language.
Joseph L. Lindo Assembly Programming Sir Joseph Lindo University of the Cordilleras.
Chapter 2 Software Tools and Assembly Language Syntax.
Assembly Language for Intel-Based Computers, 5 th Edition Chapter 1: Basic Concepts (c) Pearson Education, All rights reserved. You may modify.
Computer Organization & Assembly Language
Chapter 17 Programming Tools The Architecture of Computer Hardware and Systems Software: An Information Technology Approach 3rd Edition, Irv Englander.
Computer Organization
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/2002JNM Edit, Assemble, Link & Debug. 1/2002JNM Files Created.
COMPUTER SOFTWARE Section 2 “System Software: Computer System Management ” CHAPTER 4 Lecture-6/ T. Nouf Almujally 1.
Natawut NupairojAssembly Language1 Introduction to Assembly Programming.
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
Assembly Language for x86 Processors 7 th Edition Chapter 1: Basic Concepts (c) Pearson Education, All rights reserved. You may modify and copy this.
Chapter 0 Overview. Why you are here? Where will you go? What is this course for?
Computer organization Practical 1. Administrative Issues The course requirements are: –To be nice and open minded –To pass the exam (there is a boolean.
Full and Para Virtualization
Basic Concepts Computer Organization & Assembly Language Programming Instructor: Maram Alsahafi [Some of the contents Adapted from slides Dr Adnan Gutub,
Skill Area 311 Part B. Lecture Overview Assembly Code Assembler Format of Assembly Code Advantages Assembly Code Disadvantages Assembly Code High-Level.
نظام المحاضرات الالكترونينظام المحاضرات الالكتروني Computer Software.
Chapter 2- Visual Basic Schneider1 Programming Languages: Machine Language Assembly Language High level Language.
Suffolk County Community College Mathematics and Computer Science Ammerman Campus CST 121Spring 2013 Section 151CRN: Computer Organization And System.
1 The user’s view  A user is a person employing the computer to do useful work  Examples of useful work include spreadsheets word processing developing.
Chapter Goals Describe the application development process and the role of methodologies, models, and tools Compare and contrast programming language generations.
CSC235 Computer Organization & Assembly Language
DDC 2223 SYSTEM SOFTWARE DDC2223 SYSTEM SOFTWARE.
Assembly Language for x86 Processors 6th Edition
Chapter 5- Assembling , Linking, and Executing Programs
Assembly Language (CSW 353)
Assembly Language programming
CSCI-235 Micro-Computer Applications
Microprocessor and Assembly Language
ACOE301: Computer Architecture II Labs
ICS103 Programming in C Lecture 1: Overview of Computers & Programming
CS490 Windows Internals Quiz 2 09/27/2013.
Java programming lecture one
Assembly Language for x86 Processors 6th Edition
COAL Chapter 1,2,3.
CSCI/CMPE 3334 Systems Programming
OS Virtualization.
and Executing Programs
Introduction to Assembly Language
Chapter 2: System Structures
COMPUTER SOFT WARE Software is a set of electronic instructions that tells the computer how to do certain tasks. A set of instructions is often called.
Lecture Topics: 11/1 General Operating System Concepts Processes
Analysis models and design models
What time is it?. What time is it? Major Concepts: a data structure model: basic representation of data, such as integers, logic values, and characters.
CMP 131 Introduction to Computer Programming
Computer Organization and Assembly Language
Outline Chapter 2 (cont) OS Design OS structure
Chapter 8: Memory Management strategies
University of Gujrat Department of Computer Science
Presentation of Architecture Assembly Language Topic: Assembly Language Group Members: Izaz Ahmad Roll no.6 Imanullah Roll no.54.
Program Execution.
Assembly Language for Intel-Based Computers, 5th Edition
Computer Organization and Assembly Language
System Programming By Prof.Naveed Zishan.
ICS103 Programming in C 1: Overview of Computers And Programming
Presentation transcript:

Assembly Language for Intel-Based Computers Chapter 1: Basic Concepts

Chapter Overview Welcome to Assembly Language Virtual Machine Concept Data Representation Boolean Operations

Welcome to Assembly Language Some Good Questions to Ask Assembly Language Applications

Questions to Ask Why am I learning Assembly Language? Assembly language is the oldest programming languages Bears the closest resemblance to the native language of the computer provides direct access to a computer’s hardware, make it easier to understand computer architecture and operating systems What background should I have? -Computer programming basic

Questions to Ask What is an assembler? An assembler is a program that converts source code programs from assembly language into machine language Assembler can optionally generate source listing file with line numbers, memory address, source code statement, and cross reference listing of symbols and variables used in a program Companion program is linker and debugger Linker will combine individual files created by an assembler into single executable program Debugger provide way to trace the execution of a program and examine the content of memory

Questions to Ask What hardware/software do I need? Computer-Intel386,Intel486 or one of pentium processors Operating systems-Ms Windows, Ms-Dos or Linux running a DOS emulator Editor-notepead, textpad, visual studio editor Assembler-Ms Assembler (MASM 6.15), Borland Turbo Assembler (TASM) Linker-Ms 16-bit linker (link.exe) or Ms 32-bit linker (link32.exe) Debugger-Codeview, Turbo Debugger

Questions to Ask What types of programs will I create? 16-bit real address mode-running in pure MS-DOS or DOS emulator 32-bit protected mode-using Ms Windows, display both text and graphics What will I learn? Basic principles of computer architecture Basic boolean logic Manage memory Data representation How application program communicate with the computer OS via interrupt handlers, system calls and ect. How OS load and execute application program

Welcome to Assembly Language (cont) How does assembly language (AL) relate to machine language? Machine language is a numeric language that is spesifically understood by a computer processor (CPU) Assembly language consist of statements that use short mnemonics such as ADD, MOV,SUB and CALL Assembly language has one-to-one relationship with machine language How do C++ and Java relate to AL? High level language have a one-to many relationship with both assembly language and machine language

Welcome to Assembly Language (cont) Is AL portable? A language whose source programs can be compiled and run on wide variety of computer systems is said to be portable. Assembly language tied to specific processor family. Why learn AL? Embedded systems program Optimize both space and runtime speed Understand interaction between computer hardware, OS and application program Create device driver

Assembly Language Applications Some representative types of applications: Business application for single platform Hardware device driver Business application for multiple platforms Embedded systems & computer games (see next panel)

Comparing ASM to High-Level Languages

Assembling, Linking, and Running Programs Assemble-Link-Execute Cycle make32.bat Listing File Map File

Assemble-Link Execute Cycle The following diagram describes the steps from creating a source program through executing the compiled program. If the source code is modified, Steps 2 through 4 must be repeated.

Example linked linkage file

Listing File Use it to see how your program is compiled Contains source code addresses object code (machine language) segment names symbols (variables, procedures, and constants) Example: addSub.lst

Map File Information about each program segment: starting address ending address size segment type Example: addSub.map (16-bit version)