微机原理与应用-ch7课件.ppt

  1. 1、本文档共54页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
微机原理与应用-ch7课件

第七章 汇编语言程序设计的基本方法和技巧;可执行目标文件:“.EXE”;7.3 8086汇编语言程序设计的基本语法;NEAR:标号只能做段内转移和段内调用的目标地址。 FAR:标号只能做段间转移和段间调用的目标地址 ;助记符由指令系统规定。 定义符由汇编程序规定。 都称为关键字或保留字,不能用作标号、名字、变量名。;1. 常量;2. 变量;3. 表达式与运算符;(2) 逻辑运算符 AND、OR、XOR、NOT;(3) 关系运算符 EQ、NE、LT、LE、GT、GE;② OFFSET 符号名 ;求段内偏移量 e.g. 标号SLAB处于数据段,且与数据段基址的距离为10H MOV SI, OFFSET SLAB ;(SI)=0010H;⑤ LENGTH 符号名 ;求为符号名分配的项数 SIZE、LENGH、TYPE之间的关系: SIZE 符号名=(LENGTH 符号名)*(TYPE 符号名) e.g. 对于“ABC DW 100 DUP (?)” TYPE ABC ;汇编结果为2 LENGTH ABC ;汇编结果为100 SIZE ABC ;汇编结果为200;② THIS 类型 ;指定新类型,规定它所定义的符号名和相邻的下一个语句的符号名具有相同的物理地址 e.g. LABC EQU THIS BYTE LABD DW 1357H, 2468H MOV AL, LABC ;(AL)=57H MOV AX, LABD+1 ;(AX)=6813H;7.4 汇编语言程序设计的基本方法和技巧;(二)汇编语言的程序设计步骤如下: 1.建立数学模型; 2.选择算法; 3.绘制流程图; 4.分配存储空间和工作单元; 5.根据流程图编制程序; 6.上机调试程序。; 顺序结构 分支结构 循环结构 子程序结构 ;1. 顺序程序设计;DATA;2. 分支程序设计;例 比较两个一字节无符号数X1和X2的大小,把大数存入MAX单元。;DATA;3. 循环程序设计;(1)初始化部分  这是循环的准备部分,为程序操作、地址指针、循环计数、结束条件等设置初始值。 (2)循环体,包括以下3个部分: 循环工作部分------这是循环程序的主体,完成程序的基本操作,循环多少次,这部分语句就执行多少次。 循环修改部分-----修改循环工作部分的变量地址等,这保证每次重复时,参加执行的数据能发生有规律的变化。 循环控制部分-----保证循环条件满足时进入循环;循环结束条件不满足时,退出循环,执行循环体外的后续语句。 (3)循环结束部分 完成循环结束后的处理,如数据分析、结果的存放等。 ;例 从XX单元开始的10个连续单元中存放有10个无符号数,从中找出最大者送入YY单元。;DATA;§7.7 DOS功能调用; 用户编程原则: 尽可能使用DOS的系统功能调用,提高程序可移 植性。 ②在DOS功能不能实现情况下,考虑用BIOS功能调 用。 ③在DOS和BIOS的中断子程不能解决问题时,使用 IN/OUT指令直接控制硬件。;设置入口参数;;1. 显示单字符 ( 02H功能 ) 入口参数 DL = 要显示字符的ASCII 码 功能号 AH=02H 类型号 INT 21H 出口参数 无 实现功能 显示指定字符,光标随动。 例 显示字符A MOV DL, ‘A’ MOV AH, 02H INT 21H;入口参数 ①定义要显示的字符串,字符串尾 应为’$’,作为结束显示的标志。 ②DS : DX = 字符串的首地址 功能号 AH = 09 H 类型号 21H 出口参数 无 实现功能 显示字符串,遇 ’$’ 停止显示,光 标随动。;3.键盘输入一个字符 ( 01H功能 ) 将其ASCII字符代码送AL寄存器,同时送显示器显示。 如:MOV AH,01H INT 21H; 例:MOV AH,4CH INT 21H;二、汇编语言程序设计举例;例1:试设计一个对两个32位二进制数相加的程序。设被加数2A3B078EH和加数4C508F55H从数据段的BGS单元(令BGS=2000H)开始依次存放,要

文档评论(0)

xcs88858 + 关注
实名认证
内容提供者

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

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档