章7-低级程序设计语言 - 副本_第1页
章7-低级程序设计语言 - 副本_第2页
章7-低级程序设计语言 - 副本_第3页
章7-低级程序设计语言 - 副本_第4页
章7-低级程序设计语言 - 副本_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、计算机导论第第7 7章章 低级编程语言低级编程语言2提纲 机器语言 Pep/7虚拟机的机器指令 基本机器指令的功能 立即寻址和直接寻址 Pep/7的演示程序 汇编语言与Pep/7的汇编指令简介3计算机计算机 是可编程的电子设备,可以存储存储,检索和处理数据。指令指令 定义了计算机对数据可以进行什么样的操作。存储程序的概念存储程序的概念 数据和处理数据的指令在表示上一致的(都使用二进制编码),可被存在同一个地方。计算机的数据处理4机器语言机器语言机器语言 由二进制编码的指令组成,由特定的计算机硬件直接执行。 比喻: 一把“钥匙”(指令)开一把“锁”(计算机)。为什么我们学习机器语言?为什么我们学

2、习机器语言?1. 理解计算机如何工作。2. 欣赏今天我们与计算机的交互是如此的简单。5机器语言的特性:机器语言的特性:1. 每一种处理器有它特定的一组机器指令。2. 处理器和它的指令是完全一体化的。3. 每一条机器指令只能执行非常低级的计算任务。机器语言6一段机器语言代码(用16进制表示):D9 01 01 09 01 00 11 01 10 18 00 01 11 01 10 E1 01 11 00在这里,我们用2位十六进制数字来表示一个字节;字节之间空格在计算机内部是不存在的,写在这里是为了读程序清楚起见。机器语言7Pep/7虚拟机Pep/7是一台是一台虚拟计算机虚拟计算机 用软件的方式来

3、模拟计算机的计算部件的工作;用来帮助教师向学生解释机器语言是如何工作的。 Pep/7包含7个寄存器和4个状态位。 8Pep/7: 16位的数据总线,即16位字长:一个CPU的时钟周期里从内存读入CPU或者从CPU写入内存的数据量是32比特。 12位的地址总线:可编址 212 = 4096字节。 共有32条指令:除停机指令是1字节外,其它指令都是 3 字节长。Pep/7虚拟机9Pep/7 CPU的寄存器(的寄存器(register): 程序计数器(程序计数器(Program Counter, PC):):存储下一条要执行的指令的内存地址。指令寄存器指令寄存器(Instruction Regist

4、er, IR):):存储当前被执行的指令。寄存器寄存器A(累加器):(累加器):存储加法运算的结果。状态位:状态位:存储于状态寄存器。 位Z 置 1,如果寄存器A的值为0;否则位Z置 0。位N 置 1,如果寄存器A的值为负数;否则位N置 0。Pep/7虚拟机10Pep/7的体系结构状态位寄存器A程序计数器(PC)指令寄存器(IR)11Pep/7的指令格式(a)一个指令由两部分组成:指令说明符,操作数说明符 (b)指令说明符指令说明符操作数说明符寻址模式说明符 操作码 寄存器说明符 12指令说明符的组成成分:指令说明符的组成成分:操作码:操作码:定义了一条指令。寄存器说明符:寄存器说明符:指定了

5、这条指令使用的寄存器。这里我们只用到了A register(累加器)。寻址模式说明符:寻址模式说明符:指定了操作数是一个数(称作立即寻址)还是一个地址(称作直接寻址)。Pep/7的指令格式13两种寻址模式:两种寻址模式:Pep/7的指令格式(a) 立即寻址模式:操作数说明立即寻址模式:操作数说明符是操作数本身符是操作数本身(b) 直接寻址模式:操作数说直接寻址模式:操作数说明符是操作数的地址明符是操作数的地址指令说明符 操作数说明符 指令说明符 操作数说明符 下图的12个红色单元,是因为pep/7的地址总线是12 bits,高位的4 bits没有用到。14Pep/7基本指令 (操作码)15指令

6、:指令:停机停机 操作码:00000。程序停止执行。它是1字节的指令(不含操作数说明符)。Pep/7基本指令基本指令16指令:指令:把操作数载入寄存器把操作数载入寄存器A 操作码:00001。将操作数说明符指定的2个字节存入寄存器A中。(a) 立即寻址:立即寻址:操作数说明符就是操作数本身,把它载入寄存器A。 (b) 直接寻址直接寻址: 操作数说明符指定的是操作数所在的内存地址,把它指向的2字节的内存单元的内容载入寄存器A。指令说明符指令说明符操作数说明符操作数说明符Pep/7基本指令17指令:指令:将寄存器将寄存器A的内容存入操作数中的内容存入操作数中 操作码:00010。将寄存器A存入操作

7、数说明符指定的内存空间中。只支持直接寻址只支持直接寻址: 操作数说明符指定的是操作数所在的内存地址,把寄存器A的内容存入操作数说明符指向的2字节的内存单元。指令说明符操作数说明符Pep/7基本指令18指令:指令:把操作数加到寄存器把操作数加到寄存器A中中 操作码:00011。将操作数说明符指定的操作数加入寄存器A中。 与指令“把操作数载入寄存器A”类似,除了这里是把操作数加到寄存器中。 请自己定义。Pep/7基本指令19指令:从寄存器指令:从寄存器A中减去操作数中减去操作数 操作码:00011。从寄存器A中减去操作数说明符指定的操作数。 请自己定义。 Pep/7基本指令20指令:把字符输入操作

8、数指令:把字符输入操作数 操作码:11011。 从输入设备读入一个ASCII字符到操作数说明符指定的内存地址中。指令说明符操作数说明符只支持直接寻址模式只支持直接寻址模式Pep/7基本指令21指令:从操作数输出字符指令:从操作数输出字符 操作码:11100。 将操作数说明符指定的操作数(一个ASCII字符的码值)发送到输出设备。指令说明符指令说明符操作数说明符操作数说明符(a) 立即寻址立即寻址 (b) 直接寻址直接寻址Pep/7基本指令22你能将上述指令用十六进制写出吗?23 Pep/7程序演示1. 从键盘读入字符A (ASCII码值0 x41)2. 将字符A存入变量i中3. 将 i 的值自

9、增1 4. 将i值所对应的字符(即B)输出到屏幕上5. 停机24Pep/7程序运行步骤:1. 打开或新建一个程序 (zz 是程序的结束符)2. 设置跟踪选项 Pep7 - clear RAM memory 将内存单元全部设置为0: 设置 Pep7 - Trace Options跟踪内存单元的内容的变化3. 允许键盘输入: Pep7-exection input-interactive input from keyboard 4. 将程序装载到内存: Pep7-load5. 执行程序:Pep7-execute Pep/7程序演示25我们假设: 程序指令存储在地址范围为0 x000000FF的内存

10、空间 键盘输入的字符存储在地址范围为0 x0100010F的内存空间 (A 存储在0 x0101) 变量存储在0 x01100FFF (变量i,2字节,存储在0 x01100111) Pep/7程序演示26内存存储示意图:.0041. 内容 地址0 x00010 x00020 x01000 x01010 x01100 x0111程序存储区A i Pep/7程序演示27Pep/7 的存储方式是大端字节的。的存储方式是大端字节的。大端字节(Big Endian):数据的高字节存在低地址上例: 0 xABCD 地址 字节n ABn+1 CD小端字节(Little Endian):数据的高字节存在高地

11、址上例: 0 xABCD 地址 字节n CDn+1 AB Pep/7程序演示28 Pep/7程序演示程序代码:D9 01 01 09 01 00 11 01 10 18 00 01 11 01 10 E1 01 11 00 zz291. 从键盘读入字符A (ASCII码值0 x41)存到内存单元中(设在地址0 x0101上)In Hex:D9 (11011 0 01 in Bin, 把字符输入操作数,直接寻址)01 01 (地址为0 x0101) Pep/7程序演示302. 将字符A存入变量i中(设起始地址为0 x0110)In Hex: 09 (00001 0 01 in Bin, 把操作数

12、载入寄存器A,直接寻址)01 00 (A在地址0 x0100上) In Hex:11 (00010 0 01 in Bin, 把寄存器A的内容存储到操作数中)01 10 (i的起始地址是0 x0110) Pep/7程序演示313. 将 i 的值自增1In Hex:18 (00011 0 00 in Bin, 把操作数加到寄存器中,立即寻址)00 01 (数字1)In Hex:11 (00010 0 01 in Bin, 将寄存器A存到操作数中,直接寻址)01 10 (i的起始地址是0 x0110) Pep/7程序演示324. 将i值所对应的字符(即B)输出到屏幕上In Hex:E1 (1110

13、0 0 01 in Bin, 从操作数输出字符,直接寻址)01 11 (该字符存储在地址0 x111上)注意:Pep/7是大端字节的存储方式,即0 x0000存储在地址0 x0110上,0 x0042存储在地址0 x0111上。 Pep/7程序演示335. 停机In Hex:00( 00000 0 00 in Bin) Pep/7程序演示34请自己写出每次执行一条指令时,IR, PC和寄存器A里的内容。执行第1条指令D9 01 01时,IR=D9 01 01;PC=00 03;寄存器A=00 00; 执行第2条指令09 01 00时,IR=09 01 00;PC=00 06;寄存器A=0041;. Pep/7程序演示35

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论