首页
社区
课程
招聘
[求助]lods指令
发表于: 2009-9-16 22:30 8658

[求助]lods指令

2009-9-16 22:30
8658
资料看了,还是不大明白


取字符串元素指令LODS
指令格式:LODS OPRD 其中OPRD为源字符串符号地址。
指令功能:把SI寻址的源串的数据字节送AL或数据字送AX中去,并根据DF的值修改地址指针SI进行自动调整。
本指令不影响标志位。当不使用操作数时,可用LODS(字节串)或LODSW(字串)指令。



LODS 从串取指令

LODS SRC
LODSB //从字节串取 AL=(SI)
LODSW //从字串取 AX= (SI±1) (SI)
执行操作:把由SI指定的数据段中字节或字单元的内容送入AL或AX中,并根据DF值及数据类型修改SI的内容.
1.在执行该指令之前,要取的数据必须在存储器中预先定义(用DB或DW),必须预置SI的初值.
2.源串允许使用段超越前缀来改变数据存储的段区.


请问我在debug中为什么用a命令汇编下面代码会出错:
1, “  lods         ”
2, “  lodsb si    ”

到底要不要源操作数,还有,要不要指定b或w,谢谢。

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (2)
雪    币: 45
活跃值: (46)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
正确格式应该是lodsb/lodsw/lodsd(d后缀在32位汇编中使用)。
源操作数是默认为SI/ESI。且不能使用别的寄存器。
2009-9-17 00:17
0
雪    币: 625
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
谢谢!!!!
2009-9-17 12:08
0
游客
登录 | 注册 方可回帖
返回