3
Most read
4
Most read
5
Most read
INTEL x86 AND ARM DATA TYPES
• Are instructions set architecture
• Change code into instructions a processor can
understand and execute.
• Determines which operating systems and apps to
run.
x86 Data Types
• The x86 can deal with data types of 8 (byte), 16 (word), 32
(doubleword), 64 (quadword), and 128 (double quadword) bits
in length.
• Are referred to as general data types.
• To allow maximum flexibility in data structures and efficient
memory utilization, words do not need be aligned at even
numbered addresses and doublewords do not need to aligned
at addresses evenly divisible by 4.
• X86 also supports specific data types that are recognized and
operated on by particular instructions.
I. General
• Byte (8), word (16 bits), doubleword (32 bits), quadword (64 bits), and
double quadword (128 bits) locations with arbitrary binary contents.
II. Integer
• A signed binary value contained in a byte, word, or doubleword, using two
complement representation.
III. Ordinal
• An unsigned integer contained in a byte, word, or doubleword.
IV. Unpacked Binary Coded Decimal (BCD)
• A representation of BCD digit in the range 0 through 9, with one digit in
each byte.
V. Packed BCD
• Packed byte representation of two BCD digits; value in the range 0 to 99.
VI. Near Pointer
• A 16-bit, 32-bit, or 64-bit effective address that represents the offset within
a segment. Used for all pointers in a nonsegmented memory and for
references within a segment in a segmented memory
VII. Far Pointer
• A logical address consisting of a 16-bit segment selector and an
offset of 16, 32, or 64 bits. Far pointers are used for memory
references in a segmented memory model where the identity of a
segment being accessed must be specified explicitly.
VIII. Bit Field
• A contiguous sequence of bits in which the position of each bit is
considered as an independent unit. A bit is string can begin at any bit
position of any byte and can contain up to 32 bits.
IX. Bit String
• A contiguous sequence of bits, containing from zero to 232- 1 bits.
XByte String
• A contiguous sequence of bytes, words, or doubleword, containing
from zero to 232- 1 bytes.
XI. Floating Point
• Refers to a set of types that are used by the floating point-point unit
and operated on by floating-point instruction.
Intel x86 and ARM Data types
XII. Packed SIMD (Single Instruction, Multiple Data)
• Packed 64-bit and 128-bit data types
a. Packed byte and packed byte integer
Bytes packed into a 64-bit quadword or 128-bit double quadword, interpreted
as a bit field or as an integer.
b. Packed word and packed word integer
• 16-bit words packed into a 64-bit quadword or 128-bit double quadword,
interpreted as a bit field or as an integer.
c. Packed doubleword and packed doubleword integer
• 32-bit doublewords packed into a 64-bit quadword or 128-bit double
quadword, interpreted as a bit field or as an integer.
d. Packed quadword and packed quadword integer
• Two 64-bit quadwords packed into 128-bit double quadword, interpreted as
a bit field or as an integer.
e. Packed single-precision floating-point and packed double-precision
floating-point
• Four 32-bit floating-point or two 64-bit floating-point values packed into a
128-bit double quadword.
ARM Data Types
• Support data types of 8 (byte), 16 (half word), and 32 (word) bits in length.
• Normally, halfword access should be halfword aligned and word accesses
should be word aligned.
• ARM processor does not provide floating point hardware, which saves
power and area.
• If required it must be implement in software.
• Can be configure to be little Endian or big Endian mode.
For nonaligned access attempts, the architecture supports three alternatives.
1. Default Case
2. Alignment checking
3. Unaligned access
• Endian Support
• A state bit (E-bit) in the system control register is set and cleared under
program control using the SETEND instruction.
• The E-bit defines which endian to load and store data
Intel x86 and ARM Data types
Types of Operations
• Data Transfer
• Arithmetic
• Logical
• Conversion
• Input/output
• System Control
• Transfer of Control
Data Transfer
Operation Name Description
 Move(Transfer)  Transfer word from source to destination
 Store  From processor to memory
 Load (Fetch)  From memory to processor
 Exchange  Swap contents of source and destination
 Clear ( Reset)  Transfer 0s to destination
 Set  Transfer 1s to destination
 Push  Word from source to top of stack
 Pop  From top of stack to destination
Arithmetic
Operation Name Description
 Add  Compute sum of two operands
 Subtract  Difference of two operands
 Multiply  Product of two operands
 Divide  Quotient of two operands
 Absolute  Replace by its absolute value
 Negate  Change sign
 Increment  Add 1 to operand
 Decrement  Subtract 1 to operand
Logical
Operation Name Description
 AND; OR; NOT; OR  Perform the specified logical operation bitwise
 Test  Test specified condition; set flags based on outcome
 Compare  Make logical and arithmetic comparison of two operands
 Set Control Variables
 Class of instructions to set controls for protection purposes, interrupt handling,
timer control.
 Shift  Left/right operand introducing constants at end.
 Variables  Left/right with wraparound end
Conversion
Operation Name Description
 Translate
 Translate values in a section of memory based on a table
of correspondences
 Convert
 Convert the contents of a word from one form to
another. E.g.(packed decimal to binary
I/O
Operation Name Description
 Input (Read)
 Transfer data from specified I/O port or device to
destination
 Output ( Write)  From specified source to I/O port or device
 Start I/O
 Transfer instructions to I/O processor to initiate I/O
operation
 End I/O
 Transfer status info from I/O system to specified
destination
System of Control
• Can be executed only while the processor is in a certain privileged state or
is executing a program in a special privileged area of memory.
• These instructions are reserved for the use of the operating system.
Examples:
• A system control instruction may read or alter a control register
• An instruction to read or modify a storage protection key
• Access to process control blocks in multiprogramming system
Transfer of Control
Operation Name Description
 Jump (Branch)  Unconditional Transfer: load PC with specified address
 Jump Conditional
 Test condition: either load PC with specified address or do
nothing
 Jump to Subroutine
 Place current program control info in known location; jump
to specified address
 Return
 Replace contents of PC and other register from known
location
 Execute  Fetch operand from location and execute as instructed
 Skip  Increment PC to skip next instruction
 Skip conditional  Either skip or do nothing based on condition
 Halt  Stop program execution
 Wait (Hold)  Test specified repeatedly and resume condition
 No Operation
 No operation is performed; but program execution is
continued.
Intel x86 and ARM Data types
Data Transfer
The most fundamental type of machine instruction is the data transfer
instruction. The data transfer instruction must specify several things. First, the
location of the source and destination operands must be specified. Each
location could be memory, a register, or the top of the stack. Second, the length
of the data to be transferred must be indicated. Third, as with all instruction
with operands, the mode of addressing for each operand must be specified.
Note: if one or both operands are in memory, then the processor must perform some or all of the
following actions:
1. Calculate the memory address, based on the address mode
2. If the address refers to virtual memory, translate from virtual to real memory address.
3. Determine whether the addressed item is in cache
4. If not, issue a command to the memory module
Arithmetic
Most machines provide the basic arithmetic operations of add, subtract, multiply, and
divide. These are invariably provide for signed integer (fixed-point) numbers. Often they are also
provided for floating-point and packed decimal numbers.
Other possible operations include a variety of single-operand instructions; for example,
• Absolute: Take the absolute value of the operand
• Negate: Negate the operand
• Increment: Add 1 to the operand
• Decrement: Subtract 1 from the operand
• The execution of an arithmetic instruction may involve data transfer operations to position
operands for input to the ALU, and to deliver the output of the ALU.
Logical
• Most machines also provide a variety of operations for manipulating individual bits of word
or other addressable units, often referred to as “bit twiddling”. They are based upon Boolean
operations.
• The NOT operation inverts a bit. AND, OR, and Exclusive-OR (XOR) are the most common
logical functions with two operands. EQUAL is useful binary test.
In, addition to bitwise logical operations, most machine provide a variety of
shifting and rotating functions. Most basic operations:
 Logical Shift
 Arithmetic Shift
 Rotate or Cyclic Shift
Conversion
Conversion instruction are those that change the format or operate on the
format of data.
An example is converting from decimal to binary.
Input / Output
There are a variety of approaches taken, including isolated programmed
I/O, memory-mapped programmed I/O, DMA, and the use of an I/O processor.
Many implementations provide only a few I/O instructions
System Control
System control instructions are those that can be executed only while
the processor is in a certain privileged area of memory. Typically, these
instructions are reserved for the use of the operating system.
Transfer of Control
For these instructions, the operation performed by the processor is up to date
the program counter to contain the address of some instruction in memory.
There are a number of reasons why transfer-of-control operations are required.
Among the most important are the following:
In the practical use of computers, it is essential to be able to execute each
instruction more than once and perhaps may thousands of times. It may require
thousands or perhaps millions of instructions to implement an application. This
would be unthinkable if each instruction had to be written out separately.
If a table or a list of items is to be processed, a program loop is needed. One
sequence of instructions is executed repeatedly to process all the data.
Virtually all programs involve some decision making. We would like the computer
to do one thing if one condition holds.
To compose correctly a large or even medium-size computer program is an
exceedingly difficult task. It helps if there are mechanisms for breaking the task up
into smaller pieces that can be worked on one procedure call.
The most common transfer-of-control operations found in instruction sets:
 Branch Instructions
 Also called a jump instruction, has one of its operands the address of the next
instruction to be executed.
 Conditional branch is made (update program counter to equal address
specified in operand) only if a certain condition is met.
 Unconditional branch is executed (increment program counter as usual)
 Skip Instructions
 Includes an implied address.
 Typically, the skip implies that one instruction be skipped; thus, the implied
address equals the address of the next instruction plus one instruction length.
 Because the skip instruction does not require a destination address field, it is
free to do other things.
 Procedure Call Instructions
 The most important innovation in the development of programming languages.
 Is a self-contained computer program that is incorporated into a larger program.
 At any point in the program the procedure may be invoked, or called.
 The processor is instructed to go and execute the entire procedure and then return to the point
from which the call took place.
 The two principal reasons for the use of procedures are economy and modularity.
 Economy allows the same piece of code to be used many times this is important in
programming effort and for making the most efficient use of storage space in the system (the
program must be stored)
 Procedure also allows large programming task to be subdivided into smaller units. This use of
modularity greatly eases the programming task.
The procedure mechanism involves two basic instructions:
• A call instruction that branches from the present location to the procedure, and
• A return instruction that returns from the procedure to the place from which it was called.
Three points are worth noting:
1.) A procedure can be called from more than one location.
2.) A procedure call appear in a procedure. This allows the nesting of procedures to an arbitrary
depth.
3.) Each procedure call is matched by a return in a called program.
There are three common places for storing the return address:
• Register
Start of called procedure
• Top of stack

More Related Content

PDF
Physical design-complete
DOCX
Vlsi physical design-notes
PPTX
Microsoft access
PDF
Computer Security Threats
PPT
Presentation on Programming Languages.
PDF
Input-Output Modules
PPTX
Diabetes Mellitus
PPTX
Hypertension
Physical design-complete
Vlsi physical design-notes
Microsoft access
Computer Security Threats
Presentation on Programming Languages.
Input-Output Modules
Diabetes Mellitus
Hypertension

What's hot (20)

PPTX
Unit vi (2)
PPS
Timing and-control-unit
PPTX
Addressing modes
PPTX
Computer architecture instruction formats
PDF
Bus structure in Computer Organization.pdf
PDF
Assembler directives and basic steps ALP of 8086
PPTX
instruction format and addressing modes
PPTX
ARM Architecture Subroutine and Flags
PDF
Device drivers and interrupt service mechanism
PPTX
Addressing sequencing
PPT
Bus and Memory transfer
PDF
8086 modes
PPTX
General register organization (computer organization)
PPS
Computer instructions
PPTX
ARM Processors
PPTX
Uni Processor Architecture
PPT
Micro programmed control
PPTX
Addressing modes of 8086
PPTX
Addressing Modes Of 8086
PPTX
Computer architecture addressing modes and formats
Unit vi (2)
Timing and-control-unit
Addressing modes
Computer architecture instruction formats
Bus structure in Computer Organization.pdf
Assembler directives and basic steps ALP of 8086
instruction format and addressing modes
ARM Architecture Subroutine and Flags
Device drivers and interrupt service mechanism
Addressing sequencing
Bus and Memory transfer
8086 modes
General register organization (computer organization)
Computer instructions
ARM Processors
Uni Processor Architecture
Micro programmed control
Addressing modes of 8086
Addressing Modes Of 8086
Computer architecture addressing modes and formats
Ad

Similar to Intel x86 and ARM Data types (20)

PPTX
PPTX
Unit-1_Processor_Basic Cpu_Organization.pptx
PPT
COA Chapter 3 final edited*Minimum 40 characters required.ppt
PDF
Ch12- instruction sets- char & funct.pdf
PPT
(246431835) instruction set principles (2) (1)
PPTX
Microprocessor (1)
PDF
Various type of register
PPT
Blackfin Processor Core Architecture Part 2
PPT
ESD-unit 2-Hardware-Side-complete (1).ppt
PPTX
Instruction codes
PPTX
micro chapter 3jjgffffyeyhhuyerfftfgggffgjj
PPTX
Data_Transfer&Manupulation Instructions.pptx
PPTX
Microprocessor and Microcontroller.pptx
PPT
microprocessor
PPTX
Data transfer and manipulation
PPT
CO_Chapter2.ppt
PPTX
MICROPROCESSOR SYSTEM AND INTERFACING.pptx
PPTX
instruction sets (1).pptx
PPTX
Introduction to Computer Architecture
PPTX
microprocesser Chapter three and foure.pptx
Unit-1_Processor_Basic Cpu_Organization.pptx
COA Chapter 3 final edited*Minimum 40 characters required.ppt
Ch12- instruction sets- char & funct.pdf
(246431835) instruction set principles (2) (1)
Microprocessor (1)
Various type of register
Blackfin Processor Core Architecture Part 2
ESD-unit 2-Hardware-Side-complete (1).ppt
Instruction codes
micro chapter 3jjgffffyeyhhuyerfftfgggffgjj
Data_Transfer&Manupulation Instructions.pptx
Microprocessor and Microcontroller.pptx
microprocessor
Data transfer and manipulation
CO_Chapter2.ppt
MICROPROCESSOR SYSTEM AND INTERFACING.pptx
instruction sets (1).pptx
Introduction to Computer Architecture
microprocesser Chapter three and foure.pptx
Ad

Recently uploaded (20)

PPTX
R-Studio Crack Free Download 2025 Latest
PDF
BoxLang Dynamic AWS Lambda - Japan Edition
PPTX
hospital managemt ,san.dckldnklcdnkdnkdnjadnjdjn
PPTX
DevOpsDays Halifax 2025 - Building 10x Organizations Using Modern Productivit...
DOCX
Modern SharePoint Intranet Templates That Boost Employee Engagement in 2025.docx
PDF
AI-Powered Fuzz Testing: The Future of QA
PPTX
Viber For Windows 25.7.1 Crack + Serial Keygen
PPTX
Download Adobe Photoshop Crack 2025 Free
PDF
Type Class Derivation in Scala 3 - Jose Luis Pintado Barbero
PDF
Introduction to Ragic - #1 No Code Tool For Digitalizing Your Business Proces...
PDF
MiniTool Power Data Recovery 12.6 Crack + Portable (Latest Version 2025)
PDF
Microsoft Office 365 Crack Download Free
PDF
CCleaner 6.39.11548 Crack 2025 License Key
PPTX
Matchmaking for JVMs: How to Pick the Perfect GC Partner
PDF
SOFTWARE ENGINEERING Software Engineering (3rd Edition) by K.K. Aggarwal & Yo...
PPTX
Chapter 1 - Transaction Processing and Mgt.pptx
PDF
Internet Download Manager IDM Crack powerful download accelerator New Version...
PDF
infoteam HELLAS company profile 2025 presentation
PPTX
Bista Solutions Advanced Accounting Package
PDF
Cloud Native Aachen Meetup - Aug 21, 2025
R-Studio Crack Free Download 2025 Latest
BoxLang Dynamic AWS Lambda - Japan Edition
hospital managemt ,san.dckldnklcdnkdnkdnjadnjdjn
DevOpsDays Halifax 2025 - Building 10x Organizations Using Modern Productivit...
Modern SharePoint Intranet Templates That Boost Employee Engagement in 2025.docx
AI-Powered Fuzz Testing: The Future of QA
Viber For Windows 25.7.1 Crack + Serial Keygen
Download Adobe Photoshop Crack 2025 Free
Type Class Derivation in Scala 3 - Jose Luis Pintado Barbero
Introduction to Ragic - #1 No Code Tool For Digitalizing Your Business Proces...
MiniTool Power Data Recovery 12.6 Crack + Portable (Latest Version 2025)
Microsoft Office 365 Crack Download Free
CCleaner 6.39.11548 Crack 2025 License Key
Matchmaking for JVMs: How to Pick the Perfect GC Partner
SOFTWARE ENGINEERING Software Engineering (3rd Edition) by K.K. Aggarwal & Yo...
Chapter 1 - Transaction Processing and Mgt.pptx
Internet Download Manager IDM Crack powerful download accelerator New Version...
infoteam HELLAS company profile 2025 presentation
Bista Solutions Advanced Accounting Package
Cloud Native Aachen Meetup - Aug 21, 2025

Intel x86 and ARM Data types

  • 1. INTEL x86 AND ARM DATA TYPES • Are instructions set architecture • Change code into instructions a processor can understand and execute. • Determines which operating systems and apps to run.
  • 2. x86 Data Types • The x86 can deal with data types of 8 (byte), 16 (word), 32 (doubleword), 64 (quadword), and 128 (double quadword) bits in length. • Are referred to as general data types. • To allow maximum flexibility in data structures and efficient memory utilization, words do not need be aligned at even numbered addresses and doublewords do not need to aligned at addresses evenly divisible by 4. • X86 also supports specific data types that are recognized and operated on by particular instructions.
  • 3. I. General • Byte (8), word (16 bits), doubleword (32 bits), quadword (64 bits), and double quadword (128 bits) locations with arbitrary binary contents. II. Integer • A signed binary value contained in a byte, word, or doubleword, using two complement representation. III. Ordinal • An unsigned integer contained in a byte, word, or doubleword. IV. Unpacked Binary Coded Decimal (BCD) • A representation of BCD digit in the range 0 through 9, with one digit in each byte. V. Packed BCD • Packed byte representation of two BCD digits; value in the range 0 to 99. VI. Near Pointer • A 16-bit, 32-bit, or 64-bit effective address that represents the offset within a segment. Used for all pointers in a nonsegmented memory and for references within a segment in a segmented memory
  • 4. VII. Far Pointer • A logical address consisting of a 16-bit segment selector and an offset of 16, 32, or 64 bits. Far pointers are used for memory references in a segmented memory model where the identity of a segment being accessed must be specified explicitly. VIII. Bit Field • A contiguous sequence of bits in which the position of each bit is considered as an independent unit. A bit is string can begin at any bit position of any byte and can contain up to 32 bits. IX. Bit String • A contiguous sequence of bits, containing from zero to 232- 1 bits. XByte String • A contiguous sequence of bytes, words, or doubleword, containing from zero to 232- 1 bytes. XI. Floating Point • Refers to a set of types that are used by the floating point-point unit and operated on by floating-point instruction.
  • 6. XII. Packed SIMD (Single Instruction, Multiple Data) • Packed 64-bit and 128-bit data types a. Packed byte and packed byte integer Bytes packed into a 64-bit quadword or 128-bit double quadword, interpreted as a bit field or as an integer. b. Packed word and packed word integer • 16-bit words packed into a 64-bit quadword or 128-bit double quadword, interpreted as a bit field or as an integer. c. Packed doubleword and packed doubleword integer • 32-bit doublewords packed into a 64-bit quadword or 128-bit double quadword, interpreted as a bit field or as an integer. d. Packed quadword and packed quadword integer • Two 64-bit quadwords packed into 128-bit double quadword, interpreted as a bit field or as an integer. e. Packed single-precision floating-point and packed double-precision floating-point • Four 32-bit floating-point or two 64-bit floating-point values packed into a 128-bit double quadword.
  • 7. ARM Data Types • Support data types of 8 (byte), 16 (half word), and 32 (word) bits in length. • Normally, halfword access should be halfword aligned and word accesses should be word aligned. • ARM processor does not provide floating point hardware, which saves power and area. • If required it must be implement in software. • Can be configure to be little Endian or big Endian mode. For nonaligned access attempts, the architecture supports three alternatives. 1. Default Case 2. Alignment checking 3. Unaligned access • Endian Support • A state bit (E-bit) in the system control register is set and cleared under program control using the SETEND instruction. • The E-bit defines which endian to load and store data
  • 9. Types of Operations • Data Transfer • Arithmetic • Logical • Conversion • Input/output • System Control • Transfer of Control
  • 10. Data Transfer Operation Name Description  Move(Transfer)  Transfer word from source to destination  Store  From processor to memory  Load (Fetch)  From memory to processor  Exchange  Swap contents of source and destination  Clear ( Reset)  Transfer 0s to destination  Set  Transfer 1s to destination  Push  Word from source to top of stack  Pop  From top of stack to destination Arithmetic Operation Name Description  Add  Compute sum of two operands  Subtract  Difference of two operands  Multiply  Product of two operands  Divide  Quotient of two operands  Absolute  Replace by its absolute value  Negate  Change sign  Increment  Add 1 to operand  Decrement  Subtract 1 to operand
  • 11. Logical Operation Name Description  AND; OR; NOT; OR  Perform the specified logical operation bitwise  Test  Test specified condition; set flags based on outcome  Compare  Make logical and arithmetic comparison of two operands  Set Control Variables  Class of instructions to set controls for protection purposes, interrupt handling, timer control.  Shift  Left/right operand introducing constants at end.  Variables  Left/right with wraparound end Conversion Operation Name Description  Translate  Translate values in a section of memory based on a table of correspondences  Convert  Convert the contents of a word from one form to another. E.g.(packed decimal to binary
  • 12. I/O Operation Name Description  Input (Read)  Transfer data from specified I/O port or device to destination  Output ( Write)  From specified source to I/O port or device  Start I/O  Transfer instructions to I/O processor to initiate I/O operation  End I/O  Transfer status info from I/O system to specified destination
  • 13. System of Control • Can be executed only while the processor is in a certain privileged state or is executing a program in a special privileged area of memory. • These instructions are reserved for the use of the operating system. Examples: • A system control instruction may read or alter a control register • An instruction to read or modify a storage protection key • Access to process control blocks in multiprogramming system Transfer of Control Operation Name Description  Jump (Branch)  Unconditional Transfer: load PC with specified address  Jump Conditional  Test condition: either load PC with specified address or do nothing  Jump to Subroutine  Place current program control info in known location; jump to specified address  Return  Replace contents of PC and other register from known location  Execute  Fetch operand from location and execute as instructed  Skip  Increment PC to skip next instruction  Skip conditional  Either skip or do nothing based on condition  Halt  Stop program execution  Wait (Hold)  Test specified repeatedly and resume condition  No Operation  No operation is performed; but program execution is continued.
  • 15. Data Transfer The most fundamental type of machine instruction is the data transfer instruction. The data transfer instruction must specify several things. First, the location of the source and destination operands must be specified. Each location could be memory, a register, or the top of the stack. Second, the length of the data to be transferred must be indicated. Third, as with all instruction with operands, the mode of addressing for each operand must be specified.
  • 16. Note: if one or both operands are in memory, then the processor must perform some or all of the following actions: 1. Calculate the memory address, based on the address mode 2. If the address refers to virtual memory, translate from virtual to real memory address. 3. Determine whether the addressed item is in cache 4. If not, issue a command to the memory module Arithmetic Most machines provide the basic arithmetic operations of add, subtract, multiply, and divide. These are invariably provide for signed integer (fixed-point) numbers. Often they are also provided for floating-point and packed decimal numbers. Other possible operations include a variety of single-operand instructions; for example, • Absolute: Take the absolute value of the operand • Negate: Negate the operand • Increment: Add 1 to the operand • Decrement: Subtract 1 from the operand • The execution of an arithmetic instruction may involve data transfer operations to position operands for input to the ALU, and to deliver the output of the ALU. Logical • Most machines also provide a variety of operations for manipulating individual bits of word or other addressable units, often referred to as “bit twiddling”. They are based upon Boolean operations. • The NOT operation inverts a bit. AND, OR, and Exclusive-OR (XOR) are the most common logical functions with two operands. EQUAL is useful binary test.
  • 17. In, addition to bitwise logical operations, most machine provide a variety of shifting and rotating functions. Most basic operations:  Logical Shift  Arithmetic Shift  Rotate or Cyclic Shift Conversion Conversion instruction are those that change the format or operate on the format of data. An example is converting from decimal to binary. Input / Output There are a variety of approaches taken, including isolated programmed I/O, memory-mapped programmed I/O, DMA, and the use of an I/O processor. Many implementations provide only a few I/O instructions
  • 18. System Control System control instructions are those that can be executed only while the processor is in a certain privileged area of memory. Typically, these instructions are reserved for the use of the operating system. Transfer of Control For these instructions, the operation performed by the processor is up to date the program counter to contain the address of some instruction in memory. There are a number of reasons why transfer-of-control operations are required. Among the most important are the following: In the practical use of computers, it is essential to be able to execute each instruction more than once and perhaps may thousands of times. It may require thousands or perhaps millions of instructions to implement an application. This would be unthinkable if each instruction had to be written out separately.
  • 19. If a table or a list of items is to be processed, a program loop is needed. One sequence of instructions is executed repeatedly to process all the data. Virtually all programs involve some decision making. We would like the computer to do one thing if one condition holds. To compose correctly a large or even medium-size computer program is an exceedingly difficult task. It helps if there are mechanisms for breaking the task up into smaller pieces that can be worked on one procedure call. The most common transfer-of-control operations found in instruction sets:  Branch Instructions  Also called a jump instruction, has one of its operands the address of the next instruction to be executed.  Conditional branch is made (update program counter to equal address specified in operand) only if a certain condition is met.  Unconditional branch is executed (increment program counter as usual)  Skip Instructions  Includes an implied address.  Typically, the skip implies that one instruction be skipped; thus, the implied address equals the address of the next instruction plus one instruction length.  Because the skip instruction does not require a destination address field, it is free to do other things.
  • 20.  Procedure Call Instructions  The most important innovation in the development of programming languages.  Is a self-contained computer program that is incorporated into a larger program.  At any point in the program the procedure may be invoked, or called.  The processor is instructed to go and execute the entire procedure and then return to the point from which the call took place.  The two principal reasons for the use of procedures are economy and modularity.  Economy allows the same piece of code to be used many times this is important in programming effort and for making the most efficient use of storage space in the system (the program must be stored)  Procedure also allows large programming task to be subdivided into smaller units. This use of modularity greatly eases the programming task. The procedure mechanism involves two basic instructions: • A call instruction that branches from the present location to the procedure, and • A return instruction that returns from the procedure to the place from which it was called. Three points are worth noting: 1.) A procedure can be called from more than one location. 2.) A procedure call appear in a procedure. This allows the nesting of procedures to an arbitrary depth. 3.) Each procedure call is matched by a return in a called program. There are three common places for storing the return address: • Register Start of called procedure • Top of stack