计算机原理jrnc,计算机原理及系统结构2.ppt

计算机原理及系统结构2

计算机原理及系统结构 第十八讲 第5章 本章主要内容 指令格式与寻址方式概述 汇编语言程序设计 指令与指令系统概述 指令格式与寻址方式 计算机原理及系统结构 第十九讲 计算机原理及系统结构 第二十讲 教学机基本指令 数据移动指令 MVRR、MVRD、LDRR、STRR、PUSH、POP、PSHF、POPF、IN、OUT 算术逻辑指令 ADD、SUB、AND、XOR、TEST、CMP、OR、DEC、INC、SHL、SHR 控制转移指令 CALA、RET、JMPA、JR、JRC、JRNC、JRZ、JRNZ TEC-2000 16位机基本指令系统 TEC-2000 16位机基本指令系统 计算机原理及系统结构 第二十一讲 教学机寻址方式 立即数寻址 MVRD DR, DATA 寄存器寻址 MVRR R1,R2 寄存器间接寻址 LDRR DR,[SR] 直接寻址 CALA ADR 变址寻址 JRC ADR 计算机原理及系统结构 第二十二讲 教学机指令功能及其在程序中的作用 指令功能及其在程序中的作用 例5.1:在显示器屏幕上循环显示95个可打印字符。 例5.2:把字符A~F写到内存2040~2045单元中,然后读出并在屏幕上显示。 例5.3:从键盘输入字符并送到显示器显示。 本章主要内容 指令格式与寻址方式概述 汇编语言程序设计 汇编语言程序设计 机器语言是计算机硬件能够直接识别和运行的指令的集合,是二进制码组成的指令,对程序设计人员来说很难以接受,直接用机器指令设计程序实在是太困难了。 汇编语言大体上是对计算机机器语言的符号化处理的结果,再增加一些为方便程序设计而实现的扩展功能。汇编语言至少有2大优点。首先实现用英文单词或其缩写形式替代二进制的指令代码,更容易记忆和理解;其次可以选用英文单词来表示程序中用到的数据(常量和变量),并且避免程序设计人员亲自为这些数据分配存储单元,而是留给汇编程序自己去安排,这样的语言就达到了实用的最基本的标准。如果在此基础上,再在支持程序的不同结构特性(如循环和重复执行等结构),子程序所用哑变元替换为真实参数等方面提供必要的支持,使用这个语言设计程序就更为方便了。汇编语言程序经汇编器程序翻译为机器语言程序后方可运行。 高级语言又称算法语言,它的实现思路,不再是过分地“靠拢”计算机硬件的指令系统,而是着重面向解决实际问题所用的算法,更多的是是为方便程序设计人员写出自己解决问题的处理方案和解题过程的程序。目前常用的高级语言有BASIC、C、C++、,PASCAL、JAVA、PROLOG、VHDL等几百种。用这些语言设计出来的程序,通常需要经过一个叫做编译程序的软件先编译成机器语言程序,或者首先编译成汇编程序后,再经过汇编操作后得到机器语言程序,才能在计算机的硬件系统上予以执行;也可以由一个叫做解释执行程序的软件,逐条取来相应高级语言程序的每个语句并直接控制其完成执行过程,而不是把整个程序编译为机器语言程序之后再一起交给硬件系统加以执行。 教学计算机中的汇编程序的例子 例5.4:设计一个程序,在屏幕上输出显示一个字符‘6’。 A 2000 ;地址从16进制的2000(内存RAM区的起始地址)开始 2000: MVRD R0,0036 ;把字符‘6’的ASCII码送入R0 2002: OUT 80 ;在屏幕上输出显示字符‘6’,80为串行接口地址 2003: RET ;每个用户程序都必须用RET指令结束 2004: (按回车键即结束源程序的输入过程) 教学计算机中的汇编程序的例子 例5.5:设计一个程序,用次数控制在终端屏幕上输出‘0’到‘9’十个数字符。 A 2020 MVRD R2,000A ;送入输出字符的个数 MVRD R0,0030 ;‘0’字符的ASCII码 OUT 80 ;输出保存在R0低位字节的字符

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
A组:基本指令 ADD、SUB、AND、OR、XOR、CMP、TEST、MVRR、DEC、INC、SHL、SHR、 JR、JRCJRNC、JRZ、JRNZ 扩展指令 ADC、SBB、RCL、RCR、ASR、NOT、CLC、STC、EI、CI、JRS、 JRNS、JMPR B组:基本指令 JMPA、LDRR、STRR、PUSH、POP、PSHF、POPF、MVRD、IN、OUT、RET C组:扩展指令 CALR、LDRA、STRA、LDRX、STRX D组:基本指令 CALA 扩展指令 IRET 这种分类办法,是为了突出指令执行步骤的划分结果,有利于讲解控制器设计技术。 A组指令完成的是通用寄存器之间的数据运算或传送,或其它几项特殊的操作,在取指之后可一步完成。 B组指令完成的是一次内存或I/O读、写操作,在取指之后可两步完成,第一步把要使用的地址传送到地址寄存器AR中,第二步执行内存或I/O读、写操作。 C组指令在取指之后可三步完成,其中CALR指令在用两步完成一次写内存之后,第三步执行寄存器之间的数据传送;而其它指令在第一步置地址寄存器AR,第二步读内存(即取得一个内存单元的地址)并传送到地址寄存器AR,第三步执行另外一次读、写内存的操作。 D组指令完成的是两次读、写内存操作,在取指之后可四步完成。 十六位的教学机系统,实现了上面4组中的29条基本指令,用于支持教学机的监控程序和简单的汇编语言程序设计。保留了其余19条扩展指令,供学生在教学实验中进行扩展,即完成对这些指令的设计与调试,当然,还可以扩展另外一些指令。 为了支持汇编语言程序设计,每一条指令分配了一个汇编语句名,其命名规则是: 用一个英文单词或其缩写形式(2~4个字母)给出一个汇编语句名,例如ADD、SUB、MVRR、MVRD、JR、JMPA、STRX等; 其中的1~2个字母可能涉及到操作数寻址方式,具体规定如下: 用R代表寄存器寻址,例如ADD R0,R1 语句表示 R0←R0+R1;MVRR R0,R1语句表示把寄存器R1的内容传送到寄存器R0;在R字母两侧加上方括号,代表寄存器间接寻址,例如STRR [R8],R9 语句表示把R9的内容传送到以寄存器R8的内容为地址的内存单元之中; 用D表示立即数寻址,例如MVRD R3,1234 语句表示 R0←立即数1234; 用X表示变址寻址,例如 LDRX R1,12[R2] 语句表示把变址寄存器R2的内容与变址偏移量12相加作为内存地址,进行读操作,读出的数据传送的寄存器R1; 用A表示直接地址寻址,例如 JMPA 2008 语句表示转移到2008单元之处, STRA [2000], R2 语句表示把R2的内容写入到地址为2000的内存单元之中。 §1.2.1 基本指令汇总表

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值