ARCHITECTURE AND INSTRUCTIONS
to 256
Memory location FFFFOH, sixteen bytes from the absolute top of the 8088's address range is the first location from which the 8088 fetches an instruction following a sys- tem RESET (the activation of the RESET pin on the 8088 CPU chip, usually at the time system is powered up). This memory location usually contains a jump (JMP) instruction to the actual beginning of the system program somewhere else in memory.
ORGANIZATION OF THE INSTRUCTION SET
Instructions are described here in six func- tional groups:
1)Data transfer
2)Arithmetic
3)Logic
4)String manipulation
5)Control transfer
6)Processor control
Each of the first three groups mentioned in the preceding list is further subdivided into an array of codes that specify whether the instruction is to act upon immediate data, register or memory locations, whether
text of your program automatically causes the assembler to generate the correct code.
There are three general categories of instruc- tions within each of the three functional groups mentioned:
I)Register or memory space to or from register
2) Immediate data to register or memory
3) Accumulator to or from registers, mem- ory, or ports
The details of the syntax of the 8088 instruc- tion set are described fully in Intel's iAPX 86, 88 assembly language programming manual.
Data Transfer Instructions
Data transfer instructions are divided into four classes:
I)General purpose
2)
3)
4)Flag
N one affect flag setting except SAHF and POPF.
General Purpose Transfers
Four general purpose data transfer opera- tions are provided and may be applied to most operands, though there are specific exceptions. The general purpose transfers (except XCHG) are the only operations which allow a segment register as an operand.
MOV performs a byte or word transfer from the source operand to the destination operand.
PUSH decrements the SP register by two and then transfers a word from the source operand to the stack element currently addressed by SP.
POP transfers a word operand from the stack element addressed by the SP register to the destination operand and then increments SP by 2.
XCHG exchanges the byte or word source operand with,the destination operand. The segment registers may not be operands of XCHG.