Documentos de Académico
Documentos de Profesional
Documentos de Cultura
SUBMITTED BY-
Sagar Biswas
CSB16029
DEPT of CSE
Content:
1. Objectives.
2. Theory
3. Observation Table
4. Observation
5. Inference
Objectives:
Theory:
(i) General purpose register: There are 8 general purpose registers, i.e., AH, AL,
BH, BL, CH, CL, DH, and DL. They can individually store 8-bit data and can
store 16-bit data in pairs.
(ii) Special purpose register: They are used as segment registers, pointers, index
registers, or as offset registers for particular addressing modes.
(iii) Segment registers: There are 4 segment registers, i.e., CS, DS, ES, SS. It holds
the addresses of instructions and data in memory, which are used by the
processor to access memory locations.
(iv) Flag registers: It is modified automatically by mathematical operations, this
allows to determine the type of the result, and to determine conditions to transfer
control to other parts of the program.
Essential features of the emulator emu8086-
(i) It was the first chip to use a 16-bit transfer bus making it much faster and software
friendly.
(ii) It has an instruction queue, capable of storing 6 instruction bytes, resulting in faster
processing.
(iii) The speed of the processor was faster than previous chips, up to 10 MHz.
(iv) It uses two stages of pipelining, i.e., Fetch Stage and Execute Stage.
An assembly language program has six fields: Memory Address, Machine Code, Opcode,
Operands, and Comments.
Memory Address: These are 16-bit addresses of the user memory in the system, where the
machine code of the program is stored.
Machine Code: Also called as instruction code. These are the hexadecimal numbers represents
instructions that are stored in the respective memory addresses.
Opcode (Operation Code): Opcode are the abbreviated symbols to indicate the type of
operation or function that will perform by the machine code.
Operand: The operand field of the statement contains the 8-bit or 16-bit data, the memory
address, the port address, or the name of the registers on which the instruction is to be
performed.
Observation Table:
Observations:
The instruction pointer is incremented after fetching an instruction, and holds the memory
address of the next instruction that would be executed. While moving, adding, and
subtracting, IP was incremented by 2 while it was incremented by 1 in the nop instruction.
The flags dont chance while the mov instruction was executed, but they changed after add, or
sub operations were executed. This is because the flags might change only after the arithmetic
operations are completed.
Inference:
The basic operations like mov, add, and sub of assembly language have been implemented
on both bytes and words using different values. The corresponding results, register values
and flags have been observed.