A community for students.
Here's the question you clicked on:
 0 viewing
walters
 2 years ago
hi how can i write the following statement in assembly language.
walters
 2 years ago
hi how can i write the following statement in assembly language.

This Question is Closed

walters
 2 years ago
Best ResponseYou've already chosen the best response.0while (n>1){ if ( n is even) n : = n/2 else n:=3*n+1 }

walters
 2 years ago
Best ResponseYou've already chosen the best response.0yes pls help @A.Avinash_Goutham

eSpeX
 2 years ago
Best ResponseYou've already chosen the best response.0In MIPS, your code will look like this: .data N: .word 30 .text main: add $t0, $zero, N # copy N into the register WHILE: blt $t0, 1, END # while (n > 1) sll $t1, $t0, 31 # shift out so only least sig bit remains beq $t1, 1, ODD # else { ... } sra $s0, $t0, 1 # n = n/2 add $t0, $s0, $zero # copy result back to temp register j WHILE ODD: sla $s0, $t0, 1 # multiply by two add $s0, $t0, $zero # add N add $s0, $zero, 1 # + 1 add $t0, $s0, $zero # copy result back into register j WHILE END: sw $t0, N # write N to memory jr $ra

walters
 2 years ago
Best ResponseYou've already chosen the best response.0@artofspeed and @nubeer

eSpeX
 2 years ago
Best ResponseYou've already chosen the best response.0I do not have experience with the 8086 instruction set, it was my hope that you could take what you have learned and adapt the logic and instructions to match those that you are using.

walters
 2 years ago
Best ResponseYou've already chosen the best response.0how to use modulus using assembly

eSpeX
 2 years ago
Best ResponseYou've already chosen the best response.0You won't really use modulus per se, you are dealing with binary, which is why I logically shifted the number to the left. Any 'odd' number will have to set the least significant bit, if it is a 0, then the number is even.

walters
 2 years ago
Best ResponseYou've already chosen the best response.0so tell me wat is the deffrence between 8086 and mips

eSpeX
 2 years ago
Best ResponseYou've already chosen the best response.0They use a different instruction set, while they do basically the same thing, it is a difference in how the instruction is formed.

walters
 2 years ago
Best ResponseYou've already chosen the best response.0so to run it i need to install mips software or should i use MASM615

eSpeX
 2 years ago
Best ResponseYou've already chosen the best response.0If I recall correctly, the MASM assembler interprets only the 8086 instruction set, if you want to compile MIPS, try using the QtSPIM assembler. http://sourceforge.net/projects/spimsimulator/

eSpeX
 2 years ago
Best ResponseYou've already chosen the best response.0A cursory review of the x86 instructions show that they have some of the same instructions as MIPS, so it should be completely doable to convert the code I've given into instructions you can use with the 8086 assembler.
Ask your own question
Sign UpFind more explanations on OpenStudy
Your question is ready. Sign up for free to start getting answers.
spraguer
(Moderator)
5
→ View Detailed Profile
is replying to Can someone tell me what button the professor is hitting...
23
 Teamwork 19 Teammate
 Problem Solving 19 Hero
 Engagement 19 Mad Hatter
 You have blocked this person.
 ✔ You're a fan Checking fan status...
Thanks for being so helpful in mathematics. If you are getting quality help, make sure you spread the word about OpenStudy.