词条 | lds |
释义 | 指令形式:LDS DEST.SRC 所执行的操作: DEST=WORD PTR [SRC]; DS=WORD PTR [SRC+2]; 特别说明:WORD的意思是字,PTR的意思是指针,合起来的意思就是字指针。也就是说WORD PTR[SRC]意思是SRC所指向的内存地址为2个字节(一个字就是2个字节)。 指令格式:LDS REG,MEM 显而易见:DEST需要两个字节,DS也要两个字节,那么MEM肯定是指向4个字节的内存了。4个字节就是双字(Double Word) 假定1000:10F0开始存放了4个字节 1000:10F0 78 1000:10F1 56 1000:10F2 34 1000:10F3 12 它们是倒着存放的-_- (E1000:10F0回车,78空格56空格34空格12空格回车。然后可以U1000:10F0看看写对了没) 然后用DEBUG的A指令写入汇编指令(如果是前面先执行过跟踪,别忘了RIP回车再100回车,将指令指针复原) MOV AX,1000 MOV DS,AX ;段寄存器不可以直接写的,有点麻烦-_-) LDS BX,[10F0] 跟踪可以发现,最后DS=1234;BX=5678 MOV AX,1000 MOV DS,AX LDS BX,[10F0] 这些指令可以换成 MOV AX,1000 MOV ES,AX ES: LDS BX,[10F0] 效果一样。 不过我调试了一下,先写了1000:10F0的内存再写汇编指令的话老是汇编出错。不知道哪里的毛病。 如MOV AX,1000的机器码是B80010;可是写好了再用U反汇编看一下机器码变成了C70A1000。 懒的去调了。就先写了汇编指令然后写内存。跟踪一下。当前学习的是LDS指令 LES指令 指令形式:LES DSET,SRC 指令格式:LES REG,MEM 所执行的操作: DEST=WORD PTR[SRC] ES=WORD PTR[SRC+2] |
随便看 |
百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。