网站大量收购独家精品文档,联系QQ:2885784924

[工学]微机原理第4章1.ppt

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

要求实现从键盘输入的一个小写字母,在屏幕上显示出此小写字母所对应的大写字母。 NEXT: MOV AH , 8 INT 21H MOV DL , AL MOV AH , 2 INT 21H JMP NEXT 4.5 程序设计方法 汇编语言程序设计的步骤: 1. 分析问题,建立数学模型 把要解决的问题用一定的数学表达式描述或者制定解决问题的规则。 2. 确定算法 就是确定解决问题的方法和步骤。 3. 编制程序流程图 把解题的方法、步骤用框图形式来表示。 4. 合理分配存储空间和寄存器 充分利用存储空间,节约使用存储单元是我们编制一个好的应用程序就注意的问题。CPU 中的寄存器数量是有限的,所以在程序中要合理分配寄存器的用途。 5. 编制源程序 根据程序流程图,逐条编制源程序。正确使用各种寻址方式和指令格式。 6. 调试程序 静态检查,上机调试。一般先调试各模块,然后联调。 7. 程序运行,分析结果 汇编语言程序设计是应遵循的原则: 1. 程序结构模块化,程序易读,易调试和维护。 2. 执行速度快(程序的总时钟周期数越小越好)。 3. 占用内存空间小 (程序的总指令字节数越小越好) 。 程序流程图规定画法示意图如下: 4.5.1 简单(顺序)程序设计 简单程序设计是没有分支,没有循环的直线运行程序,程序执行按照IP内容自动增加的顺序进行。 例1 利用查表法计算平方值。已知0~9的平方值连续存在以SQTAB开始的存储区域中,求SUR单元内容X的平方值,并放在DIS单元中。假定0≤X≤ 9且为整数。 分析:建立平方表,通过查表完成。 STACK SEGMENT DB 100 DUP(?) STACK ENDS DATA SEGMENT SUR DB ? DIS DB ? SQTAB DB 0,1,4,9,16,25,36,49,64,81 ; 0~9的平方表 DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA,SS:STACK BEGIN: MOV AX,DATA MOV DS,AX ;为DS送初值 LEA BX,SQTAB ;以下程序部分完成查表求平方值 MOV AH,0 MOV AL,SUR ADD BX,AX MOV AL,[BX] MOV DIS,AL CODE ENDS END BEGIN 亦可用换码指令完成(如下程序段) MOV AL,SUR MOV BX, OFFSET SQTAB XLAT MOV DIS, AL 4.5.2 分支程序设计 分支程序的基本思想是根据逻辑判断的结果来形成程序的分支,如右下图,若A成立,则执行P1;否则执行P2。 例2 试编写程序段,实现符号函数。 分析:变量X的符号函数可表示为: 1 X0 Y= 0 X=0 -1 X0 程序可通过对符号标志的判别来确定执行哪一分支。 STACK SEGMENT DB 100 DUP(?) STACK ENDS DATA SEGMENT BUF1 DW ? BUF2 DW ? DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA,SS:STACK START: MOV AX,DATA MOV DS,AX MOV AX,BUF1 ;(BUF)=X OR AX,AX JE ZERO ;X=0,则转ZERO JNS PLUS ;X为正数,则转PLUS MOV BX,0FFFFH ;X

文档评论(0)

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

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

1亿VIP精品文档

相关文档