汇编实现间隔取值

jhtk1005 2012-12-02 06:01:12
汇编怎样实现间隔取值呢?请教高手啊。
例如76543210,怎样取出6420呢?这里一个字符代表一个字节(8位)
...全文
278 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
子善旬 2012-12-04
  • 打赏
  • 举报
回复
引用 8 楼 DelphiGuy 的回复:
用pshufb指令最简单。
也是一个办法,没用过sse3,8086的当然也没有
子善旬 2012-12-03
  • 打赏
  • 举报
回复
意思到就行了 1.不是应该循环4次吗?按照你的说法,貌似是循环8次呢? 写错了 2.结果需要存放4个字节,难道都存放在al中吗?这个al应该只有8位,一个字节啊? 怎么能放下4个呢? 再把al放到对应的内存或32bit的寄存器中
  • 打赏
  • 举报
回复
用pshufb指令最简单。
jhtk1005 2012-12-02
  • 打赏
  • 举报
回复
引用 1 楼 enlinux 的回复:
ddd db '7','6','5','4','3','2','1','0' mov cx,8 mov bx,offset ddd + 1 next: mov al,byte ptr [bx] add bx,2 sub cx,1 jnz next
以上代码基本看懂了,不过还有两个疑问, 1.不是应该循环4次吗?按照你的说法,貌似是循环8次呢? 2.结果需要存放4个字节,难道都存放在al中吗?这个al应该只有8位,一个字节啊? 怎么能放下4个呢?
jhtk1005 2012-12-02
  • 打赏
  • 举报
回复
能详细点解释下你的代码吗? 哪条语句实现2个byte取个值? 最终存放在哪里呢? 我是初学者,能逐条做个注释吗?非常感谢!
子善旬 2012-12-02
  • 打赏
  • 举报
回复
定义个数组,放数字 然后,每隔2个byte取个值 这个很简单吧,就按照2#改下就可以了
jhtk1005 2012-12-02
  • 打赏
  • 举报
回复
我只是那个7,6,5,4,3,2,1,0来做例子。可能是别的数值。 我菜鸟,没太看明白你的意思也。
子善旬 2012-12-02
  • 打赏
  • 举报
回复
mov cx,7 好像要改为 mov cx,8
子善旬 2012-12-02
  • 打赏
  • 举报
回复
ddd db '7','6','5','4','3','2','1','0' mov cx,7 mov bx,offset ddd + 1 next: mov al,byte ptr [bx] add bx,2 sub cx,1 jnz next
本次带来的是一个锁屏模块,本模块使用了SSDT Hook、IAT Hook、内核底层驱动、应用层驱动、反调试、反逆向、反汇编等技术,emmm,以上这些都没有。 模块使用方式非常的简单粗暴,如果你有点懒,还嫌麻烦,可以使用以下子程序实现锁屏功能。 锁屏_开启锁屏保护  (锁屏密码文本型 , 锁屏图片文件夹文本型 , 幻灯片时间间隔整数型 , 启用进程保护 逻辑型 , 密码尝试超时次数整数型 , 超时等待间隔时间整数型 ) 参数说明: 1、锁屏密码:请牢记设置的这个密码,若遗忘了,那就只能重启机器了,这个参数是必须的; 2、锁屏图片文件夹:提供一个可用的路径,例如:D:\ScreenLockImages,仅支持jpg、gif(静态)、png、bmp格式,这个参数不是必须的。 3、幻灯片时间间隔:单位为秒,指定切换图片的时间间隔,这个参数不是必须的。 4、启用进程保护:此参数若为真,则进程会变成系统进程,强制结束进程会引发蓝屏 ,请酌情设置此参数,此参数默认为假,这个参数不是必须的。 5、密码尝试超时次数:提供一个错误超过次数的数值,例如输入5,则输入5次错误的密码,则会锁定一段时间才能继续解锁,此参数不是必须的。 6、超时等待间隔时间:提供一个以秒为单位的数值,错误超过次数后将在这个数值倒计时完成后方可进行解锁,默认为0,这个参数不是必须的。 如果你和我一样懒,更嫌麻烦,那就可以直接使用以下子程序实现锁屏功能。 锁屏_开启锁屏保护_懒人版  (父窗口窗口 , 对话框模式逻辑型 ) 参数说明: 1、父窗口:提供一个窗口为锁屏设置的父窗口; 2、对话框模式:取值为真或假。 如果你比我更懒,极度嫌麻烦,那么,干脆不用了! 下面有请图片君: 懒人版设置锁屏界面 锁屏界面 (模块解压后有3.5MB,因为里面带了一张默认的大图壁纸,所以体积才会比较大,实际编译后,也仅仅有几百KB) 模块唯一性验证: 模块MD5:e835761af3078fd79577b27f145a6c5d  (使用Windows自带的 certutil.exe获得的MD5,如果模块MD5与此不符合,则模块一定是被不怀好意之人二次修改 ,对此,请慎重使用,如因使用非本帖下载且MD5与该MD5不符合的模块导致计算机中毒、被植入后门程序、遭到破坏的,均与作者无关)。 免责声明: 本模块仅供个人学习与研究使用,禁止用于非法用途,任何个人或单位组织使用此模块需遵循用户意愿原则,不得用此模块强制对用户计算机进行上锁操作,如因此发生的一切责任与纠纷,模块作者不承担任何责任。

21,459

社区成员

发帖
与我相关
我的任务
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
  • 汇编语言
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧