灯火互联
管理员
管理员
  • 注册日期2011-07-27
  • 发帖数41778
  • QQ
  • 火币41290枚
  • 粉丝1086
  • 关注100
  • 终身成就奖
  • 最爱沙发
  • 忠实会员
  • 灌水天才奖
  • 贴图大师奖
  • 原创先锋奖
  • 特殊贡献奖
  • 宣传大使奖
  • 优秀斑竹奖
  • 社区明星
阅读:2944回复:0

字符转义运算符

楼主#
更多 发布于:2012-09-10 18:55

在宏时,如果实参中含有特殊字符,而又要该特殊字符当作普通字符来出来,那么,就必须在该特殊字符前加上字符转义运算符“!”。

下面不使用和使用字符转义运算符的宏语句及其宏扩展的结果:

    DEFMSG 90):>

  1     DB ’Input one number(90):’, 0DH, 0AH, ’$’

       ;第一个“>”与字符“<”相比配,而不会把它当作“大于号”字符来处理



    DEFMSG 90):>

  1     DB ’Input one number(>90):’, 0DH, 0AH, ’$’

  ;由于在第一个“>”字符前面有字符转义运算符“!”,所以,汇编程序会把第一个“>”当作“大于号”字符来处理,而把最后面的字符“>”当作是与前面“<”相比配的结束符。

9.2.4 计算表达式运算符

在宏时,使用计算表达式运算符“%”表示把其后面表达式的结果当作实参进行替换,而不是该表达式的整个式子。

下面使用和不使用计算表达式运算符的宏语句及其宏扩展的结果:

    DEFMSG %200+23-100

  1    DB ’123’, 0DH, 0AH, ’$’  ;先计算出表达式200+23-100的值,然后再把该值作为参数进行替换



    DEFMSG 200+23-100

  1    DB ’200+23-100’, 0DH, 0AH, ’$’  ;把整个表达式200+23-100当作一个字符串来进行参数替换

喜欢0 评分0
游客

返回顶部