电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本
换一换
首页 金锄头文库 > 资源分类 > PPT文档下载
分享到微信 分享到微博 分享到QQ空间

微机课件第6章1章节

  • 资源ID:90924348       资源大小:700.50KB        全文页数:99页
  • 资源格式: PPT        下载积分:10金贝
快捷下载 游客一键下载
账号登录下载
微信登录下载
三方登录下载: 微信开放平台登录   支付宝登录   QQ登录  
二维码
微信扫一扫登录
下载资源需要10金贝
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
如填写123,账号就是123,密码也是123。
支付方式: 支付宝    微信支付   
验证码:   换一换

 
账号:
密码:
验证码:   换一换
  忘记密码?
    
1、金锄头文库是“C2C”交易模式,即卖家上传的文档直接由买家下载,本站只是中间服务平台,本站所有文档下载所得的收益全部归上传人(卖家)所有,作为网络服务商,若您的权利被侵害请及时联系右侧客服;
2、如你看到网页展示的文档有jinchutou.com水印,是因预览和防盗链等技术需要对部份页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有jinchutou.com水印标识,下载后原文更清晰;
3、所有的PPT和DOC文档都被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;下载前须认真查看,确认无误后再购买;
4、文档大部份都是可以预览的,金锄头文库作为内容存储提供商,无法对各卖家所售文档的真实性、完整性、准确性以及专业性等问题提供审核和保证,请慎重购买;
5、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据;
6、如果您还有什么不清楚的或需要我们协助,可以点击右侧栏的客服。
下载须知 | 常见问题汇总

微机课件第6章1章节

6.1 汇编源程序的编程格式 6.2 系统功能调用 6.3 程序设计举例 6.4 Windows 汇编语言编程初步,第6章 汇编语言程序设计,汇编源程序有两种编程格式: EXE文件的编程格式:只能生成扩展名为EXE 的可执行文件; COM文件的编程格式:可以生成扩展名为COM 的可执行文件。 COM文件的执行级别高于EXE文件,同名的BAT(批处理)文件执行级别最低。,6.1 源程序的编程格式,EXE文件的编程格式,此格式允许源程序使用多个逻辑段(包括数据段、堆栈段、代码段及其它逻辑段); 在实模式下,每个逻辑段的目标块不超过64K; 适合编写大型程序。,.486 DATA SEGMENT USE16 ;定义数据段 MESG DB I AM A STUDENT!,$ DATA ENDS CODE SEGMENT USE16 ;定义代码段 ASSUME CS:CODE,DS:DATA BEG: MOV AX,DATA MOV DS,AX LAST: MOV AH,9 MOV DX,OFFSET MESG INT 21H MOV AH,4CH INT 21H ;返回DOS CODE ENDS END BEG,EXE文件的内存映象,磁盘上的EXE文件包括两部分: 装入模块和重定位信息 DOS装载EXE文件时,根据重定位信息完成装入模块的重定位。同时,重定位信息被丢弃。 DOS在同一内存块的用户程序上方(低地址处)偏移地址为00HFFH的单元处自动生成一个 256字节的数据块,称为程序段前缀(PSP)。 DOS自动使DS=ES=存放PSP的段基址,使CS:IP指向用户程序的启动地址,INT 20H,数据段,代码段,堆栈段,DS,ES,CS:IP,SS,SP,注:DOS把EXE文件调入内存后,自动给SS、SP赋初值, 程序中给SS、SP赋初值的指令可省略。,PSP(256字节),用户程序,COM文件的编程格式,汇编语言要求此格式必须符合以下规定: · 源程序只允许使用一个逻辑段,即代码段,不允许设置堆栈段; · 程序使用的数据,可以集中设置在代码段的开始或未尾; · 在代码段偏移地址(有效地址)为100H的单元,必须是程序的启动指令; · 代码段目标块小于64K。 COM文件的编程格式适合于编写中小型程序。,.486 CODE SEGMENT USE16 ASSUME CS:CODE ORG 100H BEG: JMP START MESG DB HELLO,0DH,0AH,$ ;用户程序数据区 START: MOV CX,10 ;设置循环次数 LAST: MOV AH,9 MOV DX,OFFSET MESG INT 21H ;显示一行HELLO LOOP LAST ;循环计数 MOV AH,4CH INT 21H ;返回DOS CODE ENDS END BEG,COM文件的内存映象,磁盘上的COM文件没有重定位信息,体积比EXE文件小。 DOS装载COM文件时,在同一内存块的用户程序上方(低地址处)偏移地址为00HFFH的单元处自动生成一个 PSP; 然后从偏移地址100H处开始存放用户程序; DOS自动使CS=DS=ES=SS=存放PSP的段基址,使IP=100H,SP=FFFEH。,INT 20H,代码段,堆栈段,CS,DS ES,SS,IP,(FFFEH) SP,PSP(256字节),用户程序 (64K-256),返回DOS的其它方法 EXE格式文件可以借用PSP首单元的 INT 20H 返回DOS 执行完用户程序后,使CS:IP指向PSP的首单元。 DOS在装载EXE文件时将DS指向该单元,故可采取措施: 把执行程序放在一个远过程中; 用户程序在给SS、SP赋初值后,DS赋值前,用三条指令把PSP的首单元的物理地址(DS:0000H)压入堆栈,即: PUSH DS MOV AX,0 PUSH AX 返回DOS时,执行RET指令,栈顶四个字节弹出分别送CS和IP,即可执行INT 20H指令。 COM格式文件可直接执行INT 20H 指令,.486 ;方式定义 DATA SEGMENT USE16 ;定义数据段 MESG DB HELLO,0DH,0AH,$ DATA ENDS CODE SEGMENT USE16 ;定义代码段 ASSUME CS:CODE,DS:DATA,SS:STACK ;说明段约定 MAIN PROC FAR ;为什么定义成远过程? BEG: PUSH DS MOV AX,0 PUSH AX MOV AX,DATA MOV DS,AX LAST: MOV AH,9 MOV DX,OFFSET MESG INT 21H ;显示显示一行HELLO RET ;返回DOS MAIN ENDP CODE ENDS END BEG ;汇编结束,源程序清单:,6.2 系统功能调用,DOS的4个组成部分中IBMBIO.COM和IBMDOS.COM是DOS系统的核心模块 IBMBIO.COM为基本I/O设备处理程序,与BIOS一起完成数据输入和数据输出的基本操作 IBMDOS.COM是磁盘文件管理程序;,这两个模块均有若干子功能可以被用户程序调用,称为“DOS功能调用”和“BIOS功能调用”(系统功能调用),PC-DOS的模块结构,DOSShell,DOSKernel,DOSBIOS,1. 命令处理程序 command.com命令解释,外部命令装入等。,2. DOS 内核程序 MSDOS. SYS包括文件管理、磁盘管理、 DOS功能调用等。 该模块以系统功能调用的方式供用户使用, INT 21H,3. DOS基本输入输出程序模块 IO.SYS管理输入输出设备 (显示器、键盘、打印机、串行通信设备等) 的驱动,并转换为ROMBIOS固件的设备 控制程序的请求。,DOSShell,DOSKernel,DOSBIOS,DOS命令,ROMBIOS,显 示 器 卡,盘 控 制 卡,串行口卡,键盘接口,打印机卡,应用层,DOS 服务层,ROMBIOS 服务层,硬件控制层,应用程序,INT 10H,INT 13H,INT 14H,INT 16H,INT 17H,INT 21H,高端,用户程序通过INT 21H软中断指令调用DOS系统功能,调用模式如下: MOV AH,功能号 设置入口参数 INT 21H 分析出口参数 功能号: 代表一个不同功能的子程序,DOS功能调用,调用模式: MOV AH,功能号 设置入口参数 INT 21H 分析出口参数,DOS功能调用,【功能号01H】 等待键入一个字符,有回显,响应Ctrl_C。 入口参数:无。 出口参数:AL按键的ASCII码。若AL0,表明按键是功能键、光标键,需再次调用本功能,才能返回按键的扩展码。,调用方式: MOV AH,1 INT 21H,DOS功能调用,【功能号02H】 显示一个字符,响应Ctrl_C。 入口参数:DL待显字符的ASCII码。 出口参数:无。 本功能在屏幕的当前位置显示一个字符,光标 右移一格,如果是在一行末尾显示字符,则光标 返回下一行的开始格。如果是在屏幕的右下角 显示字符,光标返回时屏幕要上滚一行。 注意:该功能要破坏AL寄存器的内容。,DOS功能调用,Eg: MOV DL , A MOV AH , 2 INT 21H 屏幕上显示一个字符A,【功能号07H】 等待键入一个字符,无回显,不响应Ctrl_C。 入口参数:无。 出口参数:AL按键的ASCII码,若AL0,需再次调用该项功能才能在AL中得到按键的扩展码。 【功能号08H】 等待键入一个字符,无回显,响应Ctrl_C。 入口参数:无。 出口参数:AL按键的ASCII码,若AL0,需再次调用该项功能才能在AL中得到按键的扩展码。 【功能号09H】 显示字符串,响应Ctrl_C。 入口参数:DS:DX字符串首地址,字符串必须以$'(即ASCII码24H)为结束标志 出口参数:无。 该项功能从屏幕当前位置开始,显示字符串,遇到结束标志$时停止,$字符并不显示 注意:9号功能破坏AL寄存器的内容,DOS功能调用,Eg:在屏幕上显示I AM A STUDENT!,分析:将I AM A STUDENT!定义在数据段,并在!后加一个字符$,利用9号DOS功能调用,即可完成显示,DOS功能调用,.486 DATA SEGMENT USE16 ;定义数据段 MESG DB I AM A STUDENT!,$ DATA ENDS CODE SEGMENT USE16 ;定义代码段 ASSUME CS:CODE,DS:DATA BEG: MOV AX,DATA MOV DS,AX LAST: MOV AH,9 MOV DX,OFFSET MESG INT 21H MOV AH,4CH INT 21H ;返回DOS CODE ENDS END BEG,源程序清单:,【功能号0AH】 等待键入一串字符送用户程序数据缓冲区。 入口参数:DS:DX指向放键入字符的缓冲区 缓冲区定义形式规定为:,DOS功能调用,EG: BUF DB 100 DB ? DB 100 DUP(?),DOS功能调用,出口参数:存放于缓冲区的字符串,以回车键结尾 调用方式: MOV AH,0AH INT 21H 注意:缓冲区定义的第二个字节由系统设置,其余 由用户定义; 若输入的字节数少于定义的字节数,缓冲区 其余字节补零; 若输入的字节数大于定义的字节数,后来输入 的字符丢弃且响铃警告。,DOS功能调用,例: 人机会话程序,Li mei?(Y/N),What is your name?,1.会话内容及设计思路,Li nei ;前者是程序给出的询问信息, 后者是用户键入的回答,N ;程序复制的姓名和回答提示,Li mei ;再次问答,Li nei?(Y/N),What is your name?,Y,问题提出: 如何设置程序运行所需的数据?方法如下: 数据设置在程序的数据段 程序运行时通过人机会话临时键入 程序装入时通过命令行参数给出 本例学习前两种方法,并以此学习DOS功能调用,DOS功能调用,2. 框图:,N,DOS功能调用,DATA SEGMENT USE16 MESG1 DB 0DH,0AH DB What is your name ?$ MESG2 DB ?(Y/N)$ BUF DB 30 DB ? DB 30 DUP(? ) DATA ENDS CODE SEGMENT USE16 ASSUME CS:CODE,DA:DATA BEG: MOV AX,DATA MOV DS,AX AGAIN: MOV AH,9 MOV DX,OFFSET MESG1 INT 21H ;询问姓名 MOV AH,0AH MOV DX,OFFSET BUF INT 21H ;接收键入字符串 MOV BL,BUF+1 MOV B

注意事项

本文(微机课件第6章1章节)为本站会员(E****)主动上传,金锄头文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即阅读金锄头文库的“版权提示”【网址:https://www.jinchutou.com/h-59.html】,按提示上传提交保证函及证明材料,经审查核实后我们立即给予删除!

温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.