汇编语言的程序设计要求.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* REPEAT 9 m=m+1 n=0 REPEAT 9 n=n+1 db n*m ENDM ENDM 2、条件重复汇编伪指令WHILE 格式:WHILE 数值表达式 语句序列 ENDM 该伪指令是汇编程序对给定的语句序列重复汇编,直到 数值表达式的计算结果为假(零)。 * 3、给定参数的重复汇编FOR/IRP 格式: FOR 形参, 实参[,实参]… 语句序列 ENDM FOR伪指令使汇编程序对给定的语句序列连续重复汇编 若干次,每次重复汇编时均依次从实参表中取出一个实 参替换形参,直到所有实参均已用过时停止汇编。汇编 次数有实参个数决定。 例3:FOR I , 1,2,3,4,5 db 10*I ENDM * 展开后的语句序列为: db 10*1 db 10*2 db 10*3 db 10*4 db 10*5 4、给定字符的重复汇编FORC/IRPC 格式:FORC 形参,字符串 语句序列 ENDM 该伪指令与FOR伪指令类似,不同之处在于前者实参 是字符串中的单个字符。 * 三、汇编语言与高级语言混合编程 1、汇编语言与高级语言的比较 特 征 汇编语言 高级语言 目标程序运行时间 短 长 程序运行时占用的存储空间 小 大 直接访问硬件的能力 强 弱 程序可读性和可维护性 差 强 程序开发的复杂程序 高 低 程序的可移植性 差 强 对硬件环境和软件的兼容性 差 强 * 2、嵌入式汇编 许多高级语言中包含了嵌入式汇编程序,允许在高级 语言源程序内插入用汇编写的个别语句序列。 ⑴ Mcrosoft C 6.0 允许在C语言程序中使用_asm修饰符嵌 入汇编语言语句,其格式为: ① 单行汇编格式: _asm 汇编语言指令 这里, _asm 指明本行内的后续部分为嵌入式汇编语言 语句。 ② 多行汇编格式: _asm ﹛ 汇编语言语句序列 ﹜ 这里, _asm 指明其后大括号内的每一行都是嵌入式汇 编语言语句。 * ⑵ Borland公司的Turbo C提供了直接插入汇编指令,其 格式为: asm 汇编指令;或换行符 例4: if ( i>0) _asm mov al, 4 else i=7; 四、库的使用 库文件可分为两种,一种是文本形式的汇编语言源 程序库,另一种是二进制形式的目标文件库。 对库文件的引用使用以下伪指令: INCLUDE 库文件名;引用汇编语言源程序库 INCLUDELIB 库文件名;引用二进制形式的目标文件库 * 五、汇编语言与C语言的接口 在汇编语言与高级语言混合编程时,必须遵从一系列的接口约定。 1、符号的定义和说明 ⑴ 字母的大小写:对字母的大小写C语言敏感,而汇编语言不敏感。 许多汇编程序的版本允许使用汇编开关通知汇编程序以大小写敏感 的方式进行汇编。 ⑵ 下划线 C语言产生的目标文件自动为每个标设符加入下划线作为前缀,所 以汇编程序中引用C语言的符号时,应在符号名前增加一个下划线; 而在汇编中定义需要由C语言引用的符号时,也要在符号名前加一个 下划线。 例5:在C语言中定义如下变量 int number 则在汇编程序中需要用带有下划线的该变量: mov [ _number],ax * 2、全局符号的定义和说明 ⑴ C语言中符号的定义和说明:按C语言版本的规定。 ⑵ 汇编语言中符号的定义和说明 如果C语言中使用汇编中的变量或函数,则在汇编中使 用PUBLIC或EXTERNDEF伪指令说明变量名或函数名具 有公共属性。 反之,在汇编中使用C中定义的变量或函数,应

文档评论(0)

smartxiaohuli + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档