关于这个问题,8086直接寻址和立即寻址的区别在于它们寻址的数据来源不同。
直接寻址是指指令中给出了一个地址,CPU直接从该地址中取出数据。例如:MOV AX,[BX],将BX中保存的地址作为数据存储单元的地址,将该地址中的数据读取到AX中。
立即寻址是指指令中给出了一个立即数,CPU直接从指令中取出这个数作为数据。例如:MOV AX,10H,将立即数10H直接存储到AX寄存器中。
因此,直接寻址需要先计算出数据存储单元的地址,而立即寻址则不需要进行地址计算,直接从指令中取出数据。
8086直接寻址和立即寻址在操作寻址方式上存在区别。
1. 直接寻址是通过给出存储器单元的地址直接寻址,可以访问一个字节或者一个字,数据存储在立即数中,指令访问不到立即数中的数据。
2. 立即寻址是将立即数直接嵌入到指令中,指令可以访问这个立即数,但是由于指令中有一部分是用于操作码的,所以立即寻址只能提供一个八位或十六位的立即数。
此外,立即寻址方式不需要访问存储器,所以速度比直接寻址方式更快。
对于8086汇编语言,直接寻址使用MOV或者ALU指令,而立即寻址方式主要在MOV指令中使用,如MOV AX, 1234H。