Search for question
Question

4. Assume a CPU with a fixed 36-bit instruction length has the following instruction format:

opcode [num-operands] [model operand1] [mode2 operand2] [mode3 operand3]

The opcode is the instruction. num-operands is 0-3 depending on the number of operands and

each operand has its own addressing mode specifier. Assume there are 150 instructions and 7

addressing modes. Answer the following questions.

a. If an instruction uses three registers, how many registers can be referenced?

b. If an instruction uses two registers and one immediate datum (in two's complement), what

is the largest immediate datum that can be referenced assuming there are 16 registers?

c. If an instruction has two operands, a register and a direct memory address, what is the

largest address (which is an unsigned binary number) if there are 64 registers?

d. If an instruction has two operands, both of which are memory addresses using base-

displacement mode where the base is a base register and there are 8 base registers, and the

displacement is an unsigned binary number, how long can the displacement be?

Remember, there are two separate base registers and two separate displacements.

Fig: 1


Most Viewed Questions Of Microprocessor and Microcontroller

3. Create a new project Lab5c. Starting with the files provided and the program in Figure 5.1, modify that program so that all the following changes are made in your new program: a. The table to be copied is of length 0x20. b. The original table is created starting at 0x2000.0480 c. The table starts with 0x00 and successive even numbers are stored in the table. d. The duplicate table is created starting at Ox2000.0C00 e. The duplicate table contains the copy of the original table in the reverse order.


12. Figure 1-17a shows the block diagram for a Synchronous RAM. Use the rules we gave you for analyzing multi-level circuits with bubbles to help you write the logic expression for the signals that assert the CLR# signal in the Burst Counter.


1. Calculate the 1 GHz impedance of a 100 Microfarad Capacitor with a ½ inch lead on each end. Assume resistance is essentially zero and inductance of connecting lead is 20 nanoH/inch.


Exercise 6.8 Show how the strings in Exercise 6.6 are stored in a byte-addressable memory on (a) a big-endian machine and (b) a little-endian machine starting at memory address 0x1000100C. Use a memory diagram similar to Figure 6.4.Clearly indicate the memory address of each hvte on each machine.


15. Assuming that the multiplexers in Figure 1-11c are in the up position so the circuit functions as a simple shift register, calculate the maximum clock frequency assuming that the top of the flip flops is 2ns, the tsu of the flip-flops is Ins, and the top of the multiplexers is 1ns.


17. Describe what is required to convert an asynchronous memory device to a synchronous memory device and bri20ly describe the advantages that a synchronous SRAM has over an asynchronous SRAM with respect to data transfer rates.


2. Write an MSP432 code segment that subtracts two 64-bit Hexadecimal numbers and stores the 64-bit binary value starting at 0x20000008. Subtract 0x0000 0000 9FED CBAO from OxABCD EF98 7654 3210. You can make it a continuation of the program in problem 1, but let me know that is what you are or are not doing. (write a small note). Enter the code into your lab tools (one of your assembly uVision programs) and cross check your answer. Include a printout or picture of your source assembly file with the final answer [15 pts]


19. Briefly describe the two major techniques used by DDR DRAMs to achieve a data transfer rate that is two times the rate that would be possible without the use of these techniques.


2. Before starting this part of the lab, please do all calculations below manually. Create a new project: Lab5b. Copy the appropriate files over from the provided zip file. Starting with provided calculate.s, modify it to add or subtract the numbers that are stored in the memory and store the sum in memory (i.e. your program should read numbers from the memory, apply mathematical operation to the numbers accordingly and save the result in the memory). Put the operand values given into the .rodata section of your program. Execute the programs and record the sum or subtraction and the 'C' (carry) and 'Z' (zero) bits of the condition code register. Use the following data: a. Addition of two single-byte numbers: 0xC3 + 0x8D Helpful steps: 1) Use LDRB to read a byte of data from memory into a register. How does an instruction refer to memory location? How do you initialize memory? Hint: Look at Lab5a, above. 2) Use ADD to add numbers in registers. ab 5 Rev. 3 -7- Advanced Assembly, Branching, and Monitor Utilities 3) Use STRH or STR in order to save the result from a register to memory-why shouldn't you use STRB in this case? 0xF5-0x34 0xFE6B34-0x58CF21 0x2E68B3F4 +0x5C2A b. Subtraction of two single-byte numbers: c. Three-byte subtraction: d. Multi-byte addition:


1. Write an MSP432 code segment that adds the 64-bit hexadecimal numbers: 0x1234 5678 9FED CBAO and OxABCD EF98 7654 3210 together and store the 64-bit binary to memory location starting at 0x20000000. Enter the code into your lab tools (one of your assembly uVision programs) and cross check your answer. Include a printout or picture of your source assembly file with the final answer [15 pts]