LDS错误啥意思

问题描述:

LDS错误啥意思
1个回答 分类:综合 2014-11-12

问题解答:

我来补答
指令形式 这里可能是指令错误或是内存错误
LDS
abbr.
1.= Latter-Day Saint 【宗】摩门教徒
2.= Lightning Detection System 【气】闪电侦测系统
3.= Local Digital Switch 本地数字交换机
4.= Low-Dimensional System 低规格系统
lds
abbr.
1.=large disk storage 大容量磁盘内存
指令形式: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.  懒的去调了.就先写了汇编指令然后写内存.跟踪一下.
 
 
展开全文阅读
剩余:2000