Monday, April 27, 2009

Exercise 1

1. How the processor uses the address bus, the data bus, and the control bus to communicate with the system memory?

2. Which of the following are unidirectional and which are bidirectional?

a. Address Bus

b. Data Bus

c. Control Bus

3. What are registers and what are the specific features of the accumulator, index registers, program counter, and program status word?
4. What is the size of the accumulator of a 64bit processor?

5. What is the difference between an instruction mnemonic and its opcode?
6. How are instructions classified into groups?

7. A combination of 8bits is called a byte. What is the name for 4bits and for 16bits?

8. What is the maximum memory 8088 can access?

9. List down the 14 registers of the 8088 architecture and briefly describe their uses.

10. What flags are defined in the 8088 FLAGS register? Describe the function of the zero flag, the carry flag, the sign flag, and the overflow flag.
11. Give the value of the zero flag, the carry flag, the sign flag, and the overflow flag after each of the following instructions if AX is initialized with 0x1254 and BX is initialized with 0x0FFF.
a. add ax, 0xEDAB

b. add ax, bx
c. add bx, 0xF001

12. What is the difference between little endian and big endian formats? Which format is used by the Intel 8088 microprocessor?

13. For each of the following words identify the byte that is stored at lower memory address and the byte that is stored at higher memory address in a little endi an computer.
a. 1234

b. ABFC
c. B100

d. B800

14. What are the contents of memory locations 200, 201, 202, and 203 if the word 1234 is stored at offset 200 and the word 5678 is stored at offset 202?

15. What is the offset at which the first exeutable instruction of a COM file must be placed?
16. Why was segmentation originally introduced in 8088 architecture?

17. Why a segment start cannot start from the physical address 55555.

18. Calculate the physical memory address generated by the following segment offset pairs.
a. 1DDD:0436

b. 1234:7920

c. 74F0:2123

d. 0000:6727
e. FFFF:4336

f. 1080:0100

g. AB01:FFFF

19. What are the first and the last physical memory addresses accessible using the following segment values?
a. 1000

b. 0FFF

c. 1002

d. 0001
e. E000

20. Write instructions that perform the following operations.

a. Copy BL into CL

b. Copy DX into AX

c. Store 0x12 into AL

d. Store 0x1234 into AX
e. Store 0xFFFF into AX

21. Write a program in assembly language that calculates the square of six by adding six to the accumulator six times.

5 comments: