Question: Problem 2: Conditional Processing (35%) Convert each of the following assembly codes to a high-level code construct: if-then, if-else, while loop, or a combination of


Problem 2: Conditional Processing (35%) Convert each of the following assembly codes to a high-level code construct: if-then, if-else, while loop, or a combination of them. You will find the variables that you can use in your answers beside each code. You can also use literal numbers (constants) whenever it is applicable. a. You can use x and y as variables in your code. .data x DWORD ? y DWORD ? .code main PROC moveax, cmp eax, y jae L1 sub eax, Y mov X, eax jmp EXIT L1: add eax, y inc eax mov X, eax EXIT: main endp end main b. You can use vi, x, cx, dx as variables in your code. .data v1 WORD ? x WORD ? . code main PROC cmp vi, cx jge L1 cmpcx, dx jl L2 Ll: mov x, 1 jmp next L2: mov x, 2 next: main endp end main C. You can use v1 and v2 as variables in your code. v2 eax .data v1 DWORD ? DWORD ? .code main PROC xor eax, xor ebx, ebx start: cmp eax, vi jge lend add ebx, eax add eax, 3 jmp start lend: mov v2, ebx main endp end main d. You can use ecx, eax and sum as variables in your code. Think of what the instruction "and eax, 1b" means? .data sum DWORD ? .code main PROC xor ebx, ebx mov ecx, 80h start: moveax, ecx and eax, lb test eax, eax jz NO add ebx, ecx NO: dec ecx jnz start lend: mov sum, ebx main endp end main
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
