第3章-2 汇编语言程序设计.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
例4:软件延时,延时1ms左右。 分析:就是让计算机做一些无用的操作,来拖延时间。可以从指令手册中查到各条指令所需的时间节拍,但是一般一条指令执行的时间只有几个时钟周期,也就是几个微秒。 解题方法:延时主要取决于循环体及循环的次数,例如用PUSHF和POPF指令,其分别为10个和8个时钟节拍。LOOP BX为3.4个时钟节拍。因此循环体需要用10+8+3.4=21.4拍。 一个时钟节拍的时间是由系统的晶振频率而定的,假设系统使用的8MHz的晶振,每个时钟周期为0.125us, 因此循环次数为 换算为16进制数为176H * START: MOV CX,0176H LP1: PUSHF POPF LOOP LP1 HLT * 如果想延时1000倍,也就是延时1秒,可以采 用双循环的方式。 MOV BX,3E8H ;BX←1000 LOP2: MOV CX,176H LOP1: PUSHF POPF LOOP LOP1 DEC BX JNZ LOP2 HLT 延时1ms程序段 * 3.3.5 子程序设计 1、子程序(或过程)结构 子程序的第一个语句前必须有入口地址过程 名表示,出口是返回指令RET. 2、子程序调用 主程序中利用调用指令: CALL 直接调用: CALL 过程名 间接调用: CALL DWORD PTR [BX] * 3、子程序文件:子程序说明和子程序 子程序说明 1)功能描述 2)所用寄存器和存储单元 3)子程序的入口、出口参数 4)子程序中有调用其它子程序 5)调用实例(可无) 例:;子程序DTOB ;两位十进制数(BCD码)转换为二进制数 ;入口参数:AL中存放被转换数 ;出口参数:CL中存放转换后的二进制数 ;所用寄存器:BX * 子程序: 例:DTOB PROC PUSH BX PUSHF . . . POPF POP BX RET DTBO ENDP * 4、主程序与子程序的连接 例:CODE SEGMENT ASSUME DS:DATA,CS:CODE STRT: ┇ MOV AL,XX CALL DTOB MOV YY,CL ┇ DTOB PROC PUSH BX PUSHF ┇ POPF POP BX RET DTOB ENDP CODE ENDS END STRT * 在子程序设计中 ? 要明确地定义出这个子程序的入口参数和出口参数,使调用者能方便地使用子程序。 ? 在子程序中在合理地保存主程序和子程序都用到的寄存器和存储单元,以使主程序能正确地运行。 ? 参数传送主要有两种方式: ① 利用寄存器传送参数:适于参数较少情况。 ② 利用堆栈传送参数:适于参数较多且存在子程序嵌套 和子程序递归调用。 ③ 利用参数表传递:适于参数较多 * DELAY1S:PUSHF PUSH BX PUSH CX MOV BX,3E8H ;BX←1000 LOP2: MOV CX,176H LOP1: PUSHF POPF LOOP LOP1 DEC BX JNZ LOP2 POP CX POP BX POPF RET * 例:求n!。 设n存放在AL中, n!存放在BX中。 MAIN:MOV AL,3 CALL FACT XI: MOV BX,DX HLT ; 阶乘子程序 ;入口参数:AL中存放3 ;出口参数:DX中存放n! ;所用寄存器:CX FACT PROC CMP AL,0 JNE IIA MOV DL,1 RET IIA: PUSH AX DEC AL CALL FACT X

文档评论(0)

精品报告 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档