Question

1) Implement MOVSX: Write a sequence of shift instructions that cause AX to be sign-extended into...

1) Implement MOVSX: Write a sequence of shift instructions that cause AX to be sign-extended into EAX. In other words, the sign bit of AX is copied into the upper 16 bits of EAX.

example: 8000h in AX results in 0FFFF8000h in EAX

7000h in AX results in 00007000h in EAX

0 0
Add a comment Improve this question Transcribed image text
Answer #1

To understand this problem, we need to understand what does "MOVSX" instruction does.

MOVSX is expanded as move with sign extension. It is a special vesion of MOV instruction along with MOVZX which is move with zero extention. Basically MOVSX is designed to be used for signed register and MOVZX is designed to be used for unsigned register.

In MOVSX data is moved from smaller register and the sign is preserved by either padding with zero(for positive values) or F's (for negative values.

For example:

Taking example given in question;

Add a comment
Know the answer?
Add Answer to:
1) Implement MOVSX: Write a sequence of shift instructions that cause AX to be sign-extended into...
Your Answer:

Post as a guest

Your Name:

What's your source?

Earn Coins

Coins can be redeemed for fabulous gifts.

Not the answer you're looking for? Ask your own homework help question. Our experts will answer your question WITHIN MINUTES for Free.
Similar Homework Help Questions
  • assembly language LAB #11-IMPLEMENT SLIDE #56 of the CHAPTER SEVEN SLIDES IN TWO WAYS EBX contains 200; ECX contains 42 1) Using SHIFT INSTRUCTIONS 2) Using the MUL and DIV INSTRUCTIONS Implement...

    assembly language LAB #11-IMPLEMENT SLIDE #56 of the CHAPTER SEVEN SLIDES IN TWO WAYS EBX contains 200; ECX contains 42 1) Using SHIFT INSTRUCTIONS 2) Using the MUL and DIV INSTRUCTIONS Implement the following expression using signed 32-bit integers: eax = (ebx * 20) / ecx mov eax,20 imul ebx idiv ecx LAB #11-IMPLEMENT SLIDE #56 of the CHAPTER SEVEN SLIDES IN TWO WAYS EBX contains 200; ECX contains 42 1) Using SHIFT INSTRUCTIONS 2) Using the MUL and DIV...

  • 2. Serial shift registers Draw missing connections to implement various shift registers 1. Shift right: All...

    2. Serial shift registers Draw missing connections to implement various shift registers 1. Shift right: All bits of the register move right by one position, and a new bit value from a serial input is stored in the most significant bit (leftmost flip-flop below). Serial input -02 az 02 a Do ao Serial indino 2. Shift left: All bits of the register move left by one position, and a new bit value from a serial input is stored in the...

  • 1. The MIPS instruction set includes several shift instructions. They include logical-shift-left ...

    1. The MIPS instruction set includes several shift instructions. They include logical-shift-left (sll), logical-shift-right (srl), and arithmetic-shift-right (sra). [2 +2 4 points] a) Why does not MIPS offer an "arithmetic-shift-left (sla)" instruction? b) Write a MIPS code to implement the logical-shift-left (sll) instruction for a machine that did not have this particular instruction? In other words, you have to write the equivalent of the sll instruction using mul, add and other instructions. Try writing the equivalent of sll Ss1, Ss2,...

  • A shift operation is often used to implement either multiply-by-power-of-2 or divide-by power-of-...

    A shift operation is often used to implement either multiply-by-power-of-2 or divide-by power-of-2 operations. For example, 0010 x4 1000. This multiplication can be achieved by shifting 0010 by 2 bits to the left. Likewise, 10004 0010, which can be obtained by shifting 1000 to the right by 2 bits. As multipliers are more "expensive" in terms of area and power consumption, multiplication by shifting is preferred if applicable. Sometime, the multiplier does not have to be power-of-2. For example, 0010...

  • All solutions must have both code and data segments Write a sequence of assembly language instructions...

    All solutions must have both code and data segments Write a sequence of assembly language instructions to subtract each entry of an array B of five two’s complement 16-bit binary integers from the corresponding entry of an array A of five two’s complement 16-bit binary integers and construct a third array C of two’s complement 16-bit binary integers. i.e. C[i] = A[i] - B[i]. Use the following data for the arrays A and B.             A: 10, -15, 20, 4,...

  • Using the Windows Starter Visual Studio project create the following five programs. 1. Write a p...

    Using the Windows Starter Visual Studio project create the following five programs. 1. Write a program that will store address information in unique values and then display the full address in a window at runtime (10pts). Example: Sam Coder 1 Main Street Kansas City, MO 64018 2. Write a program that will swap the City and State fields and then display the full address in a window at runtime (10pts). Example: Sam Coder 1 Main Street MO, Kansas City 64018...

  • 5. A circuit must detect a 01 sequence. The sequence sets z= 1,which is reset only by a 00 sequen...

    5. A circuit must detect a 01 sequence. The sequence sets z= 1,which is reset only by a 00 sequence. For all other cases, z = 0. Overlap is allowed in the sense that the second bit of the reset sequence “00” can be counted as the first bit of the next set sequence “01.” For example, for input sequence x as follows, the corresponding output sequence z would be: x = 010100100 z = 011110110 For this circuit: A)...

  • Write code to implement the following function: /* * Generate mask indicating leftmost 1 in x....

    Write code to implement the following function: /* * Generate mask indicating leftmost 1 in x. Assume w=32. * For example 0xFF00 -> 0x8000, and 0x6600 --> 0x4000. * If x = 0,then return 0. */ int leftmost_one(unsigned x); Your function should follow the above bit-level integer coding rules, except that you may assume that data type int has w=32 bits. Your code should contain a total of at most 15 arithmetic, bit-wise, and logical operations. In C++ and has...

  • Implement the following statements using MS430 assembly instructions. You may use more than one, ...

    Implement the following statements using MS430 assembly instructions. You may use more than one, but you should minimize the number of instructions required. You can use both native and emulated instructions. Use hex notation for all numbers 1. (a) Move the word located in register R14 to R15 (b) Increment the word in R6 by 2. (c) Perform a bitwise ANDing of the word located at address 0x0240 with the datum in R15, placing the results in R15. (d) Rotate...

  • Problem 1: Implement an algorithm to generate prime numbers. You will need to implement the following...

    Problem 1: Implement an algorithm to generate prime numbers. You will need to implement the following ingredients (some of them you developed for earlier assignments): 1. A method to generate random binary numbers with n-digits (hint: for the most significant digit, you have no choice, it will be 1; similarly, for the least significant digit there is no choice, it will have to be 1; for all other position, generate 0 or 1 at random) 2. A method to compute...

ADVERTISEMENT
Free Homework Help App
Download From Google Play
Scan Your Homework
to Get Instant Free Answers
Need Online Homework Help?
Ask a Question
Get Answers For Free
Most questions answered within 3 hours.
ADVERTISEMENT
ADVERTISEMENT