免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 3173 | 回复: 14
打印 上一主题 下一主题

这人气旺,借问个nasm语法问题(已经去掉“低级”趣味) [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-10-23 08:43 |只看该作者 |倒序浏览
BEAUTIY_GIRL times 446  db 00h
我想把BEAUTIY_GIRL的偏移送到ax中
在masm中,我知道得这么干: mov ax, offset BEAUTIY_GIRL
但nasm中没有offset,该用下面哪一个
1.lea ax, BEAUTIY_GIRL
2.lea ax, [BEAUTIY_GIRL]
3.或者还有其他办法么?
谢谢各位朋友!

[ 本帖最后由 zhongfangqing 于 2007-10-23 10:33 编辑 ]

论坛徽章:
0
2 [报告]
发表于 2007-10-23 10:07 |只看该作者
真鸡巴恶心,版主处理一下吧。
最讨厌把低级趣味和专业技术搅和在一起。

论坛徽章:
0
3 [报告]
发表于 2007-10-23 10:14 |只看该作者
不能满足您的口味,很抱歉

论坛徽章:
0
4 [报告]
发表于 2007-10-23 10:15 |只看该作者
但我喜欢这样,这可以让工作充满乐趣,有乐趣,效率自然就高了
您不能要求所有人的世界观和人生观都和您一样,对么?

论坛徽章:
0
5 [报告]
发表于 2007-10-23 10:25 |只看该作者
另:
   BeautiyGirl      dw   00h
     我想把BeautiyGirl的内容放到eax的高16位中,nasm语法,大家帮看看这有没有问题
   xor eax eax
     mov ax, [BeautiyGirl]
     shl eax, 4

      难道只能这样么?ax的高位和低位分别是ah和al
      eax的低位叫ax,那eax的高位部分叫啥名字
    就不能像mov ax, [BeautiyGirl],这样把一个东西直接的放到高位部分去么?
      如:mov "eax的高位部分", [BeautiryGil]

      谢谢各位朋友以及提出不同意见、观点、看法的朋友!

论坛徽章:
0
6 [报告]
发表于 2007-10-23 10:32 |只看该作者
看来CU上好多朋友还是不喜欢这样的方式。罢了,都怪俺年少冲动

论坛徽章:
0
7 [报告]
发表于 2007-10-23 16:11 |只看该作者
现在的汇编书几乎全是基于masm的,郁闷
现在越搞越迷糊了
nasm中,请教 以下四中方式有啥区别,哪些是不合法的:
ABC dw 12h
1.mov ax, ABC
2.mov ax, [ABC]
3.lea ax, ABC
4.lea ax, [ABC]

论坛徽章:
0
8 [报告]
发表于 2007-10-23 16:12 |只看该作者
1 你直接mov eax,BEAUTIY_GIRL 就可以了

2 shl eax, 4貌似应该是shl eax, 16

eax高16位是不能单独使用的
这和Intel机器码的编码规则有关系
简单来说,就是“不存在可以指定eax高16位的机器码”
intel的机器码分为 前缀+操作码+操作数+其它 几个部分
操作数就是我们说的ah,ax,eax之类。
在16位模式下,操作数只能用8位和16位,如ah,ax
在32位模式下,操作数只能用8位和32位,如ah,eax
注意了---在32位模式下,我们是不能用16位操作数的。而且,从机器码的编码来看,16位模式下的ax和32位模式下的eax是完全一样的。
也就是说,同一段机器码,在16位模式下会操作ax,换到32位模式下就是操作eax。它们的机器码是一样的。区别仅在于“当前执行模式是16位还是32位”
如果在32位模式下要使用16位操作数,则需要强行转换到16位模式。例如使用机器码前缀66H

论坛徽章:
0
9 [报告]
发表于 2007-10-23 16:20 |只看该作者
另有问题如下,还是nasm中
BootSector  times 512 db 00h
DPT_Offset   equ   446              ;启动扇区中的硬盘分区表的偏移
我向把DPT_Offset偏移开始的一个字的内容放到ax中去,代码如下:
lea bx, [BootSector]
mov ax, [bx+DPT_Offset]
这样有没有什么错误?
一开始,我写成下面这样,但编译器会报错,为什么?
mov ax, [BootSector+DPT_Offset]

谢谢各位朋友!包括二楼骂我的朋友,让我认识到有些事可以想,但不可以说出来!
技术要严谨,不能浮躁!
关于beautiyGirl,下班回家后,想想还是可以,和工作掺合在一起,确实有些不妥!

论坛徽章:
0
10 [报告]
发表于 2007-10-23 16:44 |只看该作者
lz真是强人……
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP