【正文】
implied. Do you remember 2D arrays in highlevel language? How about nD arrays? Note in Memory Addressing 。 Are they different? MOV AL, [BX] 。 not use ALU MOV AL, 10H[BX] 。 ALU used 。 Are they different? MOV AL, [BX][SI] MOV AL, 20H[BX][SI] (4) String Addressing In string operation instructions, the addressing mode are all string addressing. No time for string operation now, sorry! (5) I/O port Addressing When operation data is in I/O port, the addressing mode is I/O port addressing. In 8086/8088, the I/O operation and memory operation are distinguished by control signal on system bus. So, different instructions used to I/O and memory operation. (5) I/O port Addressing In 8086/8088, only input and output instruction can operate I/O port. All instructions which can operate memory cell can not operate I/O port. (5) I/O port Addressing Unlike the 20bit physic address of memory cell, the physic address of I/O port is only 16bit. When I/O operation occurs, only lower 16 bits of address bus is valid. There is no segment management in I/O port space. (5) I/O port Addressing There are two addressing modes for I/O port addressing. Direct Addressing: Port address is provided by instruction. Indirect Addressing: Port address is provided by DX register. (5) I/O port Addressing Example: IN AL, 60H 。 8bit operation SRC: Direct I/O port addressing, can only provide address as 0~255 (8 bit address) OUT 40H, AX 。16bit operation (5) I/O port Addressing Example: MOV DX, 0FF55H IN AL, DX SRC: Indirect I/O port addressing, can provide 16bit port address (0~65535) 64K is the I/O space size in 8086/8088.