Assembly Language Group A Assignment
Assembly Language Group A Assignment
(ESUT)
ASSIGNMENT
BY
GROUP A
ON
ASSEMBLY LANGUAGE
CSC 353
ASSIGNMENTS:
1. PAGE 142
2. PAGE 190 QUESTIONS 1 - 8
1. What 3 components make up a Von Neumann Machine?
CPU
MEMORY
INPUT/OUTPUT
2. What is the purpose of the (a)system bus (b) address bus (c) data bus (d) control bus
System bus: It is the electronic pathway that connects the various components of a
Von Neumann Machine.
Address bus: This is the bus that is used to send the address of a memory location
the CPU wishes to write/store to or read/retrieve data from.
Data bus: Is used to shuffle data between various components of a Von Neumann
Machine.
Control bus: This bus is used to transfer signals which control how the processor
communicates with the rest of the system.
5. Does the size of the data bus control the maximum value the CPU can process? Explain.
No. The size of the data bus only determines how much data can be transferred over the
bus at any instant but that won’t stop for example, a 32 bit CPU from using 4 memory reads
on an 8 bit data bus to get its full 32 bits required for an operation.
6. What are the data bus sizes of: (a) 8088 (b) 8086 (c) 80286 (d) 80386sx (e) 80386 (f) 80486
(g) 80586/Pentium
Processor Data bus size
8088 8
8086 16
80286 16
80386sx 16
80386 32
80486 32
80586/Pentium 64
7. What are the address bus sizes of the above processors?
Processor Address bus size
8088 20
8086 20
80286 24
80386sx 24
80386 32
80486 32
80586/Pentium 32
9. Explain how to store a word in a byte addressable memory (that is, at what address)?
Explain how to store a double word
Word: Place the low order byte in an even address & the corresponding address
Double word: Place the low order byte in an address if its value MOD 4 is a
factor of 4.
10. How many memory operations will it take to read a word from the following addresses on
the following processors?
12. Explain which addresses are best for byte, word and double word variables on an 8088, 80286
and 80386 processor.
13. How many different I/O locations can you address on the 80x86 chip? How many are typically
available on a PC?
There are 65,536 different I/O locations on an 80x86 chip. Only about a maximum of
1024 are available on a typical PC.
1. Although the 80x86 processors always use segmented addresses, the instruction encodings for
instructions like “mov AX, I” only have a 16 bit offset encoded into the opcode. Explain.
This is because the AX register is the default destination register in this addressing mode
& is therefore implicit and can be omitted from the opcode.
It is described as such because it requires two parameters to access a memory location (like
two – dimensional arrays) which are the Segment and the Offset respectively.
3. Convert the following logical addresses to physical addresses. Assume all values are hexadecimal
and real mode operation on the 80x86:
Answer: (multiply segment by 10H, add to offset, place last digit of the result as the new offset).
6. List all 80386 (and later) addressing modes that are not available on the 8086 (use generic forms
Scaled Indexed Addressing mode – disp[index * n] & [base] [index * n] are its syntax.
7. Besides memory addressing modes, what are the other two major addressing modes?
Answer: