完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
求教汇编高手,汇编中变量的定义,以前都是用equ直接分配地址给变量,看网上说这样不好,试了一下用 db,dw 定义,
可为什么不能通过,data segment就有报错,编译软件使用的是keil uv2,是编译软件的问题吗? data segment buffer1 db 23 dup(?) buffeer db 0ah,0dh,'$' buffer2 db 30 dup(?) buffer3 db 8 dup('0') count db 5 handle dw ? del db 8 dup('0') x db ? data ends |
|
相关推荐
4个回答
|
|
EQU 不是地址分配,是等价定义语句,定义的是啥等价于啥;
只有 DW DB DD 这些语句才是带地址分配的语句,本身的意义只是给指定类型和长度的数据保留地址空间; 实际分配地址是在链接时完成的; data segment 只能定义数据,不能定义常数,也就是说你只能用问号保留地址空间,不能指定其内容; 要定义有确定内容的数据,应该在 code segment 内定义 |
|
|
|
谢谢解答,但还是不明白,上面的程序段编译器报的是语法错误,DATA SEGMENT语法存在问题吗?可从网上下的实例都是这样写的。而buffer1 db 1 也是报语法错误,如果改成buffer1: db 1就可以通过,怎么跟网上的实例不一样呢? |
|
|
|
你说的这个问题是由于编译器不同造成的,不同软件商提供的编译器细节上有区别很正常; 甚至同一厂家为了和其他厂家的兼容性,会在新版本中修改旧版中的既定细节,引起代码重用出错的问题。 |
|
|
|
了解了,谢谢解答! |
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
《DNESP32S3使用指南-IDF版_V1.6》第二章 常用的C语言知识点
377 浏览 0 评论
【RA-Eco-RA2E1-48PIN-V1.0开发板试用】(第三篇)ADC采集+PWM输出
536 浏览 0 评论
《DNK210使用指南 -CanMV版 V1.0》第四十五章 人脸识别实验
540 浏览 0 评论
950 浏览 0 评论
如何用OpenCV的相机捕捉视频进行人脸检测--基于米尔NXP i.MX93开发板
1403 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
11762 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-22 09:44 , Processed in 0.489718 second(s), Total 46, Slave 39 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号