大家都在看
什么是计算机中的五种寻址方式?
最佳答案
(1) 立即数寻址:操作数直接在指令中给出,不需要访问内存。例如,`MOV ES, AX` 中的 AX 值直接传送到 ES 寄存器。
(2) 基址变址寻址:通过基址寄存器和变址寄存器的组合来确定操作数的内存地址。例如,`ADD DS:[12H], AL` 中的操作是将 AL 寄存器的值加到 DS 寄存器内容指定的地址加 12H 的内存位置上。
(3) 基址寻址:操作数的地址由基址寄存器给出。例如,`SUB BX, 1200H` 中的操作是将 BX 寄存器的值减去 1200H。
(4) 寄存器间接寻址:操作数存储在由寄存器指定的内存地址中。例如,`SHR AX, 1` 中的操作是将 AX 寄存器的值向右移一位。
(5) 寄存器寻址:操作数是寄存器中的内容。例如,`MOV CX, LAB1[BX]` 中的操作是将 BX 寄存器指定的地址中的内容传送到 CX 寄存器。
(6) 直接I/O端口寻址:操作数是I/O端口的地址。例如,`SBB AX, [BX]` 中的操作是将 BX 寄存器指定的I/O端口的内容与 AX 寄存器的值进行算术补码减法。
(7) 直接寻址:操作数的地址直接在指令中给出。例如,`OR DX, -360H[SI]` 中的操作是将 SI 寄存器指定的地址减去 360H 的内容或到 DX 寄存器。
(8) 立即数寻址:操作数直接在指令中给出。例如,`ADC VAR1, CX` 中的操作是将 CX 寄存器的值加到 VAR1 内存位置,并计算进位。
(9) 立即数寻址:操作数直接在指令中给出。例如,`XOR [DI], AX` 中的操作是将 AX 寄存器的值异或到 DI 寄存器指向的内存位置。
(10) 变址寻址:操作数的地址由基址寄存器和变址寄存器的组合加上偏移量来确定。例如,`LEA AX, DS:[2000H]` 中的操作是将 DS 段寄存器的内容与 2000H 偏移量相加,结果存储在 AX 寄存器中。
声明:知趣百科所有作品均由用户自行上传分享,仅供网友学习交流。若您的权利被侵害,请在页面底部查找“联系我们”的链接,并通过该渠道与我们取得联系以便进一步处理。