鱼C论坛

 找回密码
 立即注册
查看: 1965|回复: 3

怎样让一个字节型数据入栈?

[复制链接]
发表于 2013-8-10 15:48:52 | 显示全部楼层 |阅读模式
1鱼币
怎样让一个字节型数据入栈?

最佳答案

查看完整内容

一个字节入栈不行。 不过你可以这样 32位的话 mov ebx,[要入栈的值的内存地址] movzx eax,byte ptr [ebx];读取一个字节放在AL,高位填写0 push eax ;接着要用到的时候 mov al,byte ptr [esp];byte ptr指定只传一个字节,或者movzx eax,byte ptr [esp] 16位的,大同小异 mov ds,xx;数据段 mov bx,xx;偏移 movzx ax, byte ptr ds: push ax ;接着要用到的时候 mov al,byte ptr ss:[sp] 16位汇编我有点不太记得了,不知 ...
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-8-10 15:48:53 | 显示全部楼层
一个字节入栈不行。
不过你可以这样
32位的话
mov ebx,[要入栈的值的内存地址]
movzx eax,byte ptr [ebx];读取一个字节放在AL,高位填写0
push eax
;接着要用到的时候
mov al,byte ptr [esp];byte ptr指定只传一个字节,或者movzx eax,byte ptr [esp]
16位的,大同小异
mov ds,xx;数据段
mov bx,xx;偏移
movzx ax, byte ptr ds:[bx]
push ax
;接着要用到的时候
mov al,byte ptr ss:[sp]
16位汇编我有点不太记得了,不知道写的对不对。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2013-8-10 16:20:07 | 显示全部楼层

对,用高位补零就能办到了,谢谢,有些知识点还没学到,谢谢你的回答
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-8-10 16:40:34 | 显示全部楼层
红头发 发表于 2013-8-10 16:20
对,用高位补零就能办到了,谢谢,有些知识点还没学到,谢谢你的回答

没事,能帮到你我很开心。最近在改正心态。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-9-29 05:30

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表