X86 assembly work – Upwork

1. Create a procedure named FindThrees that returns 1 in EAX if an array has three consecutive values of 3 somewhere in the array or returns 0 in EAX if not. The procedure’s input parameter list needs to contain a pointer to the array and the array’s size. Use the PROC directive with a parameter list when declaring the procedure. Preserve all registers (except EAX) that are modified by the procedure. Write a test program that calls FindThrees several times with different arrays and writes the results to the console. Do not use conditional directives (.IF, .THEN) in your PROC.

Submit your code (.asm file) that you have written, debugged and tested

2. Write a procedure named Str_Concat that concatenates a source string to the end of a target string. Pass pointers to the Proc that include the source and target strings. Use the data and call below in your program to concatenate the strings below to form one string : “I Love Assembly!”. Use the Irvine library procedure “WriteString” to display the resulting target string to the console.

.data

targetStr BYTE "I",16 DUP(0)

sourceStr1 BYTE " Love",0

sourceStr2 BYTE " Assembly!",0

.code

INVOKE Str_concat, ADDR targetStr, ADDR sourceStr1

INVOKE Str_concat, ADDR targetStr, ADDR sourceStr2

Hourly Range: $11.00-$30.00

Posted On: February 27, 2021 06:30 UTC
Category: Electrical Engineering
Skills:X86 Assembly Language

Country: United States

click to apply

Read More
All jobs | upwork.com

Scroll to Top