公 例1.MoAX,DS:[200H]; 如(DS)=3000H,则指令的执行情况如下图所示: 代码 存储器 采用直接寻址方式,如果没 有用“段跨越前缀标明操作 段OP 数在哪一段,就默认段寄存 为DS 00 30000H 数据段 20 AX 32000H 执行结果:(AX)=3050H 50 30
例 1. MOV AX , DS:[2000H]; 代 存储器 采用直接寻址方式,如果没 码 有用“段跨越前缀”标明操作 段 数在哪一段,就默认段寄存 为DS. 30000H 数 AX 据 段 32000H 执行结果:(AX)=3050H 20 00 OP 如(DS)= 3000H, 则指令的执行情况如下图所示: 30 50
公 当然,也允许数据存放在数据段以外的其它段(如 附加段)。此时应在指令中给出“跨越段前缀” 例2:如数据在附加段中,则应指明“段跨越缀”。 Mo∨AX,Es:[3000 或ES: MOV AX,[3000H] ·*为了使指令字不要过长,规定双操作数指令不 能两个操作数都用直接寻址方式。 如 MOV DS:[2000J],DS:[3000H]
• 当然, 也允许数据存放在数据段以外的其它段(如 附加段)。此时应在指令中给出 “跨越段前缀”。 例 2: 如数据在附加段中,则应指明“段跨越缀” 。 MOV AX , ES : [3000H] 或 ES: MOV AX , [3000H] • * 为了使指令字不要过长,规定双操作数指令不 能两个操作数都用直接寻址方式。 如 MOV DS: [2000H] , DS:[3000H]