Home Random Page


CATEGORIES:

BiologyChemistryConstructionCultureEcologyEconomyElectronicsFinanceGeographyHistoryInformaticsLawMathematicsMechanicsMedicineOtherPedagogyPhilosophyPhysicsPolicyPsychologySociologySportTourism






Assembler language Instructions

 

Contents

 

4.1 Transfer instructions

4.2 Loading instructions

4.3 Stack instructions

4.4 Logic instructions

4.5 Arithmetic instructions

4.6 Jump instructions

4.7 Instructions for cycles: loop

4.8 Counting Instructions

4.9 Comparison Instructions

4.10 Flag Instructions

 

 

4.1 Transfer instructions

 

They are used to move the contents of the operators. Each instruction can be used with different modes of addressing.

 

MOV

MOVS (MOVSB) (MOVSW)

 

MOV INSTRUCTION

 

Purpose: Data transfer between memory cells, registers and the accumulator.

 

Syntax:

 

MOV Destiny, Source

 

Where Destiny is the place where the data will be moved and Source is the place where the data is.

 

The different movements of data allowed for this instruction are:

 

*Destiny: memory. Source: accumulator

*Destiny: accumulator. Source: memory

*Destiny: segment register. Source: memory/register

*Destiny: memory/register. Source: segment register

*Destiny: register. Source: register

*Destiny: register. Source: memory

*Destiny: memory. Source: register

*Destiny: register. Source: immediate data

*Destiny: memory. Source: immediate data

 

Example:

 

MOV AX,0006h

MOV BX,AX

MOV AX,4C00h

INT 21H

 

This small program moves the value of 0006H to the AX register, then it moves the content of AX (0006h) to the BX register, and lastly it moves the 4C00h value to the AX register to end the execution with the 4C option of the 21h interruption.

 

MOVS (MOVSB) (MOVSW) Instruction

 

Purpose: To move byte or word chains from the source, addressed by SI, to

the destiny addressed by DI.

 

Syntax:

 

MOVS

 

This command does not need parameters since it takes as source address the

content of the SI register and as destination the content of DI. The following sequence of instructions illustrates this:

 

MOV SI, OFFSET VAR1

MOV DI, OFFSET VAR2

MOVS

 

First we initialize the values of SI and DI with the addresses of the VAR1 and VAR2 variables respectively, then after executing MOVS the content of VAR1 is copied onto VAR2.

 

The MOVSB and MOVSW are used in the same way as MOVS, the first one moves one byte and the second one moves a word.

 


Date: 2014-12-22; view: 829


<== previous page | next page ==>
Types of instructions. | Loading instructions
doclecture.net - lectures - 2014-2024 year. Copyright infringement or personal data (0.006 sec.)