Data Transfer and Manipulation
ARCHANA R,
ASSISTANT PROFESSOR IN DEPARTMENTOF CS
SACWC.
Data Transfer and Manipulation
Most computer instructions can be
classified into three categories:
2)Data transfer,
2)Data manipulation,
3)Program control instructions
Data Transfer Instruction
Data transfer instructions move data from
one place in the computer to another
without changing the data content
The most common transfers are between
memory and processor
registers,between processor registers
and input or output,and between the
processor registers themselves.
NAME Mnemonic
Load LD
Store ST
Move MOV
Exchange
XC
H
Input IN
Output
OU
T
Push PUSH
pop POP
Typical Data Transfer Instruction :
» Load : transfer from memory to a processor register,
usually an AC (memory read)
» Store : transfer from a processor register into memory
(memory write)
» Move : transfer from one register to another register
» Exchange : swap information between two registers or
a register and a memory word
» Input/Output : transfer data among processor
registers and input/output device
» Push/Pop : transfer data between processor
registers and a memory stack
Data Manipulation Instruction
Data Manipulation Instructions perform
operations on data and provide the
computational capabilities for the
computer.
It is divided into three basic types:
1) Arithmetic,
2) Logical and bit manipulation,
3)Shift Instruction
Arithmetic Insructions
NAME
Mnemoni
c
Increment INC
Decrement DEC
Add ADD
Subtract
SU
B
Multiply MUL
Divide
DI
V
Add with carry ADDC
Subtract with
SUB
B
borrow
Negate (2’s NEG
Logical and bit manipulation
Insructions
NAME Mnemonic
Clear CLR
Complement COM
AND AND
OR
O
R
Exclusive-or XOR
Clear carry
CLR
C
Set carry SETC
complement carry
COM
C
Enable interrupt EI
Disable interrupt
D
I
Shift Instructions
NAME
Mnemoni
c Logical shift right
SHR
Logical shift left SHL
Arithmetic shift SHRA
right
Arithmetic shift SHLA
left
Rotate right ROR
Rotate left ROL
Rotate right RORC
through carry
Rotate left ROLC
through carry
Program control
Program control instructions specify conditions for
altering the content of the program counter , while data
transfer and manipulation instructions specify condtions
for data-processing operations.
NAME Mnemonic
Branch BR
Jump JMP
Skip SKP
Call
CAL
L
Return RET
Compare(by subtraction) CMP
Test(by ANDing) TST
Status Bit Conditions
• It is convinentto supplement the ALU
circuit in the CPU with a status register
where status bit condition can be stored
for further analysis.
• Status bits are also called condition code
bit or flag bit.
• The four status bits are symbolized by
C,S,Z and V.
• The bits are set or cleared as a result
of an operation performed in the ALU
4-bit status register
Conditional Branch Instructions
Subroutine Call and Return
It is a self-contained sequence of
instructions that performs a given
computational task.
During the execution of a program,a
subroutine may call when it is called, a
branch is executed to the beginning of the
subroutine to start executing its set of
instructions. After the subroutine has
been executed,a branch is made back to
the main program.
A subroutine call is implemented with
the following microoperations:
CALL:
SP← SP-1: Decrement stack point
M[SP] ←PC : Push content of PC onto
the stack
PC←Effective Address : Transfer control
to the subroutine
RETURN:
PC ← M[SP] : Pop stack and transfer to PC
SP ← SP+1 : Increment stack pointer
Program Interrupt
» Transfer program control from a currently
running program to another service
program
as a result of an external or internal
generated request
» Control returns to the original program
after the service program is executed
Types of Interrupts
1)External Interrupts
» come from I/O device, from a timing device,
from a circuit
monitoring the power supply, or from any other
external source
2)Internal Interrupts or TRAP
» caused by register overflow, attempt to divide by
zero,
an invalid operation code, stack overflow, and
protection violation
3)Software Interrupts
» initiated by executing an instruction (INT or RST)
» used by the programmer to initiate an
interrupt procedure at any desired point in
the program
THANK YOU

Data Transfer & Manipulation.pptx

  • 1.
    Data Transfer andManipulation ARCHANA R, ASSISTANT PROFESSOR IN DEPARTMENTOF CS SACWC.
  • 2.
    Data Transfer andManipulation Most computer instructions can be classified into three categories: 2)Data transfer, 2)Data manipulation, 3)Program control instructions
  • 3.
    Data Transfer Instruction Datatransfer instructions move data from one place in the computer to another without changing the data content The most common transfers are between memory and processor registers,between processor registers and input or output,and between the processor registers themselves.
  • 4.
    NAME Mnemonic Load LD StoreST Move MOV Exchange XC H Input IN Output OU T Push PUSH pop POP Typical Data Transfer Instruction : » Load : transfer from memory to a processor register, usually an AC (memory read) » Store : transfer from a processor register into memory (memory write) » Move : transfer from one register to another register » Exchange : swap information between two registers or a register and a memory word » Input/Output : transfer data among processor registers and input/output device » Push/Pop : transfer data between processor registers and a memory stack
  • 5.
    Data Manipulation Instruction DataManipulation Instructions perform operations on data and provide the computational capabilities for the computer. It is divided into three basic types: 1) Arithmetic, 2) Logical and bit manipulation, 3)Shift Instruction
  • 6.
    Arithmetic Insructions NAME Mnemoni c Increment INC DecrementDEC Add ADD Subtract SU B Multiply MUL Divide DI V Add with carry ADDC Subtract with SUB B borrow Negate (2’s NEG
  • 7.
    Logical and bitmanipulation Insructions NAME Mnemonic Clear CLR Complement COM AND AND OR O R Exclusive-or XOR Clear carry CLR C Set carry SETC complement carry COM C Enable interrupt EI Disable interrupt D I
  • 8.
    Shift Instructions NAME Mnemoni c Logicalshift right SHR Logical shift left SHL Arithmetic shift SHRA right Arithmetic shift SHLA left Rotate right ROR Rotate left ROL Rotate right RORC through carry Rotate left ROLC through carry
  • 9.
    Program control Program controlinstructions specify conditions for altering the content of the program counter , while data transfer and manipulation instructions specify condtions for data-processing operations. NAME Mnemonic Branch BR Jump JMP Skip SKP Call CAL L Return RET Compare(by subtraction) CMP Test(by ANDing) TST
  • 10.
    Status Bit Conditions •It is convinentto supplement the ALU circuit in the CPU with a status register where status bit condition can be stored for further analysis. • Status bits are also called condition code bit or flag bit. • The four status bits are symbolized by C,S,Z and V. • The bits are set or cleared as a result of an operation performed in the ALU
  • 11.
  • 12.
  • 13.
    Subroutine Call andReturn It is a self-contained sequence of instructions that performs a given computational task. During the execution of a program,a subroutine may call when it is called, a branch is executed to the beginning of the subroutine to start executing its set of instructions. After the subroutine has been executed,a branch is made back to the main program.
  • 14.
    A subroutine callis implemented with the following microoperations: CALL: SP← SP-1: Decrement stack point M[SP] ←PC : Push content of PC onto the stack PC←Effective Address : Transfer control to the subroutine RETURN: PC ← M[SP] : Pop stack and transfer to PC SP ← SP+1 : Increment stack pointer
  • 15.
    Program Interrupt » Transferprogram control from a currently running program to another service program as a result of an external or internal generated request » Control returns to the original program after the service program is executed
  • 16.
    Types of Interrupts 1)ExternalInterrupts » come from I/O device, from a timing device, from a circuit monitoring the power supply, or from any other external source 2)Internal Interrupts or TRAP » caused by register overflow, attempt to divide by zero, an invalid operation code, stack overflow, and protection violation 3)Software Interrupts » initiated by executing an instruction (INT or RST) » used by the programmer to initiate an interrupt procedure at any desired point in the program
  • 17.