关于db,dw,dd的问题????????????????

grant999 2009-01-12 01:36:49
db '123456' ;任意个数字没有问题
dw '12345' ;超过两个数就报constant value too large
dd '123' ;超过两个数就报constant value too large

这是为什么啊
...全文
697 20 打赏 收藏 转发到动态 举报
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
「已注销」 2009-02-03
  • 打赏
  • 举报
回复
路过
grant999 2009-01-13
  • 打赏
  • 举报
回复
BAYNPU 兄弟你看看:

BAYNPU 2009-01-13
  • 打赏
  • 举报
回复
然后输入b.lst就能输出列表文件了。
BAYNPU 2009-01-13
  • 打赏
  • 举报
回复
ml /Fl /Sg b.asm
invaliddescriptor 2009-01-13
  • 打赏
  • 举报
回复
mark
success000 2009-01-13
  • 打赏
  • 举报
回复
mark
grant999 2009-01-13
  • 打赏
  • 举报
回复
楼上兄弟怎么生成列表文件啊
BAYNPU 2009-01-13
  • 打赏
  • 举报
回复
应该是操作系统的问题吧.
grant999 2009-01-13
  • 打赏
  • 举报
回复
换了台机器试了试,结果正常了,看来是debug的问题,操作系统的问题吧?
BAYNPU 2009-01-13
  • 打赏
  • 举报
回复
列表文件是对的。
可能是你的DEBUG.EXE有问题呀
BAYNPU 2009-01-12
  • 打赏
  • 举报
回复
我也是用masm6.15编译器,请楼主把它生成列表文件查看是否有这二两个变量的地址如下:
0000 DATA SEGMENT
0000 31323334 dd '1234'
0004 00000061 dd 'a'
0008 DATA ENDS
0B52:0000 34 33 32 31 61 00 00 00-00 00 00 00 00 00 00 00
如果没有可能是编译器的问题
cnzdgs 2009-01-12
  • 打赏
  • 举报
回复
我用6.11编译没有任何问题,也不会丢失数据。
xtdumpling 2009-01-12
  • 打赏
  • 举报
回复
不知道LZ的意思是定义字符串还是数值
请用以下定义
字符串: db '1234'
数值: dd 1234
或者,16进制 dd 1234h
grant999 2009-01-12
  • 打赏
  • 举报
回复
源代码是:data segment
dd '1234'
dd 'a'
data ends
codesg segment
start:
mov ax,data
codesg ends
end start
我用masm6.15编译通过了,通过debug看了内存分部情况,怎么只有34,而没有12了,这是为什么呢


grant999 2009-01-12
  • 打赏
  • 举报
回复
我用的是6.11出错了
killbug2004 2009-01-12
  • 打赏
  • 举报
回复
.DATA
dd '1234'
dw '12'
db '123456789'
上面这种定义在masm6.15下可以通过,5.0不行,没有masm6.0
grant999 2009-01-12
  • 打赏
  • 举报
回复
楼上的兄弟dd '1234' 也出现constant value too large
killbug2004 2009-01-12
  • 打赏
  • 举报
回复
db '123456' ;这样是定义一个字符串,每个字符一个byte
等同于 db '1','2','3','4','5','6'
db可以这样定义类似db数组,而dw和dd则不可以

dw '12' ;因为一个dw是两个byte,刚好每个byte保存一个字符的asicc码,等同dw 3132
dd '1234';一个dd为四个byte,每个byte保存一个字符的asicc码,等同dd 31323334
grant999 2009-01-12
  • 打赏
  • 举报
回复
我用的是masm6,确实是报错
cnzdgs 2009-01-12
  • 打赏
  • 举报
回复
定义字符串用DB;
如果用一个WORD来储存两个字符可以用DW,字符要倒着写;
DD应该是超过4个才抱错吧?

21,497

社区成员

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

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