NBeeeeee 发表于 2015-10-22 23:37:22

这算是MASM的bug?

这串代码绝对没问题。可以编译连接


问题来了
如果把
d segment
db。。。。。。。
d ends
换成
c segment
db。。。。。
c ends
他就无法编译了


这算什么梗? c有特殊意义不能做标号?还是因为masm6.15的原因?

康小泡 发表于 2015-10-22 23:37:23

不是bug,而是c在汇编里面是一个保留字。所以你这样会被报错。
你看,同样是字符,只有c被高亮了,就知道是保留了

ryxcaixia 发表于 2015-10-23 09:54:13

编译器masm5.0 表示顺利编译通过
顺便亲~ 你是想把a段和b段对应位置的元素相加 累加到c(d)段里吧
循环里的偏移量16, 32应该换成8, 16
使用db定义的数据(每一个数据一个字节) 而不是用dw定义的数据
如果用dw定义的数据 偏移量16, 32是对的 每个数据两个字节 8个数据跨越16个字节

2418267670 发表于 2015-10-23 10:01:38

用单个字符做段名有时就是会莫名的通不过。。。

NBeeeeee 发表于 2015-10-24 19:37:30

康小泡 发表于 2015-10-23 12:11
不是bug,而是c在汇编里面是一个保留字。所以你这样会被报错。
你看,同样是字符,只有c被高亮了,就知道 ...

受教了。。还是观察不仔细{:9_240:}

NBeeeeee 发表于 2015-10-24 19:38:20

2418267670 发表于 2015-10-23 10:01
用单个字符做段名有时就是会莫名的通不过。。。

{:9_217:}人品问题

NBeeeeee 发表于 2015-10-24 19:42:36

ryxcaixia 发表于 2015-10-23 09:54
编译器masm5.0 表示顺利编译通过
顺便亲~ 你是想把a段和b段对应位置的元素相加 累加到c(d)段里吧
循环里 ...

不是每个段最少都是占用16个字节么?{:5_98:}

康小泡 发表于 2015-10-25 15:13:12

NBeeeeee 发表于 2015-10-24 19:42
不是每个段最少都是占用16个字节么?

那是程序加载后的段的大小。在内存中了的时候。

NBeeeeee 发表于 2015-10-25 19:03:36

康小泡 发表于 2015-10-25 15:13
那是程序加载后的段的大小。在内存中了的时候。

那就我这个程序而言,偏移16 和32 是对的吧!我刚才在debug试了一下8和16 发现执行结果别不对

康小泡 发表于 2015-10-25 19:24:42

NBeeeeee 发表于 2015-10-25 19:03
那就我这个程序而言,偏移16 和32 是对的吧!我刚才在debug试了一下8和16 发现执行结果别不对

恩恩

ufo9876 发表于 2016-1-7 19:53:18

学习了
页: [1]
查看完整版本: 这算是MASM的bug?