Assignment 1
Assignment 1
Assignment 1:
Name: Ahmed Mohamed Shogar Adam
AD0-AD15 (Address Data Bus): Bidirectional address/data lines. These are low order
address bus. They are multiplexed with data.
When these lines are used to transmit memory address, the symbol A is used instead
of AD, for example, A0- A15.
A16 - A19 (Output): High order address lines. These are multiplexed with status
signals.
A16/S3, A17/S4: A16 and A17 are multiplexed with segment identifier signals S3 and
S4.
A18/S5: A18 is multiplexed with interrupt status S5.
BHE/S7 (Output): Bus High Enable/Status. During T1, it is low. It enables the data
onto the most significant half of data bus, D8-D15. 8-bit device connected to upper
half of the data bus use BHE signal. It is multiplexed with status signal S7. S7 signal is
available during T3 and T4.
Ready (Input): The addressed memory or I/O sends acknowledgment through this
pin. When HIGH, it denotes that the peripheral is ready to transfer data.
TEST (Input): Wait for test control. When LOW the microprocessor continues
execution otherwise waits.
GND: Ground.
SHLD addr Store H-L pair direct 16 None Direct 5 SHLD 2500
[addr] ←[L], [addr H
+1] ← [H]
Instruction Description
MOV Moves data from register to register, register to memory, memory to register, memory
to accumulator, accumulator to memory, etc.
LDS Loads a word from the specified memory locations into specified register. It also loads a
word from the next two memory locations into DS register.
LES Loads a word from the specified memory locations into the specified register. It also
loads a word from next two memory locations into ES register.
LAHF Loads low order 8-bits of the flag register into AH register.
SAHF Stores the content of AH register into low order bits of the flags register.
XCHG Exchanges the contents of the 16-bit or 8-bit specified register with the contents of AX
register, specified register or memory locations.
PUSH Pushes (sends, writes or moves) the content of a specified register or memory location(s)
onto the top of the stack.
POP Pops (reads) two bytes from the top of the stack and keeps them in a specified register,
or memory location(s).
POPF Pops (reads) two bytes from the top of the stack and keeps them in the flag register.
OUT Transfers data from accumulator or AL or AX register to an I/O port identified by the
second byte of the instruction.