第6章 汇编语言程序设计及应用.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文档。上传文档
查看更多
第6章 汇编语言程序设计及应用

6.1 汇编语言程序设计的基本方法 6.1.1程序设计步骤 1、分析问题 2、确定算法 3、画流程图, 简单程序也可以不画流程图,直接编程。 4、内存空间分配 5、编写程序 6、静态检查 7、上机调试 6.1.2程序的基本结构形式 1、顺序结构 程序从起始地址开始顺序执行各条指令直至程序结束,无分支,无循环,程序执行按照IP内容自动增加的顺序进行。 2、分支结构 例:设x,y为带符号的字节变量,编程实现下面的公式。 3、循环结构 例6-1: MOV CX,0 MOV AX,DS:[2000H] CONT:TEST AX,0FFFFH JE EXIT JNS SKIP INC CX SKIP: SHL AX,1 JMP CONT EXIT: 6.2 汇编语言的编程应用 1、键盘I/O 通过系统提供的BIOS键盘中断(INT 16H)从键盘缓冲区中得到字符的ASCII及其相应的扫描码,以供程序使用 MOV AX,DATA MOV DS,AX MOV CX,10 MOV SI,OFFSET W LP: MOV AH,0 INT 16H MOV [SI],AL INC SI 2、鼠标器编程 通过系统提供的BIOS鼠标中断调用(INT 33H)获取鼠标指针的位置及鼠标键状态等信息,以供程序使用。 鼠标中断调用INT 33H功能表见课本P155 表6-4 3、图形显示 可以使用BIOS中断调用的 INT 10H 来实现有关显示器显示方式的选择、光标的控制以及字符属性的读写等功能。 对于文本方式,与屏幕上每个字符位置相对应的是两个存储字节单元,分别存放字符的ASCII码和字符属性。 MOV AX,DATA MOV DS,AX MOV ES,AX MOV AL,3 MOV AH,0 INT 10H MOV BP,OFFSET STRING MOV CX,LEN * * 第6章 汇编语言程序设计及应用 判定条件 分支程序段1 分支程序段2 满足 不满足 IF-THEN-ELSE结构 判定条件 程序段1 程序段2 程序段3 CASE结构 条件1 条件2 条件3 Y= x0 0 x=0 -1 x0 x≥0 ? X=0 ? Y=0 Y=1 Y= -1 Y N Y N NEXT CMP X,0 JGE BIGER MOV Y, -1 JMP NEXT BIGER: JZ EQUL MOV Y, 1 JMP NEXT EQUL: MOV Y,0 NEXT: … 初始化 循环体 检测循环条件 满足 不满足 初始化 循环体 检测循环条件 满足 不满足 WHILE-DO结构 REPEAT-UNTIL结构 例6-2: MOV SI,1000H MOV DI,2000H MOV CX,100 LOP: MOV AL, [SI] MOV [DI], AL INC SI INC DI DEC CX JNE LOP HLT WHILE-DO结构 REPEAT-UNTIL结构 AL=键盘状态字节 取键盘状态字 02H ZF=0,键盘缓冲区不空, AL=字符的ASCII码,AH=扫描码;ZF=1,键盘缓冲区为空 读键盘缓冲区字符 01H AL=字符的ASCII码,AH=扫描码 等待从键盘读一个字符 00H 出口参数 功能 功能号 表6-1 INT 16H的三种功能 例6-3 从键盘接收10个字符,将其存放于W开始的缓冲区中,然后把缓冲区的内容送显示器输出。 LOOP LP MOV BYTE PTR [SI],’$’ LEA DX,W MOV AH,09H INT 21H MOV AH,4CH INT 21H 例:确定鼠标是否安装 MOV AX,00H INT 33 CMP AX, -1 JNZ DISP1 检测左键 MOV AX,

文档评论(0)

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

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

1亿VIP精品文档

相关文档