| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 653 人关注过本帖
标题:关于宏的问题
只看楼主 加入收藏
Xerox
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2007-4-30
收藏
 问题点数:0 回复次数:8 
关于宏的问题
各位好:
问题是这样的:我定义了一个如下的宏:
macro_name macro
....
endm
可是不知为什么在编译时总提示:End of file,no End directive
即使宏体里我什么也没有也还是有这样的提示,晕。。。不知该如何解决。。。
希望各位指点。。。谢谢!
搜索更多相关主题的帖子: macro name End directive 定义 
2007-04-30 18:00
菜鸟上路
Rank: 4
等 级:贵宾
威 望:14
帖 子:1120
专家分:0
注 册:2006-3-21
收藏
得分:0 
在段外定义宏

2007-04-30 18:05
Xerox
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2007-4-30
收藏
得分:0 
我想是我没将问题说清楚:
我定义了一个宏库,用include包含进代码文件里的方式。
PS:环境是masm 5.0
请问版主,及各位同仁,该如何解决这问题?
谢谢!
2007-04-30 19:15
菜鸟上路
Rank: 4
等 级:贵宾
威 望:14
帖 子:1120
专家分:0
注 册:2006-3-21
收藏
得分:0 

没碰过这种问题
INCLUDE只是简单的把另一个文件的内容加进来而已,应该不会出错的
不防把代码发上来,大家一起研究


2007-04-30 20:07
Xerox
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2007-4-30
收藏
得分:0 
;-----------------------------------------------------------------
;Usage: Descriptor Base,Linit,Attr
; Base: dd
; Limit: dd (Low 20 bits available)
; Attr: dw (Lower 4 bits of higher byte are always 0}
;-----------------------------------------------------------------
Descriptor macro opr1,opr2,opr3
dw opr2 & 0FFFFh ;第一双字的segment limition
dw opr1 & 0FFFFh ;第一双字的base segment
db (opr1>>16) & 0FFh ;第二双字的base segment
dw ((opr2>>8) & 0F00h)|(opr3 & 0F0FFh) ;第二双字的Attr+limition+Attr2
db (opr1>>24) & 0FFh ;base segment3
endm
说明:
这是一个段描述符,8字节,具体用来描述段的。

2007-04-30 22:10
菜鸟上路
Rank: 4
等 级:贵宾
威 望:14
帖 子:1120
专家分:0
注 册:2006-3-21
收藏
得分:0 
宏定义没错,如果直接把这段复制到程序中会报错吗

2007-04-30 22:26
Xerox
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2007-4-30
收藏
得分:0 
是的。特奇怪。本想编译后看看在保护模式下是啥样子。。。哎,晕哎,不知是哪个地方问题。。。
2007-04-30 22:27
Xerox
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2007-4-30
收藏
得分:0 
盼各位指点迷津。。。
2007-04-30 22:32
Xerox
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2007-4-30
收藏
得分:0 
这问题我知道答案了,呵呵。就是在最后加个 end 就成了。-----
;-----------------------------------------------------------------
;Usage: Descriptor Base,Linit,Attr
; Base: dd
; Limit: dd (Low 20 bits available)
; Attr: dw (Lower 4 bits of higher byte are always 0}
;-----------------------------------------------------------------
Descriptor macro opr1,opr2,opr3
dw opr2 & 0FFFFh ;第一双字的segment limition
dw opr1 & 0FFFFh ;第一双字的base segment
db (opr1>>16) & 0FFh ;第二双字的base segment
dw ((opr2>>8) & 0F00h)|(opr3 & 0F0FFh) ;第二双字的Attr+limition+Attr2
db (opr1>>24) & 0FFh ;base segment3
endm
end
2007-05-01 12:26
快速回复:关于宏的问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.040093 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved