- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
[]汇编语言4-3
子程序设计 课前思考 子程序调用和返回时需要保护与恢复哪些寄存器? 子程序的参数传送有几种方法? 如何采用增强功能的过程定义伪操作编制子程序? 子程序嵌套与递归的区别? 学习目标 了解子程序的构成 学会运用多种方法在调用程序与子程序之间传递参数。 掌握递归子程序的编程技巧。 学习指南和难重点 【学习指南】 熟悉堆栈的运行过程对学习这一章至关重要。 【难重点】 子程序的调用和返回。保护与恢复寄存器。子程序的参数传送。嵌套与递归子程序。DOS系统功能调用。 子程序的设计方法 过程定义伪操作 过程定义伪操作(续) 过程定义伪操作(续) 过程定义伪操作(续) 子程序的调用和返回 保存与恢复寄存器 子程序的参数传送 例1 主程序--用寄存器传参数 例1 子程序--用寄存器传参数 子程序的参数传送(续) 例2 通过存储单元传递参数 例2 通过存储单元传递参数 子程序的参数传送(续) 例3 主程序 子程序的参数传送(续) 子程序的嵌套与递归调用 例4 嵌套子程序-1/2 例4 嵌套子程序-2/2 例5 子程序递归(求阶乘)-1/2 例5 子程序递归(求阶乘)-2/2 子程序举例 ; 定义子程序hexibin(十六进制转换成二进制,结果在bx中)hexibin proc near mov bx,0newchar: mov ah,key_in int doscall ; 键盘输入单个字符 sub al,30h jl exit cmp al,10d jl add_to ; 0~9之间转add_to ; 判断是否a~f之间(‘a’的ASCII码为61h) sub al,27h cmp al,0ah jl exit cmp al,10h jge exit (待续) (续) ; 0~9或a~fadd_to: mov cl,4 shl bx,cl ; (bx)*16 mov ah,0 add bx,ax jmp newchar exit: ret hexibin endp ; 定义子程序binidec(二进制转换成十进制) binidec proc near mov cx,10000d call dec_div ; bx被10000除 mov cx,1000d call dec_div ; bx被1000除 mov cx,100d call dec_div ; bx被100除 mov cx,10d call dec_div ; bx被10除 mov cx,1d call dec_div ; bx被1除 ret ; 定义子程序dec_div(十进制除) dec_div proc near mov ax,bx mov dx,0 ; 被除数在dx:ax中 div cx mov bx,dx ; 余数送bx mov dl,al ; 商送dl add dl,30h mov ah,display int doscall ; 显示单个字符 ret dec_div endpbinidec endp ; 定义子程序crlf crlf proc near mov dl,0ah mov ah,display int doscall mov dl,0dh mov ah,display int doscall ret crlf endp hexidec ends end start 例7 本例为一个简单的信息检索系统。在数据区里,有10个不同的信息,编号为0~9,每个信息包括30个字符。现在要求编制一个程序:从键盘接收0~9之间的一个编号,然后在屏幕上显示出相应编号的信息内容。 datarea segment thirty db 30 ; 信息表 msg0 db ‘I like my IBM-PC---------------------------------------’ msg1 db ‘8088 programming is fun--------------------------------’ msg2 db ‘Time to buy mor
您可能关注的文档
- []年产8000万人份快速检测试剂可行性研究报告.pdf
- []广西壮族自治区水利水电工程质量检测标准5检测记录表现场检测类236.doc
- []建筑力学22-位移法三力矩分配法.ppt
- []建筑施工组织设计范本.doc
- []平顶山华悦世家组织设计新6.doc
- []建设生态文明-传播环境文化世界环保日启动仪式2.ppt
- []微生物与人类.ppt
- []微生物与制药3.ppt
- []微观经济.ppt
- []微积分A四总复习.ppt
- 2025年英国特许证券与投资协会会员(CISI)考试题库(附答案和详细解析)(0927).docx
- 宋元明清戏曲艺术发展.docx
- 伤残鉴定时机及程序.docx
- 先秦墨家非攻思想内涵.docx
- 金融体系的均衡发展.docx
- 2025年特许公认会计师(ACCA)考试题库(附答案和详细解析)(1001).docx
- 2025年国际注册信托与财富管理师(CTEP)考试题库(附答案和详细解析)(0924).docx
- 2025年注册翻译专业资格(CATTI)考试题库(附答案和详细解析)(0929).docx
- 2025年数据资产管理员考试题库(附答案和详细解析)(1004).docx
- 2025年心理咨询师考试题库(附答案和详细解析)(0929).docx
有哪些信誉好的足球投注网站
文档评论(0)