1 Introduction Chapter 1 n What is Assembly Language? n Data Representation.

Slides:



Advertisements
Similar presentations
Week 3. Assembly Language Programming  Difficult when starting assembly programming  Have to work at low level  Use processor instructions >Requires.
Advertisements

Assembly Language for Intel-Based Computers, 4 th Edition Chapter 1: Basic Concepts (c) Pearson Education, All rights reserved. You may modify and.
ICS312 Set 2 Representation of Numbers and Characters.
Binary Representation Introduction to Computer Science and Programming I Chris Schmidt.
Data Representation Computer Organization &
TK 2633 Microprocessor & Interfacing Lecture 3: Introduction to 8085 Assembly Language Programming (2) 1 Prepared By: Associate Prof. Dr Masri Ayob.
Data Representation COE 205
Introduction to Microprocessors Number Systems and Conversions No /6/00 Chapter 1: Introduction to 68HC11 The 68HC11 Microcontroller.
Assembly Language for Intel-Based Computers, 4th Edition
Assembly Language for Intel-Based Computers, 5 th Edition Chapter 1: Basic Concepts (c) Pearson Education, All rights reserved. You may modify.
Room: E-3-31 Phone: Dr Masri Ayob TK 2633 Microprocessor & Interfacing Lecture 1: Introduction to 8085 Assembly Language.
Table 1. Software Hierarchy Levels.. Essential Tools An assembler is a program that converts source-code programs into a machine language (object file).
Assembly Language for Intel-Based Computers, 5 th Edition Chapter 1: Basic Concepts (c) Pearson Education, All rights reserved. You may modify.
Data Representation ICS 233
1 Introduction Chapter 1 n What is Assembly Language? n Data Representation.
IT-101 Section 001 Lecture #4 Introduction to Information Technology.
Basic Concepts Computer Organization and Assembly Language.
CEN 226: Computer Organization & Assembly Language :CSC 225 (Lec#1) By Dr. Syed Noman.
Assembly Language for Intel-Based Computers, 5th Edition
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.
Programmable Logic Controllers
ICS312 Set 4 Program Structure. Outline for a SMALL Model Program Note the quiz at the next lecture will be to reproduce this slide.MODEL SMALL.586 ;
Computers Organization & Assembly Language
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
ACOE2511 ACOE251/AEEC335 -Assembly Language for the 80X86/Pentium Intel Microprocessors Lecturer: Dr. Konstantinos Tatas.
Chapter 1: Basic Concepts
EX_01.1/46 Numeric Systems. EX_01.2/46 Overview Numeric systems – general, Binary numbers, Octal numbers, Hexadecimal system, Data units, ASCII code,
Lec 3: Data Representation Computer Organization & Assembly Language Programming.
ICS312 Set 1 Representation of Numbers and Characters.
Assembly Language for x86 Processors 7 th Edition Chapter 1: Basic Concepts (c) Pearson Education, All rights reserved. You may modify and copy this.
CPU Internal memory I/O interface circuit System bus
Chapter 19 Number Systems. Irvine, Kip R. Assembly Language for Intel-Based Computers, Translating Languages English: Display the sum of A times.
1 Introduction Chapter 1 CSI 2121 Lecture Notes Written by Mario Marchand
CSNB374: Microprocessor Systems Chapter 1: Introduction to Microprocessor.
EET 250 Number systems. Introduction to Number Systems While we live in a world where the decimal number is predominant in our lives, computers and digital.
EEL 3801C EEL 3801 Part I Computing Basics. EEL 3801C Data Representation Digital computers are binary in nature. They operate only on 0’s and 1’s. Everything.
ACOE2511 Assembly Language for the 80X86/Pentium Intel Microprocessors Lecturer: Dr. Konstantinos Tatas.
Irvine, Kip R. Assembly Language for Intel-Based Computers 6/e, Signed Integers The highest bit indicates the sign. 1 = negative, 0 = positive.
Computer Organization and Assembly Languages 2007/11/10
MECH1500 Chapter 3.
Data Representation. How is data stored on a computer? Registers, main memory, etc. consists of grids of transistors Transistors are in one of two states,
Data Representation COE 301 Computer Organization Dr. Muhamed Mudawar
Week 6 Dr. Muhammad Ayaz Intro. to Assembly Language.
Data Representation COE 301 Computer Organization Prof. Muhamed Mudawar College of Computer Sciences and Engineering King Fahd University of Petroleum.
1 Chapter 1: Introduction Appendix A: Binary and Hexadecimal Tutorial Assembly Language for Intel-Based Computers, 3rd edition Kip R. Irvine.
Answer CHAPTER FOUR.
Data Representation COE 308 Computer Architecture
Data Representation ICS 233
Lec 3: Data Representation
Assembly Language for x86 Processors 6th Edition
Data Representation.
Assembly Language (CSW 353)
Data Representation Binary Numbers Binary Addition
COMPUTER ORGANIZATION & ASSEMBLY LANGUAGE
Microprocessor Systems Design I
Microprocessor Systems Design I
Microprocessor and Assembly Language
COMP3221: Microprocessors and Embedded Systems
Data Representation COE 301 Computer Organization
Chapter One: Introduction
Information Representation
Computer Organization and Assembly Language
Data Representation ICS 233
Networks & I/O Devices.
Part I Data Representation and 8086 Microprocessors
Data Representation COE 308 Computer Architecture
Presentation transcript:

1 Introduction Chapter 1 n What is Assembly Language? n Data Representation

2 What is Assembly Language? n A low-level processor- specific programming language design to match the processor’s machine instruction set n each assembly language instruction matches exactly one machine language instruction n we study here Intel’s 80x86 (and Pentiums)

3 Why learn Assembly Language? n To learn how high-level language code gets translated into machine language u ie: to learn the details hidden in HLL code n To learn the computer’s hardware u by direct access to memory, video controller, sound card, keyboard… n To speed up applications u direct access to hardware (ex: writing directly to I/O ports instead of doing a system call) u good ASM code is faster and smaller: rewrite in ASM the critical areas of code

4 Assembly Language Applications n Application programs are rarely written completely in assembly language u only time-critical parts are written in ASM F Ex: an interface subroutine (called from HLL programs) is written in ASM for direct hardware access F Ex2: device drivers (called from the OS) n ASM often used for embedded systems programs stored in PROM chips F computer cartridge games, microcontrollers (automobiles, industrial plants...), telecommunication equipment… n Very fast and compact but processor-specific

5 Machine Language n An assembler is a program that converts ASM code into machine language code:  mov al,5 (Assembly Language) u (Machine Language) F most significant byte is the opcode for “move into register AL” F the least significant byte is for the operand “5” n Directly programming in machine language offers no advantage (over Assembly)...

6 Binary Numbers n are used to store both code and data n On Intel’s x86: u byte = 8 bits (smallest addressable unit) u word = 2 bytes u doubleword = 2 words u quadword = 2 doublewords

7 Number Systems n A written number is meaningful only with respect to a base n To tell the assembler which base we use: u Hexadecimal 25 is written as 25h u Octal 25 is written as 25o or 25q u Binary 1010 is written as 1010b u Decimal 1010 is written as 1010 or 1010d n You are supposed to know how to convert from one base to another (see appendix A)

8 Data Representation n Even if we know that a block of memory contains data, to obtain its value we need to choose an interpretation n Ex: memory content can either represent: u the number 2^{6} + 1 = 65 u or the ASCII code of character “A”

9 Signed and Unsigned Interpretation n When a memory block contains a number, to obtain its value we must choose either: u the signed interpretation: in that case the most significant bit (msb) represents the sign F Positive number (or zero) if msb = 0 F Negative number if msb = 1 u the unsigned interpretation: in that case all the bits are used to represent a magnitude (ie: positive number, or zero)

10 Twos Complement Notation n Used to represent negative numbers n The twos complement of a positive number X, denoted by NEG(X), is obtained by complementing all its bits and adding +1 n NEG(X) = NOT(X) + 1 u Ex: NEG(10) = NOT(10) + 1 u = NOT( b) + 1 u = ( b) + 1 = b = NEG(10) = -10 n It follows that X + NEG(X) = 0 n To perform the difference X - Y: u the machine executes the addition X + NEG(Y)

11 Maximum and Minimum Values n The msb of a signed number is used for its sign u fewer bits are left for its magnitude n Ex: for a signed byte u smallest positive = b u largest positive = b = 127 u largest negative = -1 = b u smallest negative = b = -128

12 Signed/Unsigned Interpretation (again) n To obtain the value of a number we need to chose an interpretation n Ex: memory content can either represent: u -1 if a signed interpretation is used u 255 if an unsigned interpretation is used n Only the programmer can provide an interpretation of the content of memory

13 Character Representation n Each character is represented by a 7-bit code: the ASCII code (from 00h to 7Fh) u Only codes from 20h to 7Eh represent printable characters. The rest are control codes (used for printing, transmission…). n An extended character set is obtained by setting the msb to 1 (codes 80h to FFh) so that each character is stored in 1 byte u Varies from one system to another F MS-DOS usage: for accentuated characters, Greek symbols and some graphic characters

14 The ASCII character set n CR = “carriage return” (MSDOS: move to beginning of line) n LF = “line feed” (MSDOS: move directly one line below) n SPC = “blank space”

15 Text Files n These are files containing only ASCII characters n But different conventions are used for indicating an “end-of line” u MS-DOS: + u UNIX: u MAC: n This is at the origin of many problems encountered during transfers of text files from one system to another

16 Strings and numbers n A strings is stored as an array of characters n A 1-byte ASCII code is stored for each char n Hence, we can either store the number 123 in numerical form or as the string “123” u The string form is best for display u The numerical form is best for computations