计组实验报告基础汇编语言程序设计实验_第1页
计组实验报告基础汇编语言程序设计实验_第2页
计组实验报告基础汇编语言程序设计实验_第3页
计组实验报告基础汇编语言程序设计实验_第4页
计组实验报告基础汇编语言程序设计实验_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

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

文档简介

基础汇编语言程序设计实验【实验目的】了解教学计算机的指令格式、指令编码、选择的寻址方式和每一条指令的具体功能,为进一步学习运算器组成和控制器设计打好基础。了解汇编语言的语句与机器语言的指令之间的对应关系,了解伪指令在汇编过程中的作用。学习教学机监控程序的功能、监控命令的使用方法,体会软件系统在计算机组成中的地位和作用。【实验内容】学习联机使用TH-UNION+教学实验系统和仿真终端软件PCEC.使用监控程序的R命令显示/修改寄存器内容、D命令显示存储器内容、E命令修改存储器内容。使用A命令写一小段汇编程序,U命令反汇编刚输入的程序,用G命令连续运行该程序,用T、P命令单步运行并观察程序单步执行情况;【实验内容】用R命令查看寄存器内容或修改寄存器的内容在命令行提示符状态下输入:R↙ ;显示寄存器的内容注:寄存器的内容在运行程序或执行命令后会发生变化。在命令行提示符状态下输入:RR0↙;修改寄存器R0的内容,被修改的寄存器与所赋值之间可以无空格,也可有一个或数个空格用D命令显示存储器内容在命令行提示符状态下输入:D2000↙3.用E命令修改存储器内容在命令行提示符状态下输入:E2000↙4.用D命令显示这几个单元的内容D2000↙可以看到这六个地址单元的内容变为000011112222333344445555。5.用A命令键入一段汇编源程序,主要是向累加器送入数据和进行运算,执行程序并观察运行结果。在命令行提示符状态下输入:A2000↙ ;表示该程序从2000H(内存RAM区的起始地址)地址开始用U命令反汇编刚输入的程序在命令行提示符状态下输入:U2000↙在相应的地址会得到输入的指令及其操作码用G命令运行前面键入的源程序G2000↙用P或T命令,单步执行这段程序,观察指令执行结果在命令行提示符状态下输入:T2000↙<12020:MVRDR2,00OA 2022:MVRDR0,0030 2024:OUT80 2025:DECR2 2026:JRZ202E 2027:PUSHR02028:IN81 2029:SHRR0 202A:JRNC2028 202B:POPR0 202C:INCR0 202D:JR2024 202E:RET202F:↙<2(2100)MVRDR2,001A MVRDR0,0041 (2104)OUT80 DECR2 JRZ210E PUSHR0 (2108)IN81 SHRR0JRNC2108 POPR0 INCR0 JR2104 (210E)RET【实验结果】<1屏幕上输出'0'到'9'十个数字符<2屏幕上显示“A”~“Z”26个英文字母【实验过程中遇到的问题以及解决办法】在验证例3的实验时,输入语句“JC2053”,执行时系统一直提示有错误,无法进行运算查表得知语句中没有JC,只有JRC,所以修改语句即可解决。【实验总结】 第一次计算机组成原理上机,设备的连接调试比较麻烦,遇到各种各样的问题,比如接口不稳定,ftp下载出错,端口找错等等。但是,在老师的细心帮助下,一一解决了。在单步调试中,可以看到寄存器中的值和累加器中的值,可以很清晰的看到数据流的走向,从而对计算机的工作流程更加清晰,比理论学习更能帮助理解计算机组成原理。 脱机运算器实验【实验目的】 脱机运算器实验,是指让运算器从教学计算机整机中脱离出来,此时,它的全部控制与操作均需通过两个12位的微型开关来完成,这就谈不上执行指令,只能通过开关、按键控制教学机的运算器完成指定的运算功能,并通过指示灯观察运算结果。深入了解AM2901运算器的功能与具体用法,2片(16位为4片)AM2901的级连方式,深化运算器部件的组成、设计、控制与使用等诸项知识。(1)理解运算器芯片Am2901的功能和内部组成,运行中使用的控制信号及各自的控制作用;(2)理解4片Am2901构成16位运算器的具体方案,各数据位信号、各控制位信号的连接关系;(3)使用24位微型开关中的23位控制信号确定运算与处理功能。【实验内容】脱机运算器实验,在教学实验中实现如下7项操作功能。预期功能实现方案R0←1234数据开关拨1234,B地址给0,D+0,结果送B口选的R0R9←789F数据开关拨789F,B地址给9,D+0,结果送B口选的R9R9←R9-R0B地址给9,A地址给0,最低位进位给1,B—A,结果送B口选的R9R0←R0+1B地址给0,最低位进位给1,B+0,结果送B口算的R0R10←R0B地址给A,A地址给0,A+0,结果送B口选的R10R9←R9^R9并逻辑左移B地址给9,A地址也给9,B^A并实现逻辑左移操作Q←R9A地址给9,通用寄存器不接收,A+0,结果送Q寄存器断电前的显示:断电后的显示:【实验结果】预期功能 控制信号I8-6I5-3I2-0SSTA地址B地址SCISSHR0←1234011000111001000000R9←789F011000111001010010000R9←R9-R0011001001001010010100R0←R0+1011000101001000000100R10←R0011000100001010100000R9←R9ΛR0011100001001100110010000Q←R9000000100001100110010000功能 按START之前 按START之后 Y15~Y0CYF=0 OVRF15CZ V SR0←1234 123400 000000R9←789F 789F 0 0 00000 0R9←R9-R0666B 1 0 00000 0R0←R0+1 1235 00 00000 0R10←R0 1235 00 00000 0R9←R9^R00221 10 00101 0并逻辑左移Q←R9 0442 00 000000【实验过程中遇到的问题以及解决办法】实验中不能理解执行R9←R9—R0时,低位进位要给1。经过学习知道了,在进行减法运算时,把被减数看做加法中的负数,需要把绝对值取反加一,机器可以自动取反,却不能自动加一,所以要把SCI拨到1。【实验总结】这个实验需要很仔细耐心,不然一步错步步错,把表格填错,或者在试验仪上面把开关拨弄错误,造成实验最终难以进行。但是好在小组的同学配合很好,记录数据,拨弄开关,观察指示灯都不错。而且经过自己动手操作,我们对实验机器有了更深的了解。 组合逻辑控制器部件实验过程【实验目的】通过理解教学计算机中已经设计好并正常运行的几条典型指令(例如,ADD、SHR、OUT、MVRD、JRC、RET、CALA等指令)的功能、格式和执行流程,然后自己设计几条指令的功能、格式和执行流程,并在教学计算机上实现、调试正确。其最终要达到的目的是:深入理解计算机控制器的功能、组成知识,掌握教学计算机的指令格式、指令编码、寻址方式和指令功能等内容。掌握教学计算机的总体组成和各个部件的运行原理,理解控制器部件在计算机系统中的作用。理解和掌控指令执行步骤的划分方案。熟悉微程序控制器和组合逻辑控制器,学习组合逻辑控制器和微程序控制器的设计过程和相关技术。【实验内容】通过多种方式查看教学计算机指令的执行步骤、运行结果、各组控制信号在每一个执行步骤中的状态、指令之间的衔接等有关内容。检查与理解指令的每一个执行步骤所使用的控制信号。依照指令的执行步骤,教学计算机的指令划为4组。

A组:通用寄存器之间的数据运算或传送,或其它几项特殊的操作,

在取指之后可一步完成。

基本指令ADD、SUB、AND、OR、XOR、CMP、TEST、MVRR、

DEC、INC、SHL、SHR、JR、JRC、JRNC、JRZ、JRNZ

扩展指令ADC、SBB、RCL、RCR、ASR、NOT、CLC、STC、EI、

CI、JRS、JRNS、JMPR

B组:完成的是一次内存或I/O读、写操作,在取指之后可两步完成,第

一步把要使用的地址传送到地址寄存器AR中,第二步执行内存或

I/O读、写操作。

基本指令JMPA、LDRR、STRR、PUSH、POP、PSHF、POPF、

MVRD、IN、OUT、RET

C组:在取指之后可三步完成,其中CALR指令在用两步完成

一次写内存之后,第三步执行寄存器之间的数据传送;而其它

指令在第一步置地址寄存器AR,第二步读内存并传送到地址寄

存器AR,第三步执行另外一次读、写内存的操作。

扩展指令CALR、LDRA、STRA、LDRX、STRX

D组:完成的是两次读、写内存操作,在取指之后可四步完成。

基本指令CALA

扩展指令IRET

A组:SHR:<1将教学计算机运行功能选择开关置为00001011(单步运行、手拨、组合逻辑、联机工作方式、16位字长、计原16系统,使其工作在单节拍下。<2使用手拨开关SWH、SWL输入OUT80指令机器码1000011010000000(8086H)。<3在单节拍方式下,让计算机反复执行这一指令。SHL:<1将教学计算机运行功能选择开关置为00001010(单步运行、手拨、组合逻辑、联机工作方式、16位字长、计原16系统,使其工作在单节拍下。<2使用手拨开关SWH、SWL输入OUT80指令机器码1000011010000000(8086H)。<3在单节拍方式下,让计算机反复执行这一指令。B组:JMAP:<1将教学计算机运行功能选择开关置为10000000(单步运行、手拨、组合逻辑、联机工作方式、16位字长、计原16系统,使其工作在单节拍下。<2使用手拨开关SWH、SWL输入OUT80指令机器码1000011010000000(8086H)。<3在单节拍方式下,让计算机反复执行这一指令。MVRD:<1将教学计算机运行功能选择开关置为10001000(单步运行、手拨、组合逻辑、联机工作方式、16位字长、计原16系统,使其工作在单节拍下。<2使用手拨开关SWH、SWL输入OUT80指令机器码1000011010000000(8086H)。<3在单节拍方式下,让计算机反复执行这一指令D组:CALA:<1将教学计算机运行功能选择开关置为11001110(单步运行、手拨、组合逻辑、联机工作方式、16位字长、计原16系统,使其工作在单节拍下。<2使用手拨开关SWH、SWL输入OUT80指令机器码1000011010000000(8086H)。<3在单节拍方式下,让计算机反复执行这一指令【实验结果】节拍指令编码MRWI2~I0I8~I6`I5~I31000公共节拍10001100100100001000100110000010001001000000SHR00001011100011101000SHL000010111000111110000110MVRD100010001000110100000100JMPA100000000011110110000110CALA11001110100011010000BASSTSSHSCIDC2DC1注释010101010000011110000→PC,DI#=0010101010000010110000000000000000000100010000000101000000000SHRRD10000000110000000000SHLRD01010101000001011000PC→ARPC+1→PC01

温馨提示

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

评论

0/150

提交评论