东北大学微机原理第五课讲义.ppt

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

PUSH(push word onto stack)进栈 指令汇编格式: PUSH src 操作:堆栈指示器减 2 SP←SP-2 将给定的操作数存放到由SP指出的栈顶中。 (SP+1,SP)←(src) 受影响的状态标志位: 没有 说明: PUSH指令的目标地址一定在当前堆栈中。SS内容为段基址,偏移量由堆栈指针SP指出。操作数一定是16位的寄存器或存储器操作数。 假定AX=1234H,BX=5678H,SS=2000H,SP=0100H,则执行下列指令后堆栈的状态是: 3.POP 指令举例 微型机原理与程序设计 第5讲 程序设计 程序设计(Programming)是给出解决特定问题程序的过程,是软件构造活动中的重要组成部分。程序设计往往以某种程序设计语言为工具,给出这种语言下的程序。 1 基本步骤 (1)分析问题 分析问题的目的就是为了对问题有一个确切理解,明确问题的环境限制,弄清已知条件、原始数据、输入信息、对运算精度的要求、处理速度的要求及最后应获得的结果。 (2)建立数学模型 在确切理解问题的基础上,总是可以用简洁而严明的数学方法对问题进行严格地或近似地描述,即建立一个数学模型,就把一个实际问题化成为一个计算机可以处理的问题。 (3)设计算法 算法是一组有穷的规则,它规定了解决某一特定类型问题的一系列运算。通俗一点说,解决问题的方法和步骤的具体化,我们称之为算法。数学模型建立后,确定在计算机上有哪些逻辑步骤及顺序去实现它。如果有几种解决方法,根据问题的要求,选择较优的算法,处理逻辑简单,速度快且容易获得满意结果的较优算法。 (4)编制程序 用计算机机器指令助记符号或语句实现算法的过程,就是编制程序,又称为编码。编制程序时,必须严格地按语言的语法规则书写。这样编写出来的程序称为源程序。汇编语言源程序经过汇编后变为机器语言程序,又称目标(目的)程序,最后经过连接成为可执行程序。 1 基本步骤 (5) 上机调试 源程序编制完后,送入计算机进行汇编、连接和调试。汇编程序可以检查源程序中的语法错误,调试人员根据指出的语句错误性质,修改语法错误,直至无语法错误,再利用纠错程序调试。 (6)编写程序文档 许多程序是提供给别人使用的,如同正式的产品应当提供产品说明书一样,正式提供给用户使用的程序,必须向用户提供程序说明书。内容应包括:程序名称、程序功能、运行环境、程序的装入和启动、需要输入的数据,以及使用注意事项等。 1 基本步骤 2 简单计算实例 利用计算机计算表达式 的值 计算步骤 3 程序设计语言 机器语言 直接用二进制代码指令表达的计算机语言被称为机器语言 机器语言是表示成数码形式的机器基本指令集 是与特定的机器有关,功效高,但使用复杂、繁琐、费时、易出差错 3 程序设计语言 汇编语言 用助记符(Memoni)代替机器指令的操作码 用地址符号(Symbol)或标号(Label)代替指令或操作数的地址 汇编语言编写的程序,机器不能直接识别, 还要由汇编程序或者叫汇编语言编译器转换成机器指令。 不同的机器就有不同的汇编语言 3 程序设计语言 高级语言 较接近自然语言和数学公式的编程语言 一定程度上与具体机器无关,易学、易用、易维护、移植性好,重用率高 Fortran、Pascal、Cobol、C、C++、Basic、Adam、Java、C#等 4 堆栈 堆栈是一种按特定顺序进行存取的存储区,这种特定顺序可归结为“后进先出(LIFO)”或“先进后出(FILO)” 寄存器堆栈 存储器堆栈 自底向上生成(向低地址方向生成)堆栈 1 PUSH AX PUSH BX 2 PUSH AX PUSH BX 3 假定AX=1234H,BX=5678H,SS=2000H,SP=0100H,则执行下列指令后堆栈的状态是 POP 出栈 指令汇编格式: POP dest 操作:(1)将堆栈栈顶中存放的字传送到操作数中。  dest←(SP+1,SP)  (2) 堆栈指针加2  SP←SP+2 受影响的状态标志位: 没有 说明:目标操作数只能是16位的存储器或寄存器操作数(CS除外)。 1 假定在执行指令:POP CX POP DX 之前,堆栈的状态如图所示。指令执行CX, DX的内容及堆栈的状态? 2 微型机原理与程序设计 第5讲 程序设计

文档评论(0)

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

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

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档