+ -
当前位置:首页 → 问答吧 → 汇编中的转义是怎样的啊

汇编中的转义是怎样的啊

时间:2010-11-23

来源:互联网

在各种高级语言中 都有转义字符吧 如在SQL中 %就是一个。在汇编中又是什么呢?如
meggen macro lab,num,xyz
  lab&num db 'hello mr.&xyz'
  endm
若在字符串中就有& 该如何解决呢 谢谢哦

作者: zhaowenchaofang   发布时间: 2010-11-23

除了定义常量没用过几次宏,基本都是用函数。宏这个玩意用起来太痛苦了。

作者: mhbbcrcpj1   发布时间: 2010-11-23

如果是字符串的话可以这样:
db 'hello mr.',026H,'xyz'

作者: MHBBCRCPJ   发布时间: 2010-11-23

引用 2 楼 mhbbcrcpj 的回复:
如果是字符串的话可以这样:
db 'hello mr.',026H,'xyz'

我保证不了肯定好使,你试一下吧。

作者: MHBBCRCPJ   发布时间: 2010-11-23

引用 2 楼 mhbbcrcpj 的回复:
如果是字符串的话可以这样:
db 'hello mr.',026H,'xyz'

026H是在ASCII码表里查出来的。

作者: MHBBCRCPJ   发布时间: 2010-11-23

顶顶顶

作者: fangyichuan2010   发布时间: 2010-11-23

没事吧?
Microsoft Windows XP [Version 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.

d:\MASM>debug
-a
1472:0100 db 'tom & jim is good friend!$'
1472:011A ds:
1472:011B mov dx,100
1472:011E mov ah,9
1472:0120 int 21
1472:0122
-g122
tom & jim is good friend!
AX=0924 BX=0000 CX=0000 DX=0100 SP=AC80 BP=8C97 SI=0002 DI=0002
DS=1472 ES=1472 SS=1472 CS=1472 IP=0122 NV UP EI PL ZR NA PE NC
1472:0122 06 PUSH ES
-a
1472:0122 db '12%10=2$'
1472:012A ds:
1472:012B mov dx,122
1472:012E mov ah,9
1472:0130 int 21
1472:0132
-g132
12%10=2
AX=0924 BX=0000 CX=0000 DX=0122 SP=AC80 BP=8C97 SI=0002 DI=0002
DS=1472 ES=1472 SS=1472 CS=1472 IP=0132 NV UP EI NG NZ AC PE CY
1472:0132 3A06C796 CMP AL,[96C7] DS:96C7=00
-q

d:\MASM>

作者: masmaster   发布时间: 2010-11-23

当然, 变量或者标号应遵循编程守则。不要用一些稀奇古怪的字符。

作者: masmaster   发布时间: 2010-11-23

meggen macro lab,num,xyz
  lab&num db 'hello mr.&xyz'
  endm
'hello mr.&xyz'为字符串常量,'...xyz'中的xyz是不会转换的

作者: nanlingcg   发布时间: 2010-11-23