I调用汇编语言子程序.pdfVIP

  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文档。上传文档
查看更多
I调用汇编语言子程序

IBM-PCBASIC调用汇编语言子程序 微机研究所 姚萝姑 一 、 引 解释BASIC语言简单,易学,使用,修改方便,是一种通用的空互式语言,尤其在CCDOS 支持下,对中国人来说,其交互式功能更为直观明了,因而 目前已得到了相当范围的普及 。 可是解释语言执行速度很慢,往往不能满足速度要求,尤其不髓满足许多实时要求。如果用 BASIC调用汇编,就可弥补此不足。 一 般来说:主程序,主菜单用BASIC语言,需要操作员键盘干予的交互信 息部 分,用 BASIC语言, 由于人的键入 速度,人的反应速度不能与计算机速度匹比,因此这部分程序用 解释BASIC语言编写,易学,易读,而且用户可根据不同实用情况作简单修改,即可满足各 自的特定要求,具有一定 的灵活性,但是一些有速度要求的功能模块,如实时控制,数据采 集,数据分析的算法等等,用汇编语言编写,不但可 以提高运行速度,满足实时要求,而且 程序的数学模型,经过专业人员研究,专家鉴定,是不允许一般用户随意修改的,这部分程 序用汇编语言编写,可保证程序 的稳定性,科学性 。 本文 旨在介绍如何用BASIC程序调用汇编子程序 。适用于IBM-PC机,或与此兼容的个 人计算机。 二、汇编子程序的装入和调用 汇编子程 利有二种装l入方法。装入后,可用USR函数调用或者用caI1语言旬调用。现 分 述 如下: 1. 用POKE醋簟装^ (])用DATA语句存放汇编子程序的机器码。 (2)用DEFSEO语句定义汇编子程序机器码的装入段地址。 (3)用READ语句从DATA语句中读汇编子程序的机器 码。 (4)用POKE函数,将汇编子程序的机器码进入指定的内存单元中。 (5)用call语句调用,或用UsR函数调用 。 例1.调用汇编子程序完成A+B存放到C的算术运算,该子程序的机器码装入 1700htO到 1700h,15h内存单元中。 lO DEFINT A—Z 2O DEF SEG h1700 30 FOR I=0TO 2l 50 READ I 60 POKE I,J 70 NEXT I 一 35— 8日 SUBRT :0 碡鼎c 0 . 100 CALL SUBRTA ,B,C) 1i0 PRINT A ‘ + ‘BI ; |C ]20 END 130 DATA &h55,hsB, &hEC,&hsB 140 DATA 6,h0A。hsB。hoe,&{aB,&g76,hos i50 DATA h03,he4。hsB,hzE,hO6 160 DATA &h89, &h05,hSD ,hCA ,&hOG,ho3 这段子程序机器码的汇编源程序如下: PUsH BP MOV BP,SP MOV SI,CBP+OA] MOV AX, (sJ】 MOV 5I,CBP+08) t ADD AX,CSI3 M0V DI,(BP+063 MOV DI,AX POP BP RETF6 由_『于程,予髂机器 5用人工方法取得 比较麻烦,所 以这种装入方法,比较适用于简短的 汇编子程序 。 2. 用8LOAD语 句装入 (1)用DEFSEG语句定义汇编子程序机器码的装入段地址。 (2)用BLOAD语句装入原先存在磁盘内的 编子程序机器码文件。 (3)用call语 句弱用 。 例2.有某段汇编子程序 的机器码,可执行文竹 ,以 “SUBPRO.BAS 为文件名存放在磁 盘内,要求装入以2000h:0为起点的内存单元中,该子程序的入口地址为 聃哇∞h。BASIC 主程序可按下列执行} lo DEF SEG ;h2000 20 BLOAD SUBPRO.BAS-,0 s0 I:h 100 0

文档评论(0)

xxj1658888 + 关注
实名认证
文档贡献者

教师资格证持证人

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

领域认证该用户于2024年04月12日上传了教师资格证

1亿VIP精品文档

相关文档