响水做网站的,建湖住房和城乡建设局网站,海外销售是做什么的,十大财务软件排名LEA BX,[SI] ;BX--DS:[SI]内存单元的偏移地址,与该单元中的数据无关
LDS BX,[SI] ;BX--DS:[si]内存单元中的数据的低16位,DS--内存单元中数据的高16位 LES BX,[SI] ;BX--DS:[SI] ,ES--DS:[SI2] 显然LDS和LES的操作数是32位的(两个字 四个字节 32位)
写个…LEA BX,[SI] ;BX--DS:[SI]内存单元的偏移地址,与该单元中的数据无关
LDS BX,[SI] ;BX--DS:[si]内存单元中的数据的低16位,DS--内存单元中数据的高16位 LES BX,[SI] ;BX--DS:[SI] ,ES--DS:[SI2] 显然LDS和LES的操作数是32位的(两个字 四个字节 32位)
写个程序测试一下,假设我们向内存中写入数据idata dd 12345678H
LEA:-u 0CA1:0000 B8A00C MOV AX,0CA0 0CA1:0003 8ED8 MOV DS,AX ;
DS指向数据段 0CA1:0005 8D1E0000 LEA BX,[0000] ;
指向数据段中第一个内存单元(16位5678) ;
此时如果是MOV BX,[0] 那么AX5678H AX0CA0 BX0000 CX001E DX0000 SP0000 BP0000 SI0000 DI0000 DS0CA0 ES0C90 SS0CA0 CS0CA1 IP0005 NV UP EI PL NZ NA PO NC 0CA1:0005 8D1E0000 LEA BX,[0000] DS:00005678 -t AX0CA0 BX0000 CX001E DX0000 SP0000 BP0000 SI0000 DI0000 DS0CA0 ES0C90 SS0CA0 CS0CA1 IP0009 NV UP EI PL NZ NA PO NC 0CA1:0009 B8004C MOV AX,4C00 -;
BX0000H 说明LEA只是传送DS:[]指向内存单元的偏移地址 LDS:-u 0CA1:0000 B8A00C MOV AX,0CA0 0CA1:0003 8ED8 MOV DS,AX 0CA1:0005 C51E0000 LDS BX,[0000] ;
ds:[0]指向数据段的第一个内存单元 -t ;
此时如果是MOV BX,DS:[0] 那么AX5678H AX0CA0 BX0000 CX001E DX0000 SP0000 BP0000 SI0000 DI0000 DS0CA0 ES0C90 SS0CA0 CS0CA1 IP0005 NV UP EI PL NZ NA PO NC 0CA1:0005 C51E0000 LDS BX,[0000] DS:00005678 -t AX0CA0 BX5678 CX001E DX0000 SP0000 BP0000 SI0000 DI0000 DS1234 ES0C90 SS0CA0 CS0CA1 IP0009 NV UP EI PL NZ NA PO NC 0CA1:0009 B8004C MOV AX,4C00 -;
bx5678H,ds1234H ;
是的,LDS的传送并不是偏移地址而是实实在在的内存单元中的数据,bx--[0],ds--[02]
LES:
LES BX,[0]
bx--[0]
es--[02]