PROGRAM 11: strlen Function Write an HLA Assembly language program that implements the following function: procedure strlen( baseStringAddress: dword ); @nodisplay; @noframe; This function should return in AL the number of characters in the string parameter, passed by its base address. Here is a sample program dialogue: Feed Me: asdfasdf The String You Entered: asdfasdf Has Length = 8 Feed Me: asdf The String You Entered: asdf Has Length = 4 PROGRAM 12: Swapper Write an HLA Assembly language program that implements a function which correctly sorts three parameters and returns a boolean value in AL which should be set to true if any swaps were performed to sort the sequence in increasing order. This function should have the following signature: procedure swapper( var x : int16; var y : int16; var z : int16 ); @nodisplay; @noframe;
Write an HLA Assembly language program that implements the following function:
procedure strlen( baseStringAddress: dword ); @nodisplay; @noframe;
This function should return in AL the number of characters in the string parameter, passed by its base address. Here is a sample program dialogue:
Feed Me: asdfasdf
The String You Entered: asdfasdf Has Length = 8
Feed Me: asdf
The String You Entered: asdf Has Length = 4
PROGRAM 12: Swapper
Write an HLA Assembly language program that implements a function which correctly sorts three parameters and returns a boolean value in AL which should be set to true if any swaps were performed to sort the sequence in increasing order. This function should have the following signature:
procedure swapper( var x : int16; var y : int16; var z : int16 ); @nodisplay; @noframe;
After invoking the function, the value of x <= the value of y <= the value of z. Your function must use reference parameters, changing the callers version of the variables passed to the function. Here is a sample program dialogue:
Gimme X: 12
Gimme Y: 1
Gimme Z: 50
After sorting, X = 1, Y = 12, Z = 50
Gimme X: 100
Gimme Y: 10
Gimme Z: 2
After sorting, X = 2, Y = 10, Z = 100
HINT: Even though the parameters are listed as int16, HLA expects you will pass them as memory addresses, requiring a full 32-bit value. So you'll have to use extended registers to hold the parameters, not 16-bit registers!
Trending now
This is a popular solution!
Step by step
Solved in 2 steps