社区
汇编语言
帖子详情
书上有句话不懂
GGJJyangjinhan
2009-04-30 06:50:49
MOVSB复制由ESI寻址处的内存地址处的数据至EDI寻址的内存地址处
什么叫由ESI寻址处的内存地址。
谁能清楚的解释给我......
...全文
153
14
打赏
收藏
书上有句话不懂
MOVSB复制由ESI寻址处的内存地址处的数据至EDI寻址的内存地址处 什么叫由ESI寻址处的内存地址。 谁能清楚的解释给我......
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
14 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
光宇广贞
2009-05-02
打赏
举报
回复
[Quote=引用 13 楼 mengcheng8487 的回复:]
看样子LZ懂了,我也学习了。。。谢谢详细解说的大佬,下次我有问题你们多帮帮我。。。我多给分给你们,不过你说详细点。我才学习汇编语言,觉得很难学!
[/Quote]
看得懂就行了。会不会编另说。你不做硬件驱动开发的话,你用汇编编程的效率是干不过编译器的……
mengcheng8487
2009-05-02
打赏
举报
回复
看样子LZ懂了,我也学习了。。。谢谢详细解说的大佬,下次我有问题你们多帮帮我。。。我多给分给你们,不过你说详细点。我才学习汇编语言,觉得很难学!
光宇广贞
2009-05-01
打赏
举报
回复
[Quote=引用 8 楼 GGJJyangjinhan 的回复:]
这不只是指令问题,我不明白的是这句话
由ESI寻址处的内存地址。
不懂这个后面我都没法看,还有如“在保护模式程序中,ESI自动作为由DS寻址的段内的偏移”不明白,由DS寻址?怎么寻址??
[/Quote]
就是说es段和ds段对齐啦……
windows 汇编的基本常识……
GGJJyangjinhan
2009-05-01
打赏
举报
回复
明白!
nanlingcg
2009-05-01
打赏
举报
回复
我从楼主主帖里的话大致推测,那是段对MOVSB的解释.
MOVSB是串传送,就是把一段字符(说数据,信息都可以,都是二进制)从一个地方用一个指令传送结束。
如MOV 最多(在32位的情况下)一次只能传送两个字的信息。超过两个字的信息要想一个指令来完成,就用MOVSB或者MOVSW,MOVSD。那么他是怎么传的呢(只以MOVSB为例)?也就是说他从哪传到哪(也就是复制)?汇编中规定:以ESI为源变址寄存器,EDI为目的变址寄存器,(书上应该有说,ESI在串处理指令中作为隐含的源变址寄存器并和DS联用,同样,EDI作为隐含的目的变址寄存器并和ES联用).
比如:在1000:00000300开始存有12 34 56 78 90 AB CD EF ,要把他用串传送指令传送到2000:00000800开始处。那么这里的源是1000:00000300这里,目的地址是2000:00000800那里,
那么在汇编中怎么表示? 如下:
MOV AX,1000H
MOV DS ,AX ;DS里放入源数据的段地址,
MOV ESI,00000300H ;把源数据的偏移首地址放入ESI
MOV AX,2000H
MOV ES,AX ;ES里是操作数据目的的段地址
MOV EDI,00000800H ;EDI里是操作数据目的的偏移首地址
CLD ;设下方向标志
MOV CX,8 ;设下长度,因为是MOVSB(字节),所以是8
REP MOVSB ;这里是开始传送的指令了
CLD MOV CX,8 REP就不解释了。只针对楼主的不解说下了。
上面复制的是从那到那,我先楼主是明白的了,就是把1000:00000300开始的8个字节内容依此复制到2000:00000800那及后面字节存储空间。
现在我来用楼主的话详细比照这个例子。
MOVSB复制由ESI寻址处的内存地址处的数据至EDI寻址的内存地址处
。
由ESI寻址
自然是说通过ESI来寻址,上面的例子ESI里是00000300H,通过ESI寻址自然寻到1000:00000300处(ESI在串处理中和DS联用),
由ESI寻址处的内存地址处的数据
自然也就是指从DS:00000300H开始的数据,究竟操作多长数据,由MOV CX,XX来定。 传送(复制)去的地方自然是EDI(EDI和ES联用)寻址到的那个2000:00000800那里.
这就是MOVSB
复制由ESI寻址处的内存地址处的数据至EDI寻址的内存地址处
可能你不解的是MOVSB这个指令只有操作码而没有操作数,其实操作数是隐含的,源操作数是DS:[ESI],目的操作数是ES:[EDI],自然在执行中他们还要递增或递减。那应该在解释指令时也有解释了,就不多说了。
回复的时候为了便于理解,有些就不严谨了。估计意思是说到了。。。
不对之处望大侠们及时指点。以免误导了别人。。。
GGJJyangjinhan
2009-04-30
打赏
举报
回复
谁能好好说说
GGJJyangjinhan
2009-04-30
打赏
举报
回复
这不只是指令问题,我不明白的是这句话
由ESI寻址处的内存地址。
不懂这个后面我都没法看,还有如“在保护模式程序中,ESI自动作为由DS寻址的段内的偏移”不明白,由DS寻址?怎么寻址??
goodider
2009-04-30
打赏
举报
回复
寄存器间接寻址。
nanlingcg
2009-04-30
打赏
举报
回复
寄存器间接寻址。。。
LZ的寻址知识还不很牢固。。。要努力。。。
array020
2009-04-30
打赏
举报
回复
汗,楼上说的要配合REP的
执行一次MOVSB 就是
mov byte ptr es:[di],byte ptr ds:[si] 当然这句编译不了,不过表达了该指令的意思
如果DF为0,则
inc si
inc di
如果DF为1,则
dec si
dec di
光宇广贞
2009-04-30
打赏
举报
回复
自己找一个指令字典,像这类的问题就不用上来问了。还有,自己要学会DEBUG看。
光宇广贞
2009-04-30
打赏
举报
回复
不仅仅是上面所说的,关键是ecx这个位,以ecx为计数,直到ecx减为零为止,将指定的edi和esi指定的数据段的内容进行复制。
lmxd70
2009-04-30
打赏
举报
回复
意思是字符串的首地址放在esi中,目的地址放在edi中,传输时[edi]<-[esi],然后esi,edi都加1,再重复上一过程
BAYNPU
2009-04-30
打赏
举报
回复
就把DS:[ESI]数据复制到ES:[EDI]的内存中,然后...。
大一新生应该如何学习C语言,
书上
代码看不
懂
理解不了怎么办?
大家好,我是二哥呀! 昨天有个读者问我要 C语言的学习路线,他今年刚上大一,
书上
的代码完全看不
懂
。 讲真,大一新生,一般都是零基础的纯小白,看不
懂
书上
的代码很正常,除非是小学、初中、高中就开始卷计算机的硬核少年;或者是因为教材选的有问题。 那刚好二哥之前整理过一些学习 C语言的资料和学习方法,今天趁这个机会就再做个汇总和梳理。 推荐一本书,两门视频课,若干学习建议,看完后如果还看不
懂
、理解不了C语言,过来骂我、捶我,只要不要打脸就行。 01)阮一峰老师的 C语言入门教程 这个教程是开源的,采用知识共享许可
作业
书上
的题看不
懂
2
//摇奖程序 //偷懒不排大小 Set <Integer> a=new HashSet<Integer>(); Random b=new Random(); f...
傅里叶变换(
书上
居然写错了,作者不
懂
居然还能写这么多。)
这正是
书上
的公式4.3-12。上面的第二个等式是根据冲激的取样特性,这是定义的性质,在公式4.2-9和4.2-10给出了。,其中由于W/2=umax, A=ΔT, 但是umax=1/(2ΔT),所以w=1/ΔT。现在我来计算一下公式4.3-12吧。这本书是实
话
写的啰嗦,而且不清楚。h(t)这个
书上
没有计算。但是
书上
计算了H(t)的傅里叶变换。类比这个图4.4的计算过程,进行计算发现h(t)=这里需要计算h(t)和f~(t)。f~(t)
书上
就是公式4.3-1。
GetFATEntry详解,
书上
没讲清楚,转下别人的解释,不然真看不
懂
。
函数GetFATEntry。参数存放在ax寄存器中,表示一个簇号。输出结果是该簇号在FAT表中的FATENTRY,它的内容仍然是一个簇号,表示文件下一部分所在簇的簇号。这里要仔细地体会“簇号”和“簇”之间的差别,否则在看代码的时候,很容易就会迷失。“簇”表示一个或多个扇区的集合。FAT12中,一个簇就是一个扇区,512字节。簇号,从软盘的数据区开始,从2开始编号(0,1为系统使用),本质上是一个基于FAT表的索引。
GetFATEntry:
push es
弱菜之快速排序实现,表示因为
书上
的看不
懂
只能自己写
自己的代码: void qsort(int a[], int left, int right) { if(left
=pivot&&l
汇编语言
21,500
社区成员
41,617
社区内容
发帖
与我相关
我的任务
汇编语言
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
复制链接
扫一扫
分享
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章