RSS

汇编宏指令的格式

来源: 作者: 时间:2007-06-29 Tag: 点击:

“&”在宏指令中作为连接操作符。“&”通常出现在带有形参的字符串中。为了区分字符串中哪些字符是形参,需要在形参与固定字符间加入“&”例如:

CON MACRO X1,X2,SI,L1

MOV R2,#X1

MOV R2,#X1

ADD A,#X1+5-X2

DB 'STRING&SI&'

JNZ LAB&L1

LAB&L1:

XRL A,R3

ENDM

CLR A

CON 23H,65H,SPECIAL,57

END

列表文件如下:

The Cybernetic Micro Systems 8051 Family Assembler, Version 3.03 Page 1

08-27-96

CON MACRO X1,X2,SI,L1

MOV R2,#X1

MOV R2,#X1

ADD A,#X1+5-X2

DB 'STRING&SI&'

JNZ LAB&L1

LAB&L1:

XRL A,R3

ENDM

0000 E4 CLR A

0001 CON 23H,65H,SPECIAL,57

+0001 7A23 MOV R2,#23H

+0003 7A23 MOV R2,#23H

+0005 24C3 ADD A,#23H+5-65H

+0007 53 54 52 DB 'STRINGSPECIAL'

+000A 49 4E 47 53 50 45 43 49 41 4C

+0014 7000 JNZ LAB57

+ LAB57:

+0016 6B XRL A,R3

0000 END

The Cybernetic Micro Systems 8051 Family Assembler, Version 3.03 Page 2

08-27-96

;%T Symbol Name Type Value

CON . . . . . . . . . . . . . . M 0000

LAB57 . . . . . . . . . . . . . L 0016

;%Z

00 Errors (0000)

在算术表达式中所有的加数否需要连接操作符,这是因为算术操作符本身具有符号与数之间的自然分隔符作用。立即操作数(由#符号引导)可以用一个空格把它与一个形参分开,在这种情况下也不需要字符“&”。

最后,所有的宏指令所支持的功能可以合并起来使用,从而组成一个相当复杂的宏指令,例如宏指令可以包括条件结构,或者宏指令可以是一个条件结构的一部分,但是宏指令不可以嵌套,条件结构不可以超过宏指令的边界。即宏指令必须完全在一个条件结构中,或者条件结构必须在一条宏指令中。可以通过形参来决定条件表达式的值。当宏指令衩调用时,传递的实际参数值将决定每一条指令的生成代码。如:

CON MACRO C1,C2,P1,P2,P3

MOV A,P1

IF C1

INC R3

MOV R4,A

ENDIF

IF C2

MOV R5,P2

ADDC A,P3

ELSE

MOV R1,P2

XRL A,R3

ENDIF

MOV @R1,A

ENDM

CLR A

MOV R3,#2AH

CON 0,0,#23H,#65H,R6

END

列表文件如下:

The Cybernetic Micro Systems 8051 Family Assembler, Version 3.03 Page 1

08-27-96

CON MACRO C1,C2,P1,P2,P3

MOV A,P1

IF C1

INC R3

MOV R4,A

ENDIF

IF C2

MOV R5,P2

ADDC A,P3

ELSE

MOV R1,P2

XRL A,R3

ENDIF

MOV @R1,A

ENDM

0000 E4 CLR A

0001 7B2A MOV R3,#2AH

0003 CON 0,0,#23H,#65H,R6

+0003 7423 MOV A,#23H

+ IF 0

+ INC R3

+ MOV R4,A

+ ENDIF

+ IF 0

+ MOV R5,#65H

+ ADDC A,R6

+ ELSE

+0005 7965 MOV R1,#65H

+0007 6B XRL A,R3

+ ENDIF

+0008 F7 MOV @R1,A

0000 END

The Cybernetic Micro Systems 8051 Family Assembler, Version 3.03 Page 2

08-27-96

;%T Symbol Name Type Value

CON . . . . . . . . . . . . . . M 0000

;%Z

00 Errors (0000)
1.部分资源来自网络,经ET电子归类整理,旨在服务电子爱好者并无商业目的,不保证正确性与完整性.
2.如果您觉得本站资源对您有用,请告知您的好友,用搜索引擎搜"ET电子"即可.


最新评论共有 0 位网友发表了评论
发表评论
评论内容:不能超过250字,需审核,请自觉遵守互联网相关政策法规。
用户名: 密码:
匿名?
注册