beautypg.com

Lshift16_add16 (left shift and add, 16 bit) – Echelon Neuron User Manual

Page 187

background image

_lshift16_add16 (Left Shift and Add, 16 Bit)

This function takes a 16-bit index, shifts it left n times, and adds the result to a

base value.

Stack Transformation: (index(2), n, base(2) -- base(2)+(index(2)<Location: Far
Registers Affected: None

Example:
This example uses a base of h’efe3, an index of 10, and a shift value of 1.

pushd #h’efe3 ; (h’e3, h’ef)

pushs #d’1 ; (1, h’e3, h’ef)

pushd #d’10 ; (d’10, 0, 1, h’e3, h’ef)

callf _lshift16_add16 ; (h’f7, h’ef)

_lshift8_add16 (Left Shift and Add, Converts 8

Bits to 16 Bits)

This function takes an index, converts it to a 16-bit quantity, shifts it left n times,

and adds the result to a base value.

Stack Transformation: (index, n, base(2) -- base(2)+(index(2)<Location: Far
Registers Affected: None

Example:
This example uses a base of h’efe3, an index of 10, and a shift value of 1.

pushd #h’efe3 ; (h’e3, h’ef)

pushs #d’1 ; (1, h’e3, h’ef)

push #d’10 ; (d’10, 1, h’e3, h’ef)

callf _lshift8_add16 ; (h’f7, h’ef)

_lshift8by1_add16 (Left Shift By 1 and Add,

Converts 8 Bits to 16 Bits)

This function takes an index, converts it to a 16-bit quantity, shifts it left once,

and adds the result to a base value.

Stack Transformation: (index, base(2) -- base(2)+(index(2)<<1))
Location: Far

Neuron Assembly Language Reference

177