Answered step by step
Verified Expert Solution
Question
1 Approved Answer
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
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started