the intel microprocessors --from 8086 to pentium architecture, programming and interfacing
DESCRIPTION
The Intel Microprocessors --from 8086 to Pentium Architecture, Programming and Interfacing. Teach by Zuohang ( 左航 ) College of Software 2003-8. E-mail : [email protected] Phone: 66860994. Content Arrangement Reference book Final score. 1. Architecture. 2. Programming. 3. Interfacing. - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: The Intel Microprocessors --from 8086 to Pentium Architecture, Programming and Interfacing](https://reader030.vdocuments.site/reader030/viewer/2022020112/5681376f550346895d9f0aab/html5/thumbnails/1.jpg)
The Intel Microprocessors
--from 8086 to Pentium Architecture, Programming and InterfacingTeach by Zuohang ( 左航 )
College of Software2003-8
![Page 3: The Intel Microprocessors --from 8086 to Pentium Architecture, Programming and Interfacing](https://reader030.vdocuments.site/reader030/viewer/2022020112/5681376f550346895d9f0aab/html5/thumbnails/3.jpg)
•Content•Arrangement •Reference book•Final score
![Page 4: The Intel Microprocessors --from 8086 to Pentium Architecture, Programming and Interfacing](https://reader030.vdocuments.site/reader030/viewer/2022020112/5681376f550346895d9f0aab/html5/thumbnails/4.jpg)
1. Architecture
2. Programming
3. Interfacing
![Page 5: The Intel Microprocessors --from 8086 to Pentium Architecture, Programming and Interfacing](https://reader030.vdocuments.site/reader030/viewer/2022020112/5681376f550346895d9f0aab/html5/thumbnails/5.jpg)
CPU
1. Architecture
2. Programming
Memory
Printer
I/O
3. Interfacing
![Page 6: The Intel Microprocessors --from 8086 to Pentium Architecture, Programming and Interfacing](https://reader030.vdocuments.site/reader030/viewer/2022020112/5681376f550346895d9f0aab/html5/thumbnails/6.jpg)
1. Architecture•1.1 The architecture of
CPU
•1.2 Addressing modes
![Page 7: The Intel Microprocessors --from 8086 to Pentium Architecture, Programming and Interfacing](https://reader030.vdocuments.site/reader030/viewer/2022020112/5681376f550346895d9f0aab/html5/thumbnails/7.jpg)
Internal Microprocessor Architecture AH (AX) AL
BH (BX) BL
CH (CX) CL
DH (DX) DL
SP
BP
DI
SI
EAX
EBX
ECX
EDX
ESP
EBP
EDI
ESI
Accumulator
Base index
Count
Data
Stack pointer
Base pointer
Destination index
Source index
DR
PR
IR
![Page 8: The Intel Microprocessors --from 8086 to Pentium Architecture, Programming and Interfacing](https://reader030.vdocuments.site/reader030/viewer/2022020112/5681376f550346895d9f0aab/html5/thumbnails/8.jpg)
Internal Microprocessor Architecture
IP
FLAGS
EIP
EFLAGS
Instruction pointer
Flags
CS
DS
ES
SS
FS
GS
Code
Data Extra
Stack
Special purpose registers
Segment registers
![Page 9: The Intel Microprocessors --from 8086 to Pentium Architecture, Programming and Interfacing](https://reader030.vdocuments.site/reader030/viewer/2022020112/5681376f550346895d9f0aab/html5/thumbnails/9.jpg)
1. Architecture
2. Programming
3. Interfacing
![Page 10: The Intel Microprocessors --from 8086 to Pentium Architecture, Programming and Interfacing](https://reader030.vdocuments.site/reader030/viewer/2022020112/5681376f550346895d9f0aab/html5/thumbnails/10.jpg)
2. Programming• 2.1 Data movement
instructions
• 2.2 Arithmetic and logic instructions
• 2.3 Program control instructions
![Page 11: The Intel Microprocessors --from 8086 to Pentium Architecture, Programming and Interfacing](https://reader030.vdocuments.site/reader030/viewer/2022020112/5681376f550346895d9f0aab/html5/thumbnails/11.jpg)
program• .DATA • NUM DB 34H• TABLE DW 0012H,0033H,5687H• .CODE• .STARTUP• MOV BX,OFFSET TABLE• MOV AX,[BX+4]• MOV CX,88H• MUL CX• CMP AX,2000H• JAE NEXT• OUT AX,P8• .EXIT• END
![Page 12: The Intel Microprocessors --from 8086 to Pentium Architecture, Programming and Interfacing](https://reader030.vdocuments.site/reader030/viewer/2022020112/5681376f550346895d9f0aab/html5/thumbnails/12.jpg)
Application languages/application program
High-level languages/compiler &interpretative program
Assembly language/ assembly program
Keyboard command and system primitive/ operating system
Machine instruction system/ CPU
![Page 13: The Intel Microprocessors --from 8086 to Pentium Architecture, Programming and Interfacing](https://reader030.vdocuments.site/reader030/viewer/2022020112/5681376f550346895d9f0aab/html5/thumbnails/13.jpg)
1. Architecture
2. Programming
3. Interfacing
![Page 14: The Intel Microprocessors --from 8086 to Pentium Architecture, Programming and Interfacing](https://reader030.vdocuments.site/reader030/viewer/2022020112/5681376f550346895d9f0aab/html5/thumbnails/14.jpg)
3. Interfacing• 1 8088/8086 hardware
specifications• 2 Memory interface• 3 Basic I/O interface• 4 Interrupts• 5 Direct memory access and
DMA-controlled I/O
![Page 15: The Intel Microprocessors --from 8086 to Pentium Architecture, Programming and Interfacing](https://reader030.vdocuments.site/reader030/viewer/2022020112/5681376f550346895d9f0aab/html5/thumbnails/15.jpg)
8088 hardware specifications
![Page 16: The Intel Microprocessors --from 8086 to Pentium Architecture, Programming and Interfacing](https://reader030.vdocuments.site/reader030/viewer/2022020112/5681376f550346895d9f0aab/html5/thumbnails/16.jpg)
Memory interface
![Page 17: The Intel Microprocessors --from 8086 to Pentium Architecture, Programming and Interfacing](https://reader030.vdocuments.site/reader030/viewer/2022020112/5681376f550346895d9f0aab/html5/thumbnails/17.jpg)
•Content•Arrangement •Reference book•Final score
![Page 18: The Intel Microprocessors --from 8086 to Pentium Architecture, Programming and Interfacing](https://reader030.vdocuments.site/reader030/viewer/2022020112/5681376f550346895d9f0aab/html5/thumbnails/18.jpg)
request•Familiar with
•Addressing mode• programming with assembly language
• interfacing of microprocessor
![Page 19: The Intel Microprocessors --from 8086 to Pentium Architecture, Programming and Interfacing](https://reader030.vdocuments.site/reader030/viewer/2022020112/5681376f550346895d9f0aab/html5/thumbnails/19.jpg)
What we can do after learning this
• Programming in assembly language in certain real-time system ,memory limited system or embedded system
• Design interfacing and writing drivers
![Page 20: The Intel Microprocessors --from 8086 to Pentium Architecture, Programming and Interfacing](https://reader030.vdocuments.site/reader030/viewer/2022020112/5681376f550346895d9f0aab/html5/thumbnails/20.jpg)
•Content•Arrangement •Reference book•Final score
![Page 21: The Intel Microprocessors --from 8086 to Pentium Architecture, Programming and Interfacing](https://reader030.vdocuments.site/reader030/viewer/2022020112/5681376f550346895d9f0aab/html5/thumbnails/21.jpg)
Reference Books• 汇编语言
»王爽主编• 微型计算机原理及应用
»周明德 编著 清华大学出版社• IBM-PC 汇编语言程序设计
»沈美明主编,清华大学出版社• The 80x86 IBM PC and Compatible Computers (Volumes I & II): Assembly Language, Design, and Interfacing (4th Edition)
» 清华大学出版社
![Page 22: The Intel Microprocessors --from 8086 to Pentium Architecture, Programming and Interfacing](https://reader030.vdocuments.site/reader030/viewer/2022020112/5681376f550346895d9f0aab/html5/thumbnails/22.jpg)
Reference Lessons• Operating system 操作系统• Computer architecture 计算机体系结构
![Page 23: The Intel Microprocessors --from 8086 to Pentium Architecture, Programming and Interfacing](https://reader030.vdocuments.site/reader030/viewer/2022020112/5681376f550346895d9f0aab/html5/thumbnails/23.jpg)
•Content•Arrangement •Reference book•Final score
![Page 24: The Intel Microprocessors --from 8086 to Pentium Architecture, Programming and Interfacing](https://reader030.vdocuments.site/reader030/viewer/2022020112/5681376f550346895d9f0aab/html5/thumbnails/24.jpg)
•Final Exam: 70%•Homework & Attendance:30%
• This may be revised according to the needs.
![Page 25: The Intel Microprocessors --from 8086 to Pentium Architecture, Programming and Interfacing](https://reader030.vdocuments.site/reader030/viewer/2022020112/5681376f550346895d9f0aab/html5/thumbnails/25.jpg)
Now let’s begin our exploration
in microprocessor.
![Page 26: The Intel Microprocessors --from 8086 to Pentium Architecture, Programming and Interfacing](https://reader030.vdocuments.site/reader030/viewer/2022020112/5681376f550346895d9f0aab/html5/thumbnails/26.jpg)
Chapter 1 Introduction to The
Microprocessor and PC
![Page 27: The Intel Microprocessors --from 8086 to Pentium Architecture, Programming and Interfacing](https://reader030.vdocuments.site/reader030/viewer/2022020112/5681376f550346895d9f0aab/html5/thumbnails/27.jpg)
Chapter 1:1. What mankind has done before
the microprocessor finally came out?
2. How many parts are there in the microprocessor ?
![Page 28: The Intel Microprocessors --from 8086 to Pentium Architecture, Programming and Interfacing](https://reader030.vdocuments.site/reader030/viewer/2022020112/5681376f550346895d9f0aab/html5/thumbnails/28.jpg)
Chapter 1:Introduction to The Microprocessor and PC
• 1.1 A Historical Background• 1.2 PC Based on Microprocessor
![Page 29: The Intel Microprocessors --from 8086 to Pentium Architecture, Programming and Interfacing](https://reader030.vdocuments.site/reader030/viewer/2022020112/5681376f550346895d9f0aab/html5/thumbnails/29.jpg)
1.1 A Historical Background
![Page 30: The Intel Microprocessors --from 8086 to Pentium Architecture, Programming and Interfacing](https://reader030.vdocuments.site/reader030/viewer/2022020112/5681376f550346895d9f0aab/html5/thumbnails/30.jpg)
1.1 A Historical Background
• A. The Mechanical Age– Abacus (Babylonians)– Analytical engine (Babbage, punched
cards, 1823,failure)
![Page 31: The Intel Microprocessors --from 8086 to Pentium Architecture, Programming and Interfacing](https://reader030.vdocuments.site/reader030/viewer/2022020112/5681376f550346895d9f0aab/html5/thumbnails/31.jpg)
1.1 A Historical Background• B. The Electrical Age
– Motor-driven adding machines, based on mechanical calculator (Hollerith, set up IBM-International Business Machines Corporation)– First electronic calculating machine Z3 (German, Konrad Zuse,1942)– The first general-purpose, programmable electronic computer ENIAC (University of Pennsylvania, 1946)
![Page 32: The Intel Microprocessors --from 8086 to Pentium Architecture, Programming and Interfacing](https://reader030.vdocuments.site/reader030/viewer/2022020112/5681376f550346895d9f0aab/html5/thumbnails/32.jpg)
• ENIAC• Electronic Numerical Integrator And Calculator [Computer] 电子数字积分计算机
![Page 33: The Intel Microprocessors --from 8086 to Pentium Architecture, Programming and Interfacing](https://reader030.vdocuments.site/reader030/viewer/2022020112/5681376f550346895d9f0aab/html5/thumbnails/33.jpg)
ENIAC
![Page 34: The Intel Microprocessors --from 8086 to Pentium Architecture, Programming and Interfacing](https://reader030.vdocuments.site/reader030/viewer/2022020112/5681376f550346895d9f0aab/html5/thumbnails/34.jpg)
ENIAC
![Page 35: The Intel Microprocessors --from 8086 to Pentium Architecture, Programming and Interfacing](https://reader030.vdocuments.site/reader030/viewer/2022020112/5681376f550346895d9f0aab/html5/thumbnails/35.jpg)
ENIAC
![Page 36: The Intel Microprocessors --from 8086 to Pentium Architecture, Programming and Interfacing](https://reader030.vdocuments.site/reader030/viewer/2022020112/5681376f550346895d9f0aab/html5/thumbnails/36.jpg)
Intel 4004
![Page 37: The Intel Microprocessors --from 8086 to Pentium Architecture, Programming and Interfacing](https://reader030.vdocuments.site/reader030/viewer/2022020112/5681376f550346895d9f0aab/html5/thumbnails/37.jpg)
Intel 8088
![Page 38: The Intel Microprocessors --from 8086 to Pentium Architecture, Programming and Interfacing](https://reader030.vdocuments.site/reader030/viewer/2022020112/5681376f550346895d9f0aab/html5/thumbnails/38.jpg)
Intel Petium
![Page 39: The Intel Microprocessors --from 8086 to Pentium Architecture, Programming and Interfacing](https://reader030.vdocuments.site/reader030/viewer/2022020112/5681376f550346895d9f0aab/html5/thumbnails/39.jpg)
Intel Petium II
![Page 40: The Intel Microprocessors --from 8086 to Pentium Architecture, Programming and Interfacing](https://reader030.vdocuments.site/reader030/viewer/2022020112/5681376f550346895d9f0aab/html5/thumbnails/40.jpg)
The Moore’s Law: the number of transistors integrated in a chip will double very 18 or 24 mouths
![Page 41: The Intel Microprocessors --from 8086 to Pentium Architecture, Programming and Interfacing](https://reader030.vdocuments.site/reader030/viewer/2022020112/5681376f550346895d9f0aab/html5/thumbnails/41.jpg)
1.1 A Historical Background• D. The Future of
Microprocessors– The process speed will get more
faster – The memory will get more large– The bulk will get more smaller– The width of data bus will increase– Architecture will get more efficient
![Page 42: The Intel Microprocessors --from 8086 to Pentium Architecture, Programming and Interfacing](https://reader030.vdocuments.site/reader030/viewer/2022020112/5681376f550346895d9f0aab/html5/thumbnails/42.jpg)
1.2 PC Based on Microprocessor
![Page 43: The Intel Microprocessors --from 8086 to Pentium Architecture, Programming and Interfacing](https://reader030.vdocuments.site/reader030/viewer/2022020112/5681376f550346895d9f0aab/html5/thumbnails/43.jpg)
1.2 PC Based on Microprocessor• Question: If we use a computer to
figure out an arithmetic expression, how can it finish this work?
• 133*33+44*14
![Page 44: The Intel Microprocessors --from 8086 to Pentium Architecture, Programming and Interfacing](https://reader030.vdocuments.site/reader030/viewer/2022020112/5681376f550346895d9f0aab/html5/thumbnails/44.jpg)
1.2 PC Based on Microprocessor• 133*33+44*14
– First input these numbers.– Do the calculating work.– Store The result – Output the result.
• Control this processing.
![Page 45: The Intel Microprocessors --from 8086 to Pentium Architecture, Programming and Interfacing](https://reader030.vdocuments.site/reader030/viewer/2022020112/5681376f550346895d9f0aab/html5/thumbnails/45.jpg)
1.2 PC Based on Microprocessor• 133*33+44*14Input device
memory
calculatorOutputdevice
controller
Control bus
data bus
![Page 46: The Intel Microprocessors --from 8086 to Pentium Architecture, Programming and Interfacing](https://reader030.vdocuments.site/reader030/viewer/2022020112/5681376f550346895d9f0aab/html5/thumbnails/46.jpg)
1.2 PC Based on Microprocessor
Micro-processor
Memory
Interface
Externaldevices
Data bus
Address bus
Control bus BUS definition p25
![Page 47: The Intel Microprocessors --from 8086 to Pentium Architecture, Programming and Interfacing](https://reader030.vdocuments.site/reader030/viewer/2022020112/5681376f550346895d9f0aab/html5/thumbnails/47.jpg)
1.2 PC Based on Microprocessor• Bus: P25
– Address bus requests a memory location from the memory or an I/O location from the I/O devices.
– Data bus transfers information between the microprocessor and its memory and I/O address space.
– Control bus contains lines that select the memory or I/O and cause them to perform a read or write operation.
![Page 48: The Intel Microprocessors --from 8086 to Pentium Architecture, Programming and Interfacing](https://reader030.vdocuments.site/reader030/viewer/2022020112/5681376f550346895d9f0aab/html5/thumbnails/48.jpg)
1.2 PC Based on Microprocessor
![Page 49: The Intel Microprocessors --from 8086 to Pentium Architecture, Programming and Interfacing](https://reader030.vdocuments.site/reader030/viewer/2022020112/5681376f550346895d9f0aab/html5/thumbnails/49.jpg)
1.2 PC Based on MicroprocessorA. Relationship Figure microprocessor ALU controller PC register internal memory I/O interfacePC system I/O Devices & external memorysystem softwareapplication softwarepower 、 panel 、 pc frame, etc
![Page 50: The Intel Microprocessors --from 8086 to Pentium Architecture, Programming and Interfacing](https://reader030.vdocuments.site/reader030/viewer/2022020112/5681376f550346895d9f0aab/html5/thumbnails/50.jpg)
Chapter 2
Introduction to Number System & Data Formats
![Page 51: The Intel Microprocessors --from 8086 to Pentium Architecture, Programming and Interfacing](https://reader030.vdocuments.site/reader030/viewer/2022020112/5681376f550346895d9f0aab/html5/thumbnails/51.jpg)
Chapter 2:
• (-133)*33+44*14.5 • How to represent these data?• How to calculate them?• How about other characters?
![Page 52: The Intel Microprocessors --from 8086 to Pentium Architecture, Programming and Interfacing](https://reader030.vdocuments.site/reader030/viewer/2022020112/5681376f550346895d9f0aab/html5/thumbnails/52.jpg)
Chapter 2: Introduction to Number System & Data Formats
• 2.1 Number System ( 数制 ) • 2.2 Computer Data Formats
![Page 53: The Intel Microprocessors --from 8086 to Pentium Architecture, Programming and Interfacing](https://reader030.vdocuments.site/reader030/viewer/2022020112/5681376f550346895d9f0aab/html5/thumbnails/53.jpg)
2.1 Number System ( 数制 )
![Page 54: The Intel Microprocessors --from 8086 to Pentium Architecture, Programming and Interfacing](https://reader030.vdocuments.site/reader030/viewer/2022020112/5681376f550346895d9f0aab/html5/thumbnails/54.jpg)
2.1 Number System( 数制 )• 2.1.1 Digits (数)• 2.1.2 Positional Notation ( 位计数法)• 2.1.3 Conversion to Decimal• 2.1.4 Converting From Decimal• 2.1.5 Binary-Coded Hexadecimal• 2.1.6 Operation of Binary• 2.1.7 Three Forms of Binary Data
![Page 55: The Intel Microprocessors --from 8086 to Pentium Architecture, Programming and Interfacing](https://reader030.vdocuments.site/reader030/viewer/2022020112/5681376f550346895d9f0aab/html5/thumbnails/55.jpg)
2.1.1 Digits ( 数 )
![Page 56: The Intel Microprocessors --from 8086 to Pentium Architecture, Programming and Interfacing](https://reader030.vdocuments.site/reader030/viewer/2022020112/5681376f550346895d9f0aab/html5/thumbnails/56.jpg)
2.1.1 Digits ( 数 )• A. Decimal( 十进制 ) (0—9)• B. Binary (0----1)• C. Octal( 八进制 ) (0—7)• D. Hexadecimal( 十六进制 ) • (0—9,A,B,C,D,E,F)
![Page 57: The Intel Microprocessors --from 8086 to Pentium Architecture, Programming and Interfacing](https://reader030.vdocuments.site/reader030/viewer/2022020112/5681376f550346895d9f0aab/html5/thumbnails/57.jpg)
2.1.1 Digits ( 数 )• Example: A base 13( 以 13 为基, 13 进制 )number contains 13 digits:
0—9,A(10),B(11),C(12)
![Page 58: The Intel Microprocessors --from 8086 to Pentium Architecture, Programming and Interfacing](https://reader030.vdocuments.site/reader030/viewer/2022020112/5681376f550346895d9f0aab/html5/thumbnails/58.jpg)
2.1.2 Positional Notation ( 位计数法)
![Page 59: The Intel Microprocessors --from 8086 to Pentium Architecture, Programming and Interfacing](https://reader030.vdocuments.site/reader030/viewer/2022020112/5681376f550346895d9f0aab/html5/thumbnails/59.jpg)
2.1.2 Positional Notation ( 位计数法)• Example 1:Decimal 132 1( 百位 ) 3( 十位 ) 2( 个位 ) hundreds tens units position position position power( 幂 ) 102 101 100weight( 权 )100 10 1In a base N number system, the radix is N( 基数 ) and the exponent (i) ( 指数 ) means the position.
![Page 60: The Intel Microprocessors --from 8086 to Pentium Architecture, Programming and Interfacing](https://reader030.vdocuments.site/reader030/viewer/2022020112/5681376f550346895d9f0aab/html5/thumbnails/60.jpg)
2.1.2 Positional Notation ( 位计数法)• Example 2:Binary 101 1 0 1power( 幂 ) 22 21 20weight( 权 )4 2 1Numeric value 1* 22 + 0* 21 + 1* 20 =5 In a base 2 number system, the radix is 2( 基数 ) and the exponent (i) ( 指数 ) means the position.
![Page 61: The Intel Microprocessors --from 8086 to Pentium Architecture, Programming and Interfacing](https://reader030.vdocuments.site/reader030/viewer/2022020112/5681376f550346895d9f0aab/html5/thumbnails/61.jpg)
2.1.2 Positional Notation ( 位计数法)• Special example
Binary 1111 1 1 1 1
power( 幂 ) 23 22 21 20
weight( 权 ) 8 4 2 1Numeric value 8+4+2+1 =15
0-15 It can represent 16 different numbers.
![Page 62: The Intel Microprocessors --from 8086 to Pentium Architecture, Programming and Interfacing](https://reader030.vdocuments.site/reader030/viewer/2022020112/5681376f550346895d9f0aab/html5/thumbnails/62.jpg)
2.1.2 Positional Notation ( 位计数法)• Example 3:
Decimal 1.025 1 . 0 2 5
power( 幂 ) 100 10-1 10-2 10-3(Ni)weight( 权 )1 0.1 0.01 0.001In a base N number system, the radix is N and the exponent (i) ( 指数 ) means the position. If the position is right to the point( 小数点 ),the power is negative (N-i).
![Page 63: The Intel Microprocessors --from 8086 to Pentium Architecture, Programming and Interfacing](https://reader030.vdocuments.site/reader030/viewer/2022020112/5681376f550346895d9f0aab/html5/thumbnails/63.jpg)
2.1.2 Positional Notation ( 位计数法)• Summarize
– A base N number system Xm-1Xm-2Xm-3……X0 . Y1Y2Y3……Yn
– Numeric value( 数值 ): Xm-1* Nm-1+Xm-2 * Nm-2+ ……X0 * N0+Y1 *N-1 +Y2 *N-2 + …… Yn * N-n
![Page 64: The Intel Microprocessors --from 8086 to Pentium Architecture, Programming and Interfacing](https://reader030.vdocuments.site/reader030/viewer/2022020112/5681376f550346895d9f0aab/html5/thumbnails/64.jpg)
2.1.3 Conversion to Decimal
![Page 65: The Intel Microprocessors --from 8086 to Pentium Architecture, Programming and Interfacing](https://reader030.vdocuments.site/reader030/viewer/2022020112/5681376f550346895d9f0aab/html5/thumbnails/65.jpg)
2.1.3 Conversion to Decimal• Example:• Hexadecimal: E6A.C2• Decimal: E*162+6*161+6*160+C*16-1+2*16-2
=14*162+6*161+6*160+12*16-1+2*16-2
=3690+0.75+0.0078125 =3690.7578125
![Page 66: The Intel Microprocessors --from 8086 to Pentium Architecture, Programming and Interfacing](https://reader030.vdocuments.site/reader030/viewer/2022020112/5681376f550346895d9f0aab/html5/thumbnails/66.jpg)
2.1.4 Converting From Decimal
![Page 67: The Intel Microprocessors --from 8086 to Pentium Architecture, Programming and Interfacing](https://reader030.vdocuments.site/reader030/viewer/2022020112/5681376f550346895d9f0aab/html5/thumbnails/67.jpg)
2.1.4 Converting From Decimal• Summarize
– A base N number system Xm-1Xm-2Xm-3……X0
. Y1Y2Y3……Yn
– Decimal Xm-1* Nm-1+Xm-2 * Nm-2+ ……X0
* N0
+Y1 *N-1 +Y2 *N-2 + …… Yn * N-n
![Page 68: The Intel Microprocessors --from 8086 to Pentium Architecture, Programming and Interfacing](https://reader030.vdocuments.site/reader030/viewer/2022020112/5681376f550346895d9f0aab/html5/thumbnails/68.jpg)
2.1.4 Converting From Decimal• From conversion to decimal we can
assume that if we can figure out how many Ni are there in a decimal number, we may convert it back to a base N number system.
![Page 69: The Intel Microprocessors --from 8086 to Pentium Architecture, Programming and Interfacing](https://reader030.vdocuments.site/reader030/viewer/2022020112/5681376f550346895d9f0aab/html5/thumbnails/69.jpg)
2.1.4 Converting From Decimal• Principle A:
– To convert a decimal whole number portion( 整数部分 ) to another number system, divide by the radix N ( 基数 ) and save the remainders( 余数 ).
![Page 70: The Intel Microprocessors --from 8086 to Pentium Architecture, Programming and Interfacing](https://reader030.vdocuments.site/reader030/viewer/2022020112/5681376f550346895d9f0aab/html5/thumbnails/70.jpg)
2.1.4 Converting From Decimal• Principle A:
• Step 1: Divide the decimal number by the radix (number base).• Step 2: Save the remainder (first remainder is the least significant digit --最先得到的余数是最低有效位 )• Step 3: Repeat steps 1 and 2 until the quotient( 商 ) is zero.
![Page 71: The Intel Microprocessors --from 8086 to Pentium Architecture, Programming and Interfacing](https://reader030.vdocuments.site/reader030/viewer/2022020112/5681376f550346895d9f0aab/html5/thumbnails/71.jpg)
2.1.4 Converting From Decimal• Principle A:
•Example convert decimal number 14 to a base 4 number system
4 14 remainder = 2 (least significant)
4 3 remainder = 3 0 result = 32
![Page 72: The Intel Microprocessors --from 8086 to Pentium Architecture, Programming and Interfacing](https://reader030.vdocuments.site/reader030/viewer/2022020112/5681376f550346895d9f0aab/html5/thumbnails/72.jpg)
2.1.4 Converting From Decimal• Principle A:
•Example convert decimal number 14 to a base 2 number system
2 14 remainder = 0 (least significant)
2 7 remainder = 1 2 3 remainder = 1 2 1 remainder = 1 0 result = 1110
![Page 73: The Intel Microprocessors --from 8086 to Pentium Architecture, Programming and Interfacing](https://reader030.vdocuments.site/reader030/viewer/2022020112/5681376f550346895d9f0aab/html5/thumbnails/73.jpg)
2.1.4 Converting From Decimal• Principle B:
– To convert a decimal fractional portion( 小数部分 ) to another number system, multiply it by the radix ( 基数 ) and the whole number portion( 整数部分 ) of the result is saved as a significant digit of the result.
![Page 74: The Intel Microprocessors --from 8086 to Pentium Architecture, Programming and Interfacing](https://reader030.vdocuments.site/reader030/viewer/2022020112/5681376f550346895d9f0aab/html5/thumbnails/74.jpg)
2.1.4 Converting From Decimal• Principle B:
• Step 1: Multiply the decimal fraction by the radix (number base)• Step 2: Save the whole number portion of the result (even if zero) as a digit. The first result is written immediately to the right of the radix point ( 得到的第一个整数写在最靠近小数点左边的位置 ).• Step 3: Repeat 1 and 2 until the fraction part of step 2 is zero
![Page 75: The Intel Microprocessors --from 8086 to Pentium Architecture, Programming and Interfacing](https://reader030.vdocuments.site/reader030/viewer/2022020112/5681376f550346895d9f0aab/html5/thumbnails/75.jpg)
2.1.4 Converting From Decimal• Principle B:
•Example convert decimal number 0.125 to a base 4 number system
.125* 4 0.5 digit is 0
0.5* 4 2.0 digit is 2 result is 0.02
![Page 76: The Intel Microprocessors --from 8086 to Pentium Architecture, Programming and Interfacing](https://reader030.vdocuments.site/reader030/viewer/2022020112/5681376f550346895d9f0aab/html5/thumbnails/76.jpg)
2.1.4 Converting From Decimal
•Principle B:–Note: Some numbers are never-ending . That is, a zero is never a remainder.
– For example converting 0.15 to a base 4 number system.
–Why ?
![Page 77: The Intel Microprocessors --from 8086 to Pentium Architecture, Programming and Interfacing](https://reader030.vdocuments.site/reader030/viewer/2022020112/5681376f550346895d9f0aab/html5/thumbnails/77.jpg)
2.1.4 Converting From Decimal• Example: convert 0.15 to a base 4
number system. .15 0.4 * 4 * 4 0.6 digit is 0 1.6 digit is 1
0.6 * 4 2.4 digit is 2 result is
0.0212……
![Page 78: The Intel Microprocessors --from 8086 to Pentium Architecture, Programming and Interfacing](https://reader030.vdocuments.site/reader030/viewer/2022020112/5681376f550346895d9f0aab/html5/thumbnails/78.jpg)
2.1.4 Converting From Decimal• 0.0212……
– Numeric value:– 0*4-1 + 2*4-2 + 1*4-3 + 2*4-4
– =0 + 0.125 + 0.015625 + 0.0078125
– = 0.1484375– ≈ 0.15
![Page 79: The Intel Microprocessors --from 8086 to Pentium Architecture, Programming and Interfacing](https://reader030.vdocuments.site/reader030/viewer/2022020112/5681376f550346895d9f0aab/html5/thumbnails/79.jpg)
2.1.5 Binary-Coded Hexadecimal
![Page 80: The Intel Microprocessors --from 8086 to Pentium Architecture, Programming and Interfacing](https://reader030.vdocuments.site/reader030/viewer/2022020112/5681376f550346895d9f0aab/html5/thumbnails/80.jpg)
2.1.5 Binary-Coded Hexadecimal
• How many different numbers can 4 binary numbers form ?
![Page 81: The Intel Microprocessors --from 8086 to Pentium Architecture, Programming and Interfacing](https://reader030.vdocuments.site/reader030/viewer/2022020112/5681376f550346895d9f0aab/html5/thumbnails/81.jpg)
2.1.5 Binary-Coded Hexadecimal• BCH code
hexadecimal digit BCH code 0 1 0000 0001 2 3 0010 0011 4 5 0100 0101 6 7 0110 0111 8 9 1000 1001 A B 1010 1011 C D 1100 1101 E F 1110 11119E = 1001 1110
BCD
![Page 82: The Intel Microprocessors --from 8086 to Pentium Architecture, Programming and Interfacing](https://reader030.vdocuments.site/reader030/viewer/2022020112/5681376f550346895d9f0aab/html5/thumbnails/82.jpg)
2.1.5 Binary-Coded Hexadecimal• Principle:
•We just use 4-bit binary to replace each hexadecimal digit and write down them in the same sequence. Note that there must be a space between each 4-bit binary.
![Page 83: The Intel Microprocessors --from 8086 to Pentium Architecture, Programming and Interfacing](https://reader030.vdocuments.site/reader030/viewer/2022020112/5681376f550346895d9f0aab/html5/thumbnails/83.jpg)
2.1.5 Binary-Coded Hexadecimal• Example:
Hexadecimal :2 A C . 5BCH :0010 1010 1100 . 0101
BCH :0010 1110 . 0101 1011Hexadecimal : 2 E . 5 B
![Page 84: The Intel Microprocessors --from 8086 to Pentium Architecture, Programming and Interfacing](https://reader030.vdocuments.site/reader030/viewer/2022020112/5681376f550346895d9f0aab/html5/thumbnails/84.jpg)
2.1.6 Operation of Binary
All the numbers are unsigned.
![Page 85: The Intel Microprocessors --from 8086 to Pentium Architecture, Programming and Interfacing](https://reader030.vdocuments.site/reader030/viewer/2022020112/5681376f550346895d9f0aab/html5/thumbnails/85.jpg)
2.1.6 Operation of Binary• Add Operation Rules:• 0+0 = 0• 0+1 = 1• 1+0 = 1• 1+1 = 0 submit( 进位 ) 1• 1+1+1 = 1 submit( 进位 ) 1
![Page 86: The Intel Microprocessors --from 8086 to Pentium Architecture, Programming and Interfacing](https://reader030.vdocuments.site/reader030/viewer/2022020112/5681376f550346895d9f0aab/html5/thumbnails/86.jpg)
2.1.6 Operation of Binary• Add Operation• 1101 + 1011 1 1 1 1 submit bit
1 1 0 1 add bit+ 1 0 1 1 added bit 1 1 0 0 0 result
![Page 87: The Intel Microprocessors --from 8086 to Pentium Architecture, Programming and Interfacing](https://reader030.vdocuments.site/reader030/viewer/2022020112/5681376f550346895d9f0aab/html5/thumbnails/87.jpg)
2.1.6 Operation of Binary• Subtract Operation Rules• 0-0 = 0• 1-1 = 0• 1-0 = 1• 0-1 = 1 borrow( 借位 ) 1• Binary addition and subtraction get the same results on the unit position
![Page 88: The Intel Microprocessors --from 8086 to Pentium Architecture, Programming and Interfacing](https://reader030.vdocuments.site/reader030/viewer/2022020112/5681376f550346895d9f0aab/html5/thumbnails/88.jpg)
2.1.6 Operation of Binary• Subtract Operation• 11000100 – 00100101• 1 1 1 1 1 1 ( 借位 )
1 0 1 1 1 0 1 ( 借位后的被减数 ) 1 1 0 0 0 1 0 0 ( 被减数 )
- 0 0 1 0 0 1 0 1 ( 减数 ) 1 0 0 1 1 1 1 1
![Page 89: The Intel Microprocessors --from 8086 to Pentium Architecture, Programming and Interfacing](https://reader030.vdocuments.site/reader030/viewer/2022020112/5681376f550346895d9f0aab/html5/thumbnails/89.jpg)
2.1.6 Operation of Binary• Multiply Operation Rules• 0*0 = 0• 0*1 = 0• 1*0 = 0• 1*1 = 1
![Page 90: The Intel Microprocessors --from 8086 to Pentium Architecture, Programming and Interfacing](https://reader030.vdocuments.site/reader030/viewer/2022020112/5681376f550346895d9f0aab/html5/thumbnails/90.jpg)
2.1.6 Operation of Binary• Multiply Operation 1111 * 1101 1 1 1 1 * 1 1 0 1
1 1 1 1
0 0 0 0 1 1 1 1 1 1 1 1
1 1 0 0 0 0 1 1
![Page 91: The Intel Microprocessors --from 8086 to Pentium Architecture, Programming and Interfacing](https://reader030.vdocuments.site/reader030/viewer/2022020112/5681376f550346895d9f0aab/html5/thumbnails/91.jpg)
2.1.6 Operation of Binary• Divide Operation 0 0 0 1 1 1 1 0 1 1 0 1 1 0 0 0 1 1 1 0 1 1 0 0 1 0
1 1 0 1 1 0 1 0 1 1 1 1 1 0 0 0 1 1 0 1 1 0 1 1 0 1 1 1 1 1 0 1 1 0 1 0 1 0
![Page 92: The Intel Microprocessors --from 8086 to Pentium Architecture, Programming and Interfacing](https://reader030.vdocuments.site/reader030/viewer/2022020112/5681376f550346895d9f0aab/html5/thumbnails/92.jpg)
2.1.6 Operation of Binary• All the numbers are unsigned , so
they are positive.
• How can we represent negative number in binary in a computer?
![Page 93: The Intel Microprocessors --from 8086 to Pentium Architecture, Programming and Interfacing](https://reader030.vdocuments.site/reader030/viewer/2022020112/5681376f550346895d9f0aab/html5/thumbnails/93.jpg)
2.1.7 Three Forms of Binary Data
![Page 94: The Intel Microprocessors --from 8086 to Pentium Architecture, Programming and Interfacing](https://reader030.vdocuments.site/reader030/viewer/2022020112/5681376f550346895d9f0aab/html5/thumbnails/94.jpg)
2.1.7 Three Forms of Binary Data• Signed data can be represented in three forms.
•Sign magnitude( 原码 )•Radix-1 complements ( 反码 )•Radix complements ( 补码 )
• We use byte-sized data in our examples.
![Page 95: The Intel Microprocessors --from 8086 to Pentium Architecture, Programming and Interfacing](https://reader030.vdocuments.site/reader030/viewer/2022020112/5681376f550346895d9f0aab/html5/thumbnails/95.jpg)
2.1.7 Three Forms of Binary Data• Sign magnitude ( 原码 )
• 0 0 0 0 0 0 0 0
105 ---- 0 1101001-105 ---- 1 1101001
0 positive1 negative Numerical value (-127~+127)
![Page 96: The Intel Microprocessors --from 8086 to Pentium Architecture, Programming and Interfacing](https://reader030.vdocuments.site/reader030/viewer/2022020112/5681376f550346895d9f0aab/html5/thumbnails/96.jpg)
2.1.7 Three Forms of Binary Data• sign magnitude ( 原码 )
105 ---- 0 1101001-105 ---- 1 1101001• Radix-1 complements ( 反码 )• 105 ---- 0 1101001• -105 ---- 1 0010110• 0 ---- 0 0000000• -0 ---- 1 1111111
![Page 97: The Intel Microprocessors --from 8086 to Pentium Architecture, Programming and Interfacing](https://reader030.vdocuments.site/reader030/viewer/2022020112/5681376f550346895d9f0aab/html5/thumbnails/97.jpg)
2.1.7 Three Forms of Binary Data• Radix complements ( 补码 ) 反码 radix-1 complement 补码 radix complement 105 0 1101001 0 1101001-105 1 0010110 1 00101110 0 0000000 0 0000000-0 1 1111111 0 0000000
![Page 98: The Intel Microprocessors --from 8086 to Pentium Architecture, Programming and Interfacing](https://reader030.vdocuments.site/reader030/viewer/2022020112/5681376f550346895d9f0aab/html5/thumbnails/98.jpg)
2.1.7 Three Forms of Binary Data• Example: -8
• +8=00001000• 1000 (write number to
first 1)• 1111 (invert the remaining
bits)• -8= 1111 1000
![Page 99: The Intel Microprocessors --from 8086 to Pentium Architecture, Programming and Interfacing](https://reader030.vdocuments.site/reader030/viewer/2022020112/5681376f550346895d9f0aab/html5/thumbnails/99.jpg)
2.1.7 Three Forms of Binary Data• - 25
• + 25 = 0001 1001• - 25 (补)= 1110 0111• - 39• + 39 = 0010 0111• - 39 (补)= 1101 1001
![Page 100: The Intel Microprocessors --from 8086 to Pentium Architecture, Programming and Interfacing](https://reader030.vdocuments.site/reader030/viewer/2022020112/5681376f550346895d9f0aab/html5/thumbnails/100.jpg)
2.1.7 Three Forms of Binary Data• Negative signed numbers are stored in the two’s complement form. ( 负数以 2 进制的补码形式存储 )
• A simpler technique for two’s implement:– Write the number exactly as it appears from right to left until the first one. Write down the first one, and then invert all the remaining bits.
![Page 101: The Intel Microprocessors --from 8086 to Pentium Architecture, Programming and Interfacing](https://reader030.vdocuments.site/reader030/viewer/2022020112/5681376f550346895d9f0aab/html5/thumbnails/101.jpg)
2.1.7 Three Forms of Binary Data• If we use radix complement to represent a negative data, we can change subtract operation to add operation.
Z = X – Y equal to Z 补 =X 补 + (-Y) 补
![Page 102: The Intel Microprocessors --from 8086 to Pentium Architecture, Programming and Interfacing](https://reader030.vdocuments.site/reader030/viewer/2022020112/5681376f550346895d9f0aab/html5/thumbnails/102.jpg)
2.1.7 Three Forms of Binary Data• Z = X – Y equal to Z 补 =X 补 + (-Y) 补
• Example 1: 64 -10 64-10 = 64 补 + (-10) 补
64 补 = 01000000 (-10) 补 =11110110 01000000+ 11110110 (right) 100110110 result = 00110110 = 54
Nature lost
![Page 103: The Intel Microprocessors --from 8086 to Pentium Architecture, Programming and Interfacing](https://reader030.vdocuments.site/reader030/viewer/2022020112/5681376f550346895d9f0aab/html5/thumbnails/103.jpg)
2.1.7 Three Forms of Binary Data• Example 2: 34-68
• 34-68 = 34 补 +( -68) 补• 34 补 =00100010 ( -68) 补 =10111100 00100010 + 10111100 11011110 result = 11011110 = -34(right)11011110( 补 )= 11011101( 反 ) = - 00100010( 原 ) =-34-1
![Page 104: The Intel Microprocessors --from 8086 to Pentium Architecture, Programming and Interfacing](https://reader030.vdocuments.site/reader030/viewer/2022020112/5681376f550346895d9f0aab/html5/thumbnails/104.jpg)
• 10001101( 补 ) • = 10001100( 反 ) = - 01110011( 原 )• =-115
![Page 105: The Intel Microprocessors --from 8086 to Pentium Architecture, Programming and Interfacing](https://reader030.vdocuments.site/reader030/viewer/2022020112/5681376f550346895d9f0aab/html5/thumbnails/105.jpg)
2.1.7 Three Forms of Binary Data• You can turn to the reference book “Microcomputer Principle and Application” 《微机原理和应用》 page 9 for details.
![Page 106: The Intel Microprocessors --from 8086 to Pentium Architecture, Programming and Interfacing](https://reader030.vdocuments.site/reader030/viewer/2022020112/5681376f550346895d9f0aab/html5/thumbnails/106.jpg)
2.1.7 Three Forms of Binary Data• Z = X – Y equal to Z 补 =X 补 + (-Y) 补
• Example 1: 64 -10 64-10 = 64 补 + (-10) 补
64 补 = 01000000 (-10) 补 =11110110 01000000+ 11110110 (right) 100110110 result = 00110110 = 54
Nature lost
![Page 107: The Intel Microprocessors --from 8086 to Pentium Architecture, Programming and Interfacing](https://reader030.vdocuments.site/reader030/viewer/2022020112/5681376f550346895d9f0aab/html5/thumbnails/107.jpg)
2.1.7 Three Forms of Binary Data• Example 3: 127 +8
127= 01111111 8=00001000 01111111+ 00001000
10000111 result = 135
OverflowError!
![Page 108: The Intel Microprocessors --from 8086 to Pentium Architecture, Programming and Interfacing](https://reader030.vdocuments.site/reader030/viewer/2022020112/5681376f550346895d9f0aab/html5/thumbnails/108.jpg)
• 加法运算溢出– 当次高位向最高位产生进位,而最高位不向前产生进位时, O = 1( 溢出)– 当次高位向最高位无进位,而最高位向前有进位时, O = 1 (溢出)– 当最高位向前有进位时, C=1, 否则 C = 0– 0 1 1 0 0 1 0 0 – + 0 1 1 0 0 1 0 0– 1 1 0 0 1 0 0 0 O=1 C=0
• 加法运算溢出– 当次高位向最高位产生进位,而最高位不向前产生进位时, O = 1( 溢出)– 当次高位向最高位无进位,而最高位向前有进位时, O = 1 (溢出)– 当最高位向前有进位时, C=1, 否则 C = 0– 0 1 1 0 0 1 0 0 – + 0 1 1 0 0 1 0 0– 1 1 0 0 1 0 0 0 O=1 C=0
次高位最高位
![Page 109: The Intel Microprocessors --from 8086 to Pentium Architecture, Programming and Interfacing](https://reader030.vdocuments.site/reader030/viewer/2022020112/5681376f550346895d9f0aab/html5/thumbnails/109.jpg)
• 加法运算溢出– 当次高位向最高位产生进位,而最高位不向前产生进位时, O = 1( 溢出)– 当次高位向最高位无进位,而最高位向前有进位时, O = 1 (溢出)– 当最高位向前有进位时, C=1, 否则 C = 0– 1 0 1 0 1 0 1 1 – + 1 1 1 1 1 1 1 1– 1 1 0 1 0 1 0 1 0 O=0 C=1
![Page 110: The Intel Microprocessors --from 8086 to Pentium Architecture, Programming and Interfacing](https://reader030.vdocuments.site/reader030/viewer/2022020112/5681376f550346895d9f0aab/html5/thumbnails/110.jpg)
2.2 Computer Data Formats
![Page 111: The Intel Microprocessors --from 8086 to Pentium Architecture, Programming and Interfacing](https://reader030.vdocuments.site/reader030/viewer/2022020112/5681376f550346895d9f0aab/html5/thumbnails/111.jpg)
2.2 Computer Data Formats• 2.2.1 ASCII Data• 2.2.2 BCD Data• 2.2.3 Byte-Sized Data• 2.2.4 Word-Sized Data• 2.2.5 Doubleword-Sized Data• 2.2.6 Real Numbers
![Page 112: The Intel Microprocessors --from 8086 to Pentium Architecture, Programming and Interfacing](https://reader030.vdocuments.site/reader030/viewer/2022020112/5681376f550346895d9f0aab/html5/thumbnails/112.jpg)
2.2.1 ASCII Data
![Page 113: The Intel Microprocessors --from 8086 to Pentium Architecture, Programming and Interfacing](https://reader030.vdocuments.site/reader030/viewer/2022020112/5681376f550346895d9f0aab/html5/thumbnails/113.jpg)
2.2.1 ASCII Data• ASCII (American Standard Code for
Information Interchange) represent alphanumeric characters in the memory of a computer system.
• ASCII use 8-bit(00H—FFH) represent alphanumeric characters in computer.
![Page 114: The Intel Microprocessors --from 8086 to Pentium Architecture, Programming and Interfacing](https://reader030.vdocuments.site/reader030/viewer/2022020112/5681376f550346895d9f0aab/html5/thumbnails/114.jpg)
2.2.1 ASCII Data• Table 1-7 on page 35 shows what
is 00H—7FH representing.
• Table 1-8 on the same page shows extended ASCII code. Including what is 8FH—FFH representing.
• How to represent characters in other countries?
![Page 115: The Intel Microprocessors --from 8086 to Pentium Architecture, Programming and Interfacing](https://reader030.vdocuments.site/reader030/viewer/2022020112/5681376f550346895d9f0aab/html5/thumbnails/115.jpg)
2.2.1 ASCII Data• Many Windows-based applications use
the Unicode system to store alphanumeric data and thus resolve the problem.
• Unicode system use 16-bit data to represent character.
• 0000H—00FFH is the same as ASCII code
• 0100H—FFFFH is used to store other special characters from other countries.
![Page 116: The Intel Microprocessors --from 8086 to Pentium Architecture, Programming and Interfacing](https://reader030.vdocuments.site/reader030/viewer/2022020112/5681376f550346895d9f0aab/html5/thumbnails/116.jpg)
2.2.2 BCD Data
![Page 117: The Intel Microprocessors --from 8086 to Pentium Architecture, Programming and Interfacing](https://reader030.vdocuments.site/reader030/viewer/2022020112/5681376f550346895d9f0aab/html5/thumbnails/117.jpg)
2.2.2 BCD Data• BCD codedecimal digit BCD code 0 1 0000 0001 2 3 0010 0011 4 5 0100 0101 6 7 0110 0111 8 9 1000
1001
![Page 118: The Intel Microprocessors --from 8086 to Pentium Architecture, Programming and Interfacing](https://reader030.vdocuments.site/reader030/viewer/2022020112/5681376f550346895d9f0aab/html5/thumbnails/118.jpg)
• 1MB 1M BYTE
8 Bit 8 Bit
![Page 119: The Intel Microprocessors --from 8086 to Pentium Architecture, Programming and Interfacing](https://reader030.vdocuments.site/reader030/viewer/2022020112/5681376f550346895d9f0aab/html5/thumbnails/119.jpg)
2.2.2 BCD Data• BCD data has two forms. One is packed and the other is unpacked.• In all case, store the least-significant data first.( 规则 : 先存储最低有效位 )• Packed BCD data are stored as two digits per byte 37-----0011 0111-----37H• Unpacked BCD data are stored as one digit per byte 37-----0000 0011 0000 0111 -----0307H
![Page 120: The Intel Microprocessors --from 8086 to Pentium Architecture, Programming and Interfacing](https://reader030.vdocuments.site/reader030/viewer/2022020112/5681376f550346895d9f0aab/html5/thumbnails/120.jpg)
2.2.3 Byte-Sized Data
![Page 121: The Intel Microprocessors --from 8086 to Pentium Architecture, Programming and Interfacing](https://reader030.vdocuments.site/reader030/viewer/2022020112/5681376f550346895d9f0aab/html5/thumbnails/121.jpg)
2.2.3 Byte-Sized Data• The weights of each binary-bit
position• Unsigned byte
• Signed byte
128
64 32 16 8 4 2 1
-128 64 32 16 8 4 2 1
![Page 122: The Intel Microprocessors --from 8086 to Pentium Architecture, Programming and Interfacing](https://reader030.vdocuments.site/reader030/viewer/2022020112/5681376f550346895d9f0aab/html5/thumbnails/122.jpg)
Radix complements ( 补码 )• -1 1111 1111• -2 1111 1110• -3 1111 1101• -4 1111 1100• ……• -127 1000 0001• -128 1000 0000
![Page 123: The Intel Microprocessors --from 8086 to Pentium Architecture, Programming and Interfacing](https://reader030.vdocuments.site/reader030/viewer/2022020112/5681376f550346895d9f0aab/html5/thumbnails/123.jpg)
2.2.3 Byte-Sized Data• One byte contains 8 bits.• Byte-sized data are stored as
unsigned and signed integers.• Unsigned integers range in value
from 00H to FFH (0-255)• Signed integers range in value
from -128 to +127.
![Page 124: The Intel Microprocessors --from 8086 to Pentium Architecture, Programming and Interfacing](https://reader030.vdocuments.site/reader030/viewer/2022020112/5681376f550346895d9f0aab/html5/thumbnails/124.jpg)
2.2.3 Byte-Sized Data• Example of defining a byte-sized
data:– unsigned– 0000 FE DATA1 DB 254– 0001 87 DATA2 DB 87H– 0002 47 DATA3 DB 71– Signed– 0003 9C DATA4 DB -100– 0004 64 DATA5 DB +100Store
addressStore value
All the data formats are based on a
8088 microprocessor, whose data width
is 8 bits.
![Page 125: The Intel Microprocessors --from 8086 to Pentium Architecture, Programming and Interfacing](https://reader030.vdocuments.site/reader030/viewer/2022020112/5681376f550346895d9f0aab/html5/thumbnails/125.jpg)
2.2.4 Word-Sized Data
![Page 126: The Intel Microprocessors --from 8086 to Pentium Architecture, Programming and Interfacing](https://reader030.vdocuments.site/reader030/viewer/2022020112/5681376f550346895d9f0aab/html5/thumbnails/126.jpg)
2.2.4 Word-Sized Data• One word contains 16 bits. That is
it is formed with two bytes of data.
• Word-sized data are stored as unsigned and signed integers. The difference between them is the weight of the highest position. For unsigned integers it is 32768 while signed is -32768.
![Page 127: The Intel Microprocessors --from 8086 to Pentium Architecture, Programming and Interfacing](https://reader030.vdocuments.site/reader030/viewer/2022020112/5681376f550346895d9f0aab/html5/thumbnails/127.jpg)
• In Intel microprocessor, the least significant byte is stored in the lowest-numbered memory location, and the most significant byte is stored in the highest-numbered memory location.
• DATA DW 1234H 3002H
3001H3000H2FFFH
2.2.4 Word-Sized Data
12H34H
Memory width :
8 bit
![Page 128: The Intel Microprocessors --from 8086 to Pentium Architecture, Programming and Interfacing](https://reader030.vdocuments.site/reader030/viewer/2022020112/5681376f550346895d9f0aab/html5/thumbnails/128.jpg)
2.2.4 Word-Sized Data• Example:• Unsigned• 0000 09F0 DATA1 DW 2544• 0002 87AC DATA2 DW 87ACH• 0004 02C6 DATA3 DW 710• Signed• 0006 CBA8 DATA4 DW -13400• 0008 00C6 DATA5 DW +198
![Page 129: The Intel Microprocessors --from 8086 to Pentium Architecture, Programming and Interfacing](https://reader030.vdocuments.site/reader030/viewer/2022020112/5681376f550346895d9f0aab/html5/thumbnails/129.jpg)
2.2.5 Doubleword-Sized Data
![Page 130: The Intel Microprocessors --from 8086 to Pentium Architecture, Programming and Interfacing](https://reader030.vdocuments.site/reader030/viewer/2022020112/5681376f550346895d9f0aab/html5/thumbnails/130.jpg)
2.2.5 Doubleword-Sized Data• One doubleword contains 32 bits. That is it is formed with two words or four bytes of data.• Doubleword-sized data are stored as unsigned and signed integers. The difference between them is the weight of the highest position.
![Page 131: The Intel Microprocessors --from 8086 to Pentium Architecture, Programming and Interfacing](https://reader030.vdocuments.site/reader030/viewer/2022020112/5681376f550346895d9f0aab/html5/thumbnails/131.jpg)
• In Intel microprocessor, the least significant byte is stored in the lowest-numbered memory location, and the most significant byte is stored in the highest-numbered memory location.
• DATA DD 12345678H 3003H
3002H3001H3000H
DATA DD 5678H ???
2.2.5 Doubleword-Sized Data
12H34H56H78H
![Page 132: The Intel Microprocessors --from 8086 to Pentium Architecture, Programming and Interfacing](https://reader030.vdocuments.site/reader030/viewer/2022020112/5681376f550346895d9f0aab/html5/thumbnails/132.jpg)
2.2.5 Doubleword-Sized Data• Example :• Unsigned• 0000 0003E1C0 DATA1 DD 254400• 0004 87AC1234 DATA2 DD
87AC1234H• 0008 00000046 DATA3 DD 70• Signed• 000C FFEB8058 DATA4 DD -1343400• 0010 000000C6 DATA5 DD +198
![Page 133: The Intel Microprocessors --from 8086 to Pentium Architecture, Programming and Interfacing](https://reader030.vdocuments.site/reader030/viewer/2022020112/5681376f550346895d9f0aab/html5/thumbnails/133.jpg)
2.2.5 Doubleword-Sized Data• Note : Byte-sized, word-sized, doubleword-sized data are standard form. We can use DB to define those nonstandard data.• Example : Define 123456H• DB 56H,34H,12H• DD 123456H
What is the difference?
![Page 134: The Intel Microprocessors --from 8086 to Pentium Architecture, Programming and Interfacing](https://reader030.vdocuments.site/reader030/viewer/2022020112/5681376f550346895d9f0aab/html5/thumbnails/134.jpg)
2.2.6 Real Numbers
![Page 135: The Intel Microprocessors --from 8086 to Pentium Architecture, Programming and Interfacing](https://reader030.vdocuments.site/reader030/viewer/2022020112/5681376f550346895d9f0aab/html5/thumbnails/135.jpg)
2.2.6 Real Numbers• In high-level language we often encounter number like 24.5. We call it real number or floating-point number( 浮点数 ).• As we have noticed, 24.5 (2.45*101) contained two parts: significand ( 尾数 ) and exponent ( 指数 ).• 4-byte real number is called single-precision and 8-byte double-precision.
![Page 136: The Intel Microprocessors --from 8086 to Pentium Architecture, Programming and Interfacing](https://reader030.vdocuments.site/reader030/viewer/2022020112/5681376f550346895d9f0aab/html5/thumbnails/136.jpg)
2.2.6 Real Numbers• Single-precision using a bias of
7FH
• Double-precision using a bias of 3FFH
S31
Exponent30-23
Significant22-0
S63
Exponent62-52
Significant51-0
![Page 137: The Intel Microprocessors --from 8086 to Pentium Architecture, Programming and Interfacing](https://reader030.vdocuments.site/reader030/viewer/2022020112/5681376f550346895d9f0aab/html5/thumbnails/137.jpg)
2.2.6 Real Numbers• The exponent is stored as bias
exponent.• For single-precision:
bias exponent = exponent + 7FH
• For double-precision:bias exponent = exponent + 3FFH
![Page 138: The Intel Microprocessors --from 8086 to Pentium Architecture, Programming and Interfacing](https://reader030.vdocuments.site/reader030/viewer/2022020112/5681376f550346895d9f0aab/html5/thumbnails/138.jpg)
2.2.6 Real Numbers• Table 1.10 single-precision
number(P41)decimal binary normalized sign Biased
exponentsignificant
+12 1100 1.1*23 0 0111,1111+11
100 0000 0000 0000 0000 0000H
-12 1100 -1.1*23 1 10000010
+100 1100100
1.1001*26
0 01111111+110
100 1000 0000 0000 0000 0000H
![Page 139: The Intel Microprocessors --from 8086 to Pentium Architecture, Programming and Interfacing](https://reader030.vdocuments.site/reader030/viewer/2022020112/5681376f550346895d9f0aab/html5/thumbnails/139.jpg)
2.2.6 Real Numbers• Define single-precision data(32 bit)
•DD / REAL4• Define double-precision data(64
bit)•DQ / REAL8
• Define extended precision data•REAL10
![Page 140: The Intel Microprocessors --from 8086 to Pentium Architecture, Programming and Interfacing](https://reader030.vdocuments.site/reader030/viewer/2022020112/5681376f550346895d9f0aab/html5/thumbnails/140.jpg)
2.2.6 Real Numbers• Examples:• Single-precision 0000 3F9DF3B6 NUMB1 DD 1.2340004 C1BB3333 NUMB2 REAL4 -23.4
• Double-precision0008 405ED9999999999A NUMB3 DQ(REAL8)
123.4• Extended-precision0010 4005F6CCCCCCCCCCCCCD NUMB4 REAL10
123.4
![Page 141: The Intel Microprocessors --from 8086 to Pentium Architecture, Programming and Interfacing](https://reader030.vdocuments.site/reader030/viewer/2022020112/5681376f550346895d9f0aab/html5/thumbnails/141.jpg)
2.2.6 Real Numbers• Two exceptions to the rules for
floating-point numbers.• 0.0 is stored as all zeros.
• Positive infinity.
• Negative infinity.S0
Exponent30-23 (ALL ONES)
Significant 22-0 (ALL ZEROS)
S1
Exponent30-23 (ALL ONES)
Significant 22-0 (ALL ZEROS)
S0
Significant 22-0 (ALL 0)
Exponent30-23 (ALL 0)