MOVA, PUSHA

VAX11

 

MOVA, PUSHA MOVE ADDRESS, PUSH ADDRESS

 

Purpose

calculate address of quantity

Format

opcode src.ax, dst.wl                                        MOVA

opcode src.ax                                                   PUSHA

Operation

dst ß src;                                                        MOVA

-(SP) ß src;                                                    PUSHA

Condition codes

N ß result LSS 0;

Z ß result EQL 0;

V ß 0;

C ß C;

Exceptions

None

Opcodes

9E        MOVAB                      Move Address Byte

3E        MOVAW                    Move Address Word

DE       MOVAL                      Move Address Long

DE       MOVAF                      Move Address Floating

7E        MOVAQ                     Move Address Quad

7E        MOVAD                     Move Address Double

9F        PUSHAB                     Push Address Byte

3F        PUSHAW                    Push Address Word

DF       PUSHAL                     Push Address Long

DF       PUSHAF                     Push Address Floating

7F        PUSHAQ                    Push Address Quad

7F        PUSHAD                     Push Address Double

Description

For MOVA, the destination operand is replaced by the source operand which is an address. For PUSHA, the source operand is pushed on the stack. The context in which the source operand is evaluated is given by the data type of the instruction. The operand whose address replaces the destination operand is not referenced.

Notes

1. The source operand is of address access type which causes the address of the specified operand to be moved.

2. PUSHAx is equivalent to MOVAx src, -(SP), but is shorter.

 

 

Example 1

 

.text

 

main: .word 0

      moval myString, r0

      pushl r0

      calls $1, .puts

 

      pushl $0

      calls $1, .exit

 

.data

myString: .asciz "Hello, World"