当前位置: 首页 > news >正文

网站开发技术文档格式保定做网站设计

网站开发技术文档格式,保定做网站设计,茶陵网站建设,网站代码优化MPL 宏 Ax51汇编程序支持的宏处理语言#xff08;MPL#xff09;是一种字符串替换工具#xff0c;使您能够编写可修复的代码块#xff08;宏#xff09;并将其插入源文本中的一个或多个位置。 宏处理器查看源文件的方式与汇编程序不同。 对于汇编程序来说#xff0c;源…MPL 宏 Ax51汇编程序支持的宏处理语言MPL是一种字符串替换工具使您能够编写可修复的代码块宏并将其插入源文本中的一个或多个位置。 宏处理器查看源文件的方式与汇编程序不同。 对于汇编程序来说源文件是一系列指令、语句和MCU指令。对于宏处理器源文件是一长串经过处理的字符。宏处理器扫描源文件以搜索对已定义宏的调用。宏调用将替换为内置或用户定义的宏。 MPL 的一个有价值的功能是条件组装。在宏中使用条件汇编会导致紧凑的配置相关代码这对于良好的程序设计至关重要。此外它还生成尽可能紧凑的代码。 注意 宏处理在组装代码之前进行。它独立于程序集。宏时间不同于装配时间。因此汇编程序知道的东西如汇编语言符号、语言标签、使用 SET 和 EQU 语句定义的符号以及位置计数器对于宏处理器来说是未知的。 MPL 宏概述 在汇编程序中使用 MPL 宏相对容易。 使用MPL用于启用 MPL 宏处理器的汇编程序指令。更重要的是使某些MPL宏扩展不会被禁用诺宏命令。定义要使用的宏。您可以创建一个包含文件其中包含要在源文件之间共享的宏定义。调用或调用程序源中定义的宏函数。宏处理器扩展汇编程序组装的宏函数在宏处理时。 所有 MPL 预定义和用户定义的函数都必须以元字符开头。默认情况下元字符是百分比 ‘%’ 字符。但是元字符可能会被元炭MPL 函数。 MPL 元字符 所有 MPL 预定义和用户定义的函数都必须以元字符开头。默认情况下元字符是百分号 ‘%’。但是元字符可能会被元炭MPL 函数。 定义 MPL 宏 定义 MPL 函数创建一个宏。定义函数的语法为 %DEFINE (macro-name [parameter-list]) (macro-body)%*DEFINE (macro-name [parameter-list]) (macro-body)%是元字符用于指示宏函数*指定在文本模式下展开宏。macro-name是宏的名称。宏名称最多可以包含 31 个字符并且必须以 A-Z、a-z、_ 或 。后续字符可以是 A-Z、A-Z、_、或 0-9。parameter-list是括在分隔符内并用分隔符分隔的参数列表。macro-body是展开以替换宏名称和参数列表的文本。它可能包含对其他宏的调用。如果是这样这些宏也会展开。定义宏时在调用宏之前宏主体中包含的那些宏调用不会展开。 注意 创建宏后可以通过后续的 DEFINE 函数重新定义它。宏可以定义也可以不带正式参数列表。参数列表是一个相当自由格式的列表。指定时要小心。 不带参数的宏 没有参数或参数的宏定义如下 %*DEFINE (macro-name) (macro-body)该定义需要宏名称和在调用宏时展开的宏主体。例如以下宏定义 %*DEFINE (my_asdf) (asdf)当调用时 %my_asdf扩展到 asdf带参数的宏 具有参数或参数的宏定义如下 %*DEFINE (macro-name [parameter-list]) (macro-body)参数列表列出了传递给宏的形式参数。参数列表中的参数在宏主体中用于在调用宏时填充值。这允许您设计为许多操作生成代码的泛型宏。 参数列表中的参数由唯一标识符您选择的指定这些标识符由宏分隔符通常是括号和逗号分隔。参数列表括在括号内各个参数用逗号分隔。这只是一个约定而不是一个要求。 参数列表规范的唯一要求是宏参数的传递方式和定义宏时使用的分隔符相同。例如以下宏定义中的参数列表 %*DEFINE (BMOVE (src, dst, cnt)) (...)是srcdstcnt。若要调用此宏必须使用相同的分隔符指定参数。例如 %BMOVE (1, 2, 3)但是没有理由必须将参数括在括号内或必须用逗号分隔。例如 %*DEFINE (BMOVE src dst cnt) (...)若要调用此宏必须按如下方式指定参数 %BMOVE 1 2 3宏主体中的参数用参数名称表示前面是元字符在上面的示例中为 %src、%dst 和 %cnt。以下宏定义显示了一个更完整的示例 %*DEFINE (BMOVE (src, dst, cnt)) LOCAL lab (MOV R2,#%cntMOV R1,#%srcMOV R0,#%dst %lab: MOV A,R1MOV R0,AINC R0INC R1DJNZ R2,lab )参数可以在宏主体中以任意次数和任意顺序使用。如果参数与宏同名并在宏正文中使用则会展开该参数而不是调用宏。 如果宏与其中一个参数同名则无法在宏主体中调用该宏因为这会导致无限递归。 调用 MPL 宏 下面定义了一个名为 BMOVE 的宏该宏采用三个参数源、目标和计数。宏生成的代码将任意数量的字节从内存的一部分复制到另一部分。 %*DEFINE (BMOVE (src, dst, cnt)) LOCAL lab (MOV R2,#%cntMOV R1,#%srcMOV R0,#%dst %lab: MOV A,R1MOV R0,AINC R0INC R1DJNZ R2,lab )若要调用此宏请指定元字符后跟宏名称和参数列表如果有。实际参数必须具有平衡的文本并且可以包含对其他宏的调用。例如可以按如下方式调用上述宏 %BMOVE (array1,array2,10)宏扩展为 MOV R2,#10MOV R1,#array1MOV R0,#array2 ??LAB?0: MOV A,R1MOV R0,AINC R0INC R1DJNZ R2,??LAB?0注意 上面的示例会产生程序集错误因为源文件不包含节定义。这GEN和GENONLY指令可用于在汇编程序列表文件中包括宏定义和宏调用。 局部符号 MPL 宏可能包括作为分支目标的本地标签。固定的标签名称会导致错误如果多次调用宏。发生这种情况是因为同一标签名称在源文件中只能使用一次。此问题可以通过使用局部符号来解决。本地宏符号附加一个唯一的序列号每次调用宏时该数字都会递增。 必须在宏定义行中声明本地符号 %*DEFINE (macro-name [parameter-list]) [LOCAL local-list] (macro-body)其中本地列表是宏的本地符号的列表用逗号或空格分隔。 局部符号在宏宏体中使用时必须以元字符为前缀。例如 %*DEFINE (BMOVE (src, dst, cnt)) LOCAL lab (MOV R2,#%cntMOV R1,#%srcMOV R0,#%dst %lab: MOV A,R1MOV R0,AINC R0INC R1DJNZ R2,lab )表达式 MPL 宏处理器将平衡文本字符串解释为数值表达式当它们用于以下 MPL 函数的参数时 EVALIFREPEATSUBSTRWHILE 数值表达式的处理方式如下 表达式的文本以计算宏函数参数的普通方式展开。生成的字符串被计算为一个数值该数值被转换为表达式值表达式的最终值的字符表示形式。数值表达式中可以使用以下运算符Parentheses()HIGH,LOW* / MOD SHL SHREQ LT LE GT GE NENOTANDORXOR MPL 数值表达式的算术是使用有符号 16 位整数执行的。关系运算符的结果为 0 FALSE 或 1 TRUE。 数值常量 可以使用下表中指定的后缀和字符以十六进制以 16 为基数、十进制以 10 为基数、八进制以 8 为基数和二进制以 2 为基数指定数字 字符常量 MPL 宏处理器支持 ASCII 字符串这些字符串可能包含一个或两个用单引号 “” 括起来的字符。例如 注意 宏处理器无法访问汇编程序的符号表。因此在宏处理过程中标签以及 SET 和 EQU 符号的值是未知的。但是您可以使用设置宏函数来定义宏符号。
http://www.hkea.cn/news/14555032/

相关文章:

  • 做网站的服务商wordpress页面调取
  • 网站怎么用深圳企业vi设计公司
  • 软件下载类型网站怎么做蛋糕网站源码
  • 网站开发市场现在怎么样用来做旅游攻略的网站
  • 做兼职一般去哪个网站好六安市裕安区建设局网站
  • 网站推广朋友圈文案公司被其它人拿来做网站
  • 免费制作微信小程序的网站小城镇建设网站的观点
  • 不会被封的网站谁做公司翻译
  • 装饰装修网站大全网站建设后预期推广方式
  • wordpress中热门文章黑帽seo技术培训
  • 网站目录字典投资网站建设方案
  • 模板建站和定制网站的对比效果好的锦州网站建设
  • 吴川手机网站建设公司哪个平台可以接推广任务
  • 铝基板营销型网站建设哪个做问卷网站佣金高
  • 实现微信绑定登录网站微信推广文案
  • php和mysql做租车网站网络公关名词解释
  • 东莞微网站建设公司广州网站建设优化公司哪家好
  • 网站互联网设计图风格上海网站建设多少钱
  • 农商1号的网站建设费网站建设一定要域名吗
  • 要怎么做网站wordpress采集同步
  • 湖南做旅游网站广州网站开发十度网络最好
  • 河池建设银行招聘网站福州网站设计招聘
  • 网站平台维护软件开发公司地址
  • 买空间域名做网站创建免费论坛的10个网站
  • 做网站找哪家房产证查询系统官方网站
  • 襄阳品牌网站建设微信小程序在哪里登录
  • 做app网站需要什么如何做招聘网站的对比
  • 网站建设与管理总结心得做外汇网站代理商
  • 贵阳做网站做得好的263企业邮箱官网登录
  • 自己有网站 做app吗婺源网站建设