Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

LINUX The following code can be imported intothe ebe assembler IDE. Whileit's mostly correct, it's missing something. You'llneed to fix it up and then make

LINUX

The following code can be imported intothe ebe assembler IDE. Whileit's mostly correct, it's missing something. You'llneed to fix it up and then make sure it assembles correctly

segment .text

global main

main: mov rax, [data] ; rax holds the data

xor ebx, ebx ; clear since setc will fill in bl

xor ecx, ecx ; i = 0;

xor edx, edx ; sum = 0;

while: cmp rcx, 64 ; while ( i < 64 ) {

jnl end_while ; requires testing on opposite

bt rax, 0 ; data & 1

setc bl ; move result of test to bl

add edx, ebx ; sum += data & 1;

shr rax, 1 ; data = data >> 1;

inc rcx ; i++;

jmp while ; end of the while loop

end_while:

mov [sum], rdx ; save result in memory

xor eax, eax ; return 0 from main

ret

Step by Step Solution

3.46 Rating (156 Votes )

There are 3 Steps involved in it

Step: 1

The given code appears to be a 64bit assembly code snippet There are a few issues that need to be fi... blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Data Analysis And Decision Making

Authors: Christian Albright, Wayne Winston, Christopher Zappe

4th Edition

538476125, 978-0538476126

More Books

Students also viewed these Programming questions

Question

4. How does a sex-linked gene differ from a sex-limited genepg78

Answered: 1 week ago