文档库 最新最全的文档下载
当前位置:文档库 › 计算机组成原理实验1-总汇编语言实验

计算机组成原理实验1-总汇编语言实验

微处理器与接口技术

实验指导

实验一监控程序与汇编语言程序设计实验

一、实验要求

1、实验之前认真预习,明确实验的目的和具体实验内容,设计好主要的待实验的程序,做好实验之前的必要准备。

2、想好实验的操作步骤,明确通过实验到底可以学习哪些知识,想一想怎么样有意识地提高教学实验的真正效果。

3、在教学实验过程中,要爱护教学实验设备,认真记录和仔细分析遇到的现象与问题,找出解决问题的办法,有意识地提高自己创新思维能力。

4、实验之后认真写出实验报告,重点在于预习时准备的内容,实验数据,实验过程、遇到的现象和解决问题的办法,自己的收获体会,对改进教学实验安排的建议等。善于总结和发现问题,写好实验报告是培养实际工作能力非常重要的一个环节,应给以足够的重视。

二、实验目的

【1】学习和了解TEC-XP16教学实验系统监控命令的用法;

【2】学习和了解TEC-XP16教学实验系统的指令系统;

【3】学习简单的TEC-XP16教学实验系统汇编程序设计。

三、实验注意事项

(一)实验箱检查

【1】连接电源线和通讯线前TEC-XP16实验系统的电源开关一定要处于断开状态,否则可能会对TEC-XP16实验系统上的芯片和PC机的串口造成损害。

【2】五位控制开关的功能示意图如下:

【3】几种常用的工作方式【开关拨到上方表示为1,拨到下方为0】

(二)软件操作注意事项

【1】用户在选择串口时,选定的是PC机的串口1或串口2,而不是TEC-XP16实验系统上的串口。即选定的是用户实验时通讯线接的PC机的端口;

【2】如果在运行到第五步时没有出现应该出现的界面,用户需要检查是不是打开了两个软件界面,若是,关掉其中一个再试;

【3】有时若TEC-XP16实验系统不通讯,也可以重新启动软件或是重新启动PC再试;

【4】在打开该应用软件时,其它的同样会用到该串口的应用软件要先关掉。

(三)联机通讯失败自检

如果上述的硬件和软件的操作都正确,联机却依旧失败,可以进行如下测试:

【1】测试PC机的串口是否能正常工作,或是换一台PC或换同一台PC的另一个串口再试,在换串口时要将TEC-XP16实验系统断电,换完后重新启动实验系统和软件;

【2】检查机器上的元器件插接是否正确(建议用户对照能够正常通讯的实验系统进行详细检查),有没有被学生动过,尤其是扩展内存和扩展I/O接口时,芯片方向是否插对,片选信号有没有连接;

【3】检查相应的短路子是否连接正确;

【4】建议教师预留一台运行正常的TEC-XP16实验系统备用,机器出问题后可以对照检查。

四、实验步骤

1.准备一台串口工作良好的PC机;

2.将TEC-XP16放在实验台上,打开实验箱的盖子,确定电源处于断开状态;

3.将黑色的电源线一端接220V交流电源,另一端插在TEC-XP16实验箱的电源插座里;

4.取出通讯线,将通讯线的9芯插头接在TEC-XP16实验箱上的串口“COM1”或“COM2”上,另一端接到PC机的串口上;

5.将TEC-XP16实验系统左下方的五个黑色的控制机器运行状态的开关置于正确的位置,在这个实验中开关应置为:00110【连续、内存、硬布线、联机、16位】,其它实验相同;

6.打开电源,船形开关和5V电源指示灯亮。

7.在PC机上运行PCEC16.EXE文件,根据连接的PC机的串口设置所用PC机的串口为“1”或“2”, 其它的设置一般不用改动,直接回车即可。(具体步骤附后)

8.按一下“RESET”按键,再按一下“START”按键,主机上显示:

TEC-2008 CRT MONITOR

Version3.0 2007.10

Computer Architectur Lab.,Tsinghua University

Copyright Jason He

>

五、仿真终端软件的操作步骤

【1】在PC机上建一个文件夹TEC-XP16;

【2】取出配套的用户盘,将应用程序PCEC16拷贝到用户机器硬盘上该文件夹里;

【3】双击PCEC16图标,出现如图所示的界面:

【4】系统默认选择串口1,用户可根据实际情况选择串口1或是串口2(这里的串口指的是和TEC-XP16教学实验系统相连的PC机的串口),按回车后出现如图界面:

【5】图中是系统设定的一些传输参数,建议用户不要改动,直接回车。按一下“RESET”按钮放开后再按一下“START”按钮,出现界面如图所示:

【6】此时表明TEC-XP16机器联机通讯正常。

六、实验内容

【1】学习联机使用TEC-XP16教学实验系统和仿真终端软件PCEC;

【2】使用监控程序的R命令显示/修改寄存器内容、D命令显示存储器内容、E命令修改存储器内容;

【3】用“A”命令输入例1-例6,用“G”命令或“T”命令运行并观察结果,请在实验报告中给出各例的运行结果。

注:实验给出的例子,都是用监控程序的A命令完成输入源汇编程序的。在涉及到汇编语句标号的地方,不能用符号表示,只能在指令中使用绝对地址。使用内存中的数据,也由程序员给出数据在内存中的绝对地址。显而易见,对这样的极短小程序矛盾并不突出,但很容易想到,对很大的程序, 一定会有较大的困难。

在用A命令输入汇编源语句的过程中,有一定用机经验的人,常常抱怨A命令中未提供适当的编辑功能,这并不是设计者的疏漏,因为我们并不准备在这种操作方式下支持设计较长的程序,这种工作应转到提供了交叉汇编程序的PC机上去完成。相反的情况是,输入上述一些小程序,用监控程序的A命令完成,往往比用交叉汇编完成更简捷。

七、思考题

若把例2中的IN 81, SHR R0, JRNC 2028三个语句换成4个MVRR R0,R0语句, 该程序执行过程会出现什么现象? 试分析并实际执行一次。

提示:该程序改变这三条语句后,若用T命令单条执行,会依次显示0~9十个数字。若用G命令运行程序,程序执行速度快,端口输出速度慢,这样就会跳跃输出。

在命令行提示符状态下输G 2020,屏幕显示09。

类似的,若要求在终端屏幕上输出'A'到'Z'共26个英文字母,应如何修改例1中给出的

程序? 请验证之。

附:例子程序

例1 设计一个小程序, 从键盘上接收一个字符并在屏幕上输出显示该字符。

【1】在命令行提示符状态下输入:

A 2000↙;

屏幕将显示:

2000:

输入如下形式的程序:

2000: IN 81 ;判键盘上是否按了一个键

2001:SHR R0 ;即串行口是否有了输入的字符

2002:SHR R0

2003:JRNC 2000 ;未输入完则循环测试

2004:IN 80 ;接收该字符

2005: OUT 80↙;在屏幕上输出显示字符‘6’

2006: RET↙;每个用户程序都必须用RET指令结束

2007:↙;(按回车键即结束输入过程)

注:在十六位机中,基本I/O接口的地址是确定的,数据口的地址为80,状态口的地址为81。

【2】用“G”命令运行程序

在命令行提示符状态下输入:G2000↙

执行上面输入的程序,结果是什么?

注:该例建立了一个从主存2000H地址开始的小程序。在这种方式下, 所有的数字都约定使用16进制数,故数字后不用跟字符H。每个用户程序的最后一个语句一定为RET汇编语句。因为监控程序是选用类似子程序调用方式使实验者的程序投入运行的,用户程序只有用RET语句结束,才能保证程序运行结束时能正确返回到监控程序的断点,保证监控程序能继续控制教学机的运行过程。

例2 设计一个小程序, 用次数控制在终端屏幕上输出'0'到'9'十个数字符。

【1】在命令行提示符状态下输入:A 2020↙

屏幕将显示:

2020:

从地址2020H开始输入下列程序:

2020:MVRD R2,00OA ;送入输出字符个数

2022:MVRD R0,0030 ;“0”字符的ASCII码送寄存器R0

2024:OUT 80 ;输出保存在R0低位字节的字符

2025:DEC R2 ;输出字符个数减1

2026:JRZ 202E ;判10个字符输出完否,已完,则转到程序结束处

2027:PUSH R0 ;未完,保存R0的值到堆栈中

2028:IN 81 ;查询接口状态,判字符串行输出完成否,

2029:SHR R0 ;

202A:JRNC 2028 ;未完成, 则循环等待

202B:POP R0 ;已完成, 准备输出下一字符并从堆栈恢复R0的值

202C:INC R0 ;得到下一个要输出的字符

202D:JR 2024 ;转去输出字符

202E:RET

202F:↙

该程序的执行码放在2020H起始的连续内存区中。若送入源码的过程中有错, 系统会进行提示, 等待重新输入正确汇编语句。在输入过程中, 在应输入语句的位置直接打回车则结束输入过程。

【2】用“G”命令运行程序

在命令行提示符状态下输入:G2020

执行结果为?

例3 从键盘上连续打入多个属于‘0’到‘9’的数字符并在屏幕上显示, 遇到非数字字符结束输入过程。

【1】在命令行提示符状态下输入:A 2040↙

屏幕显示如下:2040:从地址2040H开始输入下列程序:

(2040) MVRD R2,0030 ;用于判数字符的下界值

MVRD R3,0039 ;用于判数字符的上界值

(2044) IN 81 ;判键盘上是否按了一个键,

SHR R0 ;即串行口是否有了输入的字符

SHR R0

JRNC 2044 ;没有输入则循环测试

IN80 ;输入字符到R0

MVRD R1,00FF

AND R0,R1 ;清零R0的高位字节内容

CMP R0,R2 ;判输入字符≥字符'0'否

JRNC 2053 ;为否, 则转到程序结束处

CMP R3,R0 ;判输入字符≤字符'9'否

JRNC 2053 ;为否, 则转到程序结束处

OUT 80 ;输出刚输入的数字符

JMPA 2044 ;转去程序前边2044处等待输入下一个字符(2053) RET

【2】在命令行提示符状态下输入:G 2040↙

执行结果为?

例4 计算1到10的累加和。

【1】在命令行提示符状态下输入:

A 2060↙屏幕将显示:

2060:从地址2060H开始输入下列程序:

(2060) MVRD R1,0000 ;置累加和的初值为0

MVRD R2,00OA ;最大的加数

MVRD R3,0000

(2066) INC R3 ;得到下一个参加累加的数

ADD R1,R3 ;累加计算

CMP R3,R2 ;判是否累加完

JRNZ 2066 ;未完, 开始下一轮累加

RET

【2】在命令行提示符状态下输入:G 2060↙

注:运行过后, 可以用R命令观察累加器的内容。R1的内容为累加和。

执行结果为?

例5 设计一个有读写内存和子程序调用指令的程序,功能是读出内存中的字符,将其显示到显示器的屏幕上,转换为小写字母后再写回存储器原存储区域。

【1】将被显示的6个字符‘A’~‘F’送入到内存20F0H开始的存储区域中。

在命令行提示符状态下输入:

E 20F0↙屏幕将显示:

20F0 内存单元原值:

按下列格式输入:

20F0 内存原值:0041 内存原值:0042 内存原值:0043

内存原值:0044 内存原值:0045 内存原值:0046↙

在命令行提示符状态下输入:

从地址2080H开始输入下列程序:

(2080) MVRD R3,0006 ;指定被读数据的个数

MVRD R2,20F0 ;指定被读、写数据内存区首地址

(2084) LDRR R0,[R2] ;读内存中的一个字符到R0寄存器

CALA 2100 ;指定子程序地址为2100,调用子程序,完成显示、

转换并写回的功能

DEC R3 ;检查输出的字符个数

JRZ 208B ;完成输出则结束程序的执行过程

INC R2 ;未完成,修改内存地址

JR 2084 ;转移到程序的2086处,循环执行规定的处理(208B) RET

从地址2100H开始输入下列程序:

(2100) OUT 80 ;输出保存在R0寄存器中的字符

MVRD R1,0020

ADD R0,R1 ;将保存在R0中的大写字母转换为小写字母

STRR [R2],R0 ;写R0中的字符到内存,地址同LOD所用的地址(2105) IN 81 ;测试串行接口是否完成输出过程

SHR R0

JRNC 2105 ;未完成输出过程则循环测试

RET ;结束子程序执行过程,返回主程序

【2】在命令行提示符状态下输入:G 2080↙

屏幕显示运行结果为?

【3】在命令行提示符状态下输入:D 20F0↙

20F0H~20F5H内存单元的内容为?

例6 设计一个程序在显示器屏幕上循环显示95个(包括空格字符)可打印字符。【1】在命令行提示符状态下输入:A 20A0↙

屏幕将显示:20A0:

从地址20A0H开始输入下列程序:

A 20A0 ;从内存的20A0地址单元开始建立用户的第一个程序

20A0: MVRD R1,7E ;向寄存器传送立即数

20A2: MVRD R0,20 ;

20A4: OUT 80 ;通过串行接口输出R0低位字节内容到显示器屏幕

20A5: PUSH R0 ;保存R0寄存器的内容到堆栈中

20A6: IN 81 ;读串行接口的状态寄存器的内容

20A7: SHR R0 ;R0寄存器的内容右移一位,最低位的值移入标志位C

20A8: JRNC 20A6 ;条件转移指令,当标志位C不是1时就转到20A6地址

20A9: POP R0 ;从堆栈中恢复R0寄存器的原内容

20AA: CMP R0,R1 ;比较两个寄存器的内容是否相同,相同则标志位Z=1

20AB: JRZ 20AE ;条件转移指令,当标志位Z为1时转到20AE地址,结束程序20AC: INC R0 ;把R0寄存器的内容增加1

20AD: JR 20A4 ;无条件转移指令,一定转移到20A4地址

20AE: RET ;子程序返回指令,程序结束

【2】在命令行提示符状态下输入:G 20A0↙

运行过后, 可以观察到显示器上会显示出所有可打印的字符。

《微处理器与接口技术实验》实验报告 1 监控程序与汇编语言程序设计学号姓名专业成绩

一、实验结果

1. 执行例1输入的程序,结果是什么?

2. 执行例2输入的程序,结果是什么?

3. 执行例3输入的程序,结果是什么?

4. 执行例4输入的程序,结果是什么?

5. 执行例5输入的程序,屏幕显示运行结果是什么?在命令行提示符状态下输入:D 20F0↙ 20F0H~20F5H内存单元的内容分别是什么?

6. 执行例6输入的程序,结果是什么?

二、思考题

若把例2中的IN 81, SHR R0, JRNC 2028三个语句换成4个MVRR R0,R0语句, 该程序执行过程会出现什么现象? 试分析并实际执行一次。

计算机组成原理实验1-汇编语言实验

微处理器与接口技术 实验指导

实验一监控程序与汇编语言程序设计实验 一、实验要求 1、实验之前认真预习,明确实验的目的和具体实验内容,设计好主要的待实验的程序,做好实验之前的必要准备。 2、想好实验的操作步骤,明确通过实验到底可以学习哪些知识,想一想怎么样有意识地提高教学实验的真正效果。 3、在教学实验过程中,要爱护教学实验设备,认真记录和仔细分析遇到的现象与问题,找出解决问题的办法,有意识地提高自己创新思维能力。 4、实验之后认真写出实验报告,重点在于预习时准备的内容,实验数据,实验过程、遇到的现象和解决问题的办法,自己的收获体会,对改进教学实验安排的建议等。善于总结和发现问题,写好实验报告是培养实际工作能力非常重要的一个环节,应给以足够的重视。 二、实验目的 【1】学习和了解TEC-XP16教学实验系统监控命令的用法; 【2】学习和了解TEC-XP16教学实验系统的指令系统;

【3】学习简单的TEC-XP16教学实验系统汇编程序设计。 三、实验注意事项 (一)实验箱检查 【1】连接电源线和通讯线前TEC-XP16实验系统的电源开关一定要处于断开状态,否则可能会对TEC-XP16实验系统上的芯片和PC机的串口造成损害。 【2】五位控制开关的功能示意图如下: 【3】几种常用的工作方式【开关拨到上方表示为1,拨到下方为0】 (二)软件操作注意事项 【1】用户在选择串口时,选定的是PC机的串口1或串口2,而不是TEC-XP16实验系统上的串口。即选定的是用户实验时通讯线接的PC机的端口; 【2】如果在运行到第五步时没有出现应该出现的界面,用户需要检查是不是打开了两个软件界面,若是,关掉其中一个再试; 【3】有时若TEC-XP16实验系统不通讯,也可以重新启动软件或是重新启动PC再试; 【4】在打开该应用软件时,其它的同样会用到该串口的应用软件要先关掉。

计算机组成原理实验题

一.这是一个判断某一年是否为润年的程序,运行可执行程序Ifleap.exe后,输入具体的年份,可输出是本年是否为闰年的提示信息。 DATA SEGMENT ;定义数据段 INFON DB 0DH,0AH,'PLEASE INPUT A YEAR: $' ;声明空间存储输入提示信息,其中0d回车,0a换行 Y DB 0DH,0AH,'THIS IS A LEAP YEAR! $' ;声明空间存储是闰年提示信息,同上另起一行输出 N DB 0DH,0AH,'THIS IS NOT A LEAP YEAR! $' ;声明空间存储不是闰年提示信息,同上另起一行输出 W DW 0 ;声明空间存储输入年份解析后生成的年份数字 BUF DB 8 DB ? DB 8 DUP(?) ;声明空间作为缓冲区,总共10个字节,第一个表示准备接受的字DATA ENDS STACK SEGMENT STACK DB 200 DUP(0) STACK ENDS ;定义一个栈,200字节 CODE SEGMENT ASSUME DS:DATA,SS:STACK,CS:CODE START:MOV AX,DATA MOV DS,AX ;指定堆栈 LEA DX,INFON ;在屏幕上显示提示信息 MOV AH,9 INT 21H ;将infon开始的字符串输出到屏幕 LEA DX,BUF ;从键盘输入年份字符串 MOV AH,10 INT 21H MOV CL, [BUF+1] ;获取实际输入长度 LEA DI,BUF+2 ;获取字符串首地址 CALL DATACATE ;调用子程序,将输入字符串传化为年份数字 CALL IFYEARS ;调用子程序,判断是否闰年 JC A1 ;如果进位标记C为1则跳转到a1

计算机组成原理实验报告1

《计算机组成原理实验》报告1姓名学号教师时间地点机位 实验名称:数据传送实验 一、实验目的 1. 理解自然语言形式命令的人工译码过程。 2. 学习系统部件和数据总线间传送数据的操作。 二、实验原理 寄存器的作用是用于保存数据的。 CP226实验仪用74HC574(8D型上升沿触发器)构成各种寄存器。

寄存器A 的原理图 A 6 V A 4 .12 A 1 C K u 卜;、 寄存器组(R0-R3的原理图 SR SA 谨掙 G 0 U0 4 1 R] 1 V R2 1 1 RJ

三、实验内容 1、将57H写入A寄存器。 2、将68H写入W寄存器。 3、将12H写入R0寄存器。 四、实验步骤 1、将57H写入A寄存器。 (电平为:低咼低咼低咼咼咼) 置控制信号为选通寄存器A,置K0 (AEN)为0。 ②关闭机箱电源,用导线把K0和AEN连接。 ③检查连线和电键位置,确信无误。 ④开启机箱电源,按下RST键复位,再按小键盘TV/ME键3次显示屏进入Hand??手动状态。按下小键盘STEP脉冲键,CK由高变低,观察现象;放开小键盘STEP键,CK脉冲由低变高,产生一个上升沿,数据57H打入选通的寄存器A,观察现象。 2、将68H写入W寄存器。 (电平为:低咼咼低咼低低低) 置控制信号为选通寄存器W,置K1 (WEN)为0, K0 (AEN)为1。 ②用导线把K1和WEN连接。 ③检查连线和电键位置,确信无误。 ④按下小键盘STEP脉冲键,CK由高变低,观察现象;放开小键盘STEP键,CK脉冲由低变高,产生一个上升沿,数据68H打入选通的寄存器W,观察现象。 3、将12H写入R0寄存器。 (电平为:低低低高低低高低) ②用不同颜色的导线把K5和RRD连接,K4和RWR连接,K3和SB连接,K2和SA连接。 ③检查连线和电键位置,确信无误。 ④按下小键盘STEP脉冲键,CK由高变低,观察现象;放开小键盘STEP键,CK脉冲由低变高,产生一个上升沿,数据12H打入选通的寄存器R0,观察现象。

汇编语言实验2

计算机工程系实验报告 课程名称:汇编语言 实验项目名称:用机器指令和汇编语言指令编程 班级:15级计科4班姓名:梁红梅学号:15091413 一、实验目的: 1.学习Debug中D命令的使用方法,掌握查看指定内存单元的内容的指令,其中本实验中 主要掌握“d段地址:偏移地址”的格式; 2.了解Debug 中D命令程序的执行者:CPU,了解D命令的执行过程; 3.掌握CPU在访问内存单元时的主要过程; 4.学习怎样利用在Debug中cs、ds、ss、es这4个段寄存器,简化debug命令格式。 二、实验要求: 使用Debug,将下面的程序段写入内存,逐条执行,根据指令执行后的实际运行情况填空。Mov ax,ffff Mov ds,ax Mov ax,2200 Mov ss,ax Mov sp,0100 Mov ax,[0] ;ax= Add ax,[2] ;ax= Mov bx,[4] ;bx= Add bx,[6] ;bx= Push ax ;sp= 修改的内存单元的地址是内容为 Push bx ;sp= 修改的内存单元的地址是内容为 Pop ax ;sp= ;ax= Pop bx ;sp= ;ax= Push [4] ;sp= 修改的内存单元的地址是内容为 Push [6] ;sp= 修改的内存单元的地址是内容为

三、实验数据记录: 1.进入Debug后使用-a命令将程序写入内存 2.通过使用-t命令将写入内存的程序逐一执行,直到命令执行完毕

三、实验结果及分析: 1.mov ax,[0] 执行完成后 ax=C0EA; 2.add ax,[2]执行完成后ax=C0FC; 3.mov bx,[4] 执行完成后 bx=30F0; 4.add bx,[6]执行完成后 bx=6021; 5.push ax 执行完成后 sp= 00FE 修改的内存单元的地址是 2200:00FE 内容为C0FC 6.push bx 执行完成后 sp= 00FC 修改的内存单元的地址是 2200:00FC 内容为6021

计算机组成原理实验

计算机组成原理 一、8 位算术逻辑运算 8 位算术逻辑运算实验目的 1、掌握简单运算器的数据传送通路组成原理。 2、验证算术逻辑运算功能发生器74LS181的组合功能。 8 位算术逻辑运算实验内容 1、实验原理 实验中所用的运算器数据通路如图3-1所示。其中运算器由两片74LS181以并/串形成8位字长的ALU构成。运算器的输出经过一个三态门74LS245(U33)到ALUO1插座,实验时用8芯排线和内部数据总线BUSD0~D7插座BUS1~6中的任一个相连,内部数据总线通过LZD0~LZD7显示灯显示;运算器的两个数据输入端分别由二个锁存器74LS273(U29、U30)锁存,两个锁存器的输入并联后连至插座ALUBUS,实验时通过8芯排线连至外部数据总线EXD0~D7插座EXJ1~EXJ3中的任一个;参与运算的数据来自于8位数据开并KD0~KD7,并经过一三态门74LS245(U51)直接连至外部数据总线EXD0~EXD7,通过数据开关输入的数据由LD0~LD7显示。 图中算术逻辑运算功能发生器74LS181(U31、U32)的功能控制信号S3、S2、S1、S0、CN、M并行相连后连至SJ2插座,实验时通过6芯排线连至6位功能开关插座UJ2,以手动方式用二进制开关S3、S2、S1、S0、CN、M来模拟74LS181(U31、U32)的功能控制信号S3、S2、S1、S0、CN、M;其它电平控制信号LDDR1、LDDR2、ALUB`、SWB`以手动方式用二进制开关LDDR1、LDDR2、ALUB、SWB来模拟,这几个信号有自动和手动两种方式产生,通过跳线器切换,其中ALUB`、SWB`为低电平有效,LDDR1、LDDR2为高电平有效。 另有信号T4为脉冲信号,在手动方式下进行实验时,只需将跳线器J23上T4与手动脉冲发生开关的输出端SD相连,按动手动脉冲开关,即可获得实验所需的单脉冲。 2、实验接线 本实验用到4个主要模块:⑴低8位运算器模块,⑵数据输入并显示模块,⑶数据总线显示模块,⑷功能开关模块(借用微地址输入模块)。

汇编语言实验一

淮阴工学院 汇编语言程序设计实验报告 选题名称:实验一调试工具的使用方法训练 系(院):计算机工程学院 专业:计算机科学与技术 班级: 1101 姓名:康志杰学号: 1101301132 指导教师:王福德 学年学期:2013 学年第 2 学期 2013 年 4 月15 日

实验一利用DEBUG调试程序调试程序段 <1 > 实验目的: (1)熟悉DEBUG有关命令的使用方法 (2)利用DEBUG掌握有关指令的功能 (3)利用DEBUG运行简单的程序段 <2 > 实验内容 (1)进入和退出DEBUG程序 1)开始——运行,输入cmd,点确定或回车键进入DOS环境 2)在命令窗口输入debug进入debug程序 3)进入debug程序后,按q退出

(2) 学会DEBUG中的D命令、E命令、R命令、T命令、A命令、G命令等的使用。对于U命 令、N命令、W命令等,也应试一下。 1 显示存储器单元命令D 格式:D [<地址范围>] 功能:显示指定地址范围内的存储区数据,包括十六进制数据形式及其对应的ASCII码字符显示。 2 写存储器单元命令E 格式:E <地址> [<字符串>] 功能:逐个修改指定单元内容或将字节串写入指定的一组连续单元。 例:将字节串′computer′写入以100H为起始地址的存储器区。 -E 100′computer′ 3显示和修改某个指定寄存器内容, 格式为:-R 寄存器名 例如打入:-R AX 系统将响应如下: AX 0000

: 表示AX当前内容为0000,此时若不对其作修改,可按ENTER键,否则,打入修改后内容,如: -R BX BX 0000 :1000 则BX内容由0000改为1000 4显示和修改标志位状态, 命令格式为:-RF 系统将给出响应,如 NV UP EI PL NZ NA PO NC- 这时若不作修改可按ENTER键,否则在“-”号之后键入修改值,键入顺序任意。如 NV UP EI PL NZ NA PO NC-ZR CY

计算机组成原理实验

实验一基础汇编语言程序设计 一、实验目的: 1、学习和了解TEC-XP16教学实验系统监控命令的用法。 2、学习和了解TEC-XP16教学实验系统的指令系统。 3、学习简单的TEC-XP16教学实验系统汇编程序设计。 二、预习要求: 1、学习TEC-XP16机监控命令的用法。 2、学习TEC-XP16机的指令系统、汇编程序设计及监控程序中子程序调用。 3、学习TEC-XP16机的使用,包括开关、指示灯、按键等。 4、了解实验内容、实验步骤和要求。 三、实验步骤: 在教学计算机硬件系统上建立与调试汇编程序有几种操作办法。 第一种办法,是使用监控程序的A命令,逐行输入并直接汇编单条的汇编语句,之后使用G命令运行这个程序。缺点是不支持汇编伪指令,修改已有程序源代码相对麻烦一些,适用于建立与运行短小的汇编程序。 第二种办法,是使用增强型的监控程序中的W命令建立完整的汇编程序,然后用M命令对建立起来的汇编程序执行汇编操作,接下来用G命令运行这个程序。适用于比较短小的程序。此时可以支持汇编伪指令,修改已经在内存中的汇编程序源代码的操作更方便一些。 第三种办法,是使用交叉汇编程序ASEC,首先在PC机上,用PC机的编辑程序建立完整的汇编程序,然后用ASEC对建立起来的汇编程序执行汇编操作,接下来把汇编操作产生的二进制的机器指令代码文件内容传送到教学机的内存中,就可以运行这个程序了。适用于规模任意大小的程序。

在这里我们只采用第一种方法。 在TEC-XP16机终端上调试汇编程序要经过以下几步: 1、使教学计算机处于正常运行状态(具体步骤见附录联机通讯指南)。 2、使用监控命令输入程序并调试。 ⑴用监控命令A输入汇编程序 >A 或>A 主存地址 如:在命令行提示符状态下输入: A 2000↙;表示该程序从2000H(内存RAM区的起始地址)地址开始 屏幕将显示: 2000: 输入如下形式的程序: 2000: MVRD R0,AAAA ;MVRD 与R0 之间有且只有一个空格,其他指令相同 2002: MVRD R1,5555 2004: ADD R0,R1 2005: AND R0,R1 2006: RET ;程序的最后一个语句,必须为RET 指令 2007:(直接敲回车键,结束A 命令输入程序的操作过程) 若输入有误,系统会给出提示并显示出错地址,用户只需在该地址重新输入正确的指令即可。 ⑵用监控命令U调出输入过的程序并显示在屏幕上 >U 或>U 主存地址

计算机组成原理-实验一

《计算机组成原理-实验一》 实验报告 韶关学院数信学院 2010级信息与计算科学 2012年 9月

实验一:本实验分三部分: 1熟悉Linux常用命令(上) 2 Linux下程序设计基础(中) 3汇编语言与机器指令(下)(暂略) 实验一熟悉Linux常用命令(上) 一,实验要求: 1,熟练Linux下的常用命令. 2,熟练地操作linux. 二,实验内容: 练习使用Linux常用命令; 三,实验环境: windows7的vmware的Redhat。 四,Linux下常用命令实验操作:(以下命令若权限不够,要在命令前加sudo) 1. 写出下面命令每个部分含义,字符C表示命令(Command)、O表示选项(Option)、OA表示选项的参数(Option Argument)、CA表示命令的参数(Command Argument),如: C OOA O OA C A Answer $ lpr –Pspr –n 3 proposal.ps Command line Linux命令行的语法结构: $ command [[-]option(s)] [option argument(s)] [command argument(s)] 含义: ● $:linux系统提示符,您的linux系统可能是其他的提示符 ● Command :linux命令的名字 ● [[-]option(s)] :改变命令行为的一个或多个修饰符,即选项 ● [option argument(s)] :选项的参数 ● [command argument(s)] :命令的参数 1) ls -la convert.txt 2) more convert.txt 3) pwd 4) cat file1 file2 file3 5) rm -r temp 6) ping –c 3 https://www.wendangku.net/doc/9f6906708.html, 7) telnet https://www.wendangku.net/doc/9f6906708.html, 13 8) cc -o short short.c -lbaked 9) chmod u+rw file1.c 10) uname –n

计算机组成原理实验七

图16 启停单元布局图 序电路由1片74LS157、2片74LS00、4个LED PLS2、PLS3、PLS4)组成。当LED发光时 图17

图17 时序单元布局图 (二)启停、脉冲单元的原理 1.启停原理:(如图18) 启停电路由1片7474组成,当按下RUN按钮,信号输出RUN=1、STOP=0,表示当前实验机为运行状态。当按下STOP 按钮,信号RUN=0、STOP=1,表示当前实验机为停止状态。当 系统处于停机状态时,微地址、进位寄存器都被清零,并且可 通过监控单元来读写内存和微程序。在停止状态下,当HALT 时有一个高电平,同时HCK有一个上升沿,此时高电平被打入 寄存器中,信号输出RUN=1、STOP=0,使实验机处于运行状态。

图18 启停单元原理图 2.时序电路: 时序电路由监控单元来控制时序输出(PLS1、PLS2、PLS3、PLS4)。实验所用的时序电路(如图19)可产生4个等间隔的时序信号PLS1、PLS2、PLS3、PLS4。为了便于监控程序流程,由监控单元输出PO信号和SIGN脉冲来实现STEP(微单步)、GO (全速)和HALT(暂停)。当实验机处于运行状态,并且是微单步执行,PLS1、PLS2、PLS3、PLS4分别发出一个脉冲,全速执行时PLS1、PLS2、PLS3、PLS4脉冲将周而复始的发送出去。在时序单元中也提供了4个按钮,实验者可手动给出4个独立的脉冲,以便实验者单拍调试模型机。

图19 时序电路图 实验步骤 1.交替按下“运行”和“暂停”,观察运行灯的变化(运行:RUN 亮;暂停:RUN灭)。 2.把HALT信号接入二进制拨动开关,HCK接入脉冲单元的PLS1。按下表接线 接入开关位号 信号定 义 HCK PLS1孔 HALT H13孔 3.按启停单元中的停止按钮,置实验机为停机状态,HALT=1。 4.按脉冲单元中的PLS1脉冲按键,在HCK上产生一个上升

(完整版)计算机组成原理作业讲解1-4章答案分解

1.1 概述数字计算机的发展经过了哪几个代?各代的基本特征是什么? 略。 1.2 你学习计算机知识后,准备做哪方面的应用? 略。 1.3 试举一个你所熟悉的计算机应用例子。 略。 1.4 计算机通常有哪些分类方法?你比较了解的有哪些类型的计算机? 略。 1.5 计算机硬件系统的主要指标有哪些? 答:机器字长、存储容量、运算速度、可配置外设等。 答:计算机硬件系统的主要指标有:机器字长、存储容量、运算速度等。 1.6 什么是机器字长?它对计算机性能有哪些影响? 答:指CPU一次能处理的数据位数。它影响着计算机的运算速度,硬件成本、指令系统功能,数据处理精度等。 1.7 什么是存储容量?什么是主存?什么是辅存? 答:存储容量指的是存储器可以存放数据的数量(如字节数)。它包括主存容量和辅存容量。 主存指的是CPU能够通过地址线直接访问的存储器。如内存等。 辅存指的是CPU不能直接访问,必须通过I/O接口和地址变换等方法才能访问的存储器,如硬盘,u盘等。 1.8 根据下列题目的描述,找出最匹配的词或短语,每个词或短语只能使用一次。(1)为个人使用而设计的计算机,通常有图形显示器、键盘和鼠标。 (2)计算机中的核心部件,它执行程序中的指令。它具有加法、测试和控制其他部件的功能。 (3)计算机的一个组成部分,运行态的程序和相关数据置于其中。 (4)处理器中根据程序的指令指示运算器、存储器和I/O设备做什么的部件。 (5)嵌入在其他设备中的计算机,运行设计好的应用程序实现相应功能。 (6)在一个芯片中集成几十万到上百万个晶体管的工艺。 (7)管理计算机中的资源以便程序在其中运行的程序。 (8)将高级语言翻译成机器语言的程序。 (9)将指令从助记符号的形式翻译成二进制码的程序。 (10)计算机硬件与其底层软件的特定连接纽带。 供选择的词或短语: 1、汇编器 2、嵌入式系统 3、中央处理器(CPU) 4、编译器 5、操作系统 6、控制器 7、机器指令 8、台式机或个人计算机 9、主存储器10、VLSI 答:(1)8,(2)3,(3)9,(4)6,(5)2, (6)10,(7)5,(8)4,(9)1,(10)7 计算机系统有哪些部分组成?硬件由哪些构成? 答:计算机系统硬件系统和软件系统组成。 硬件由控制器、存储器、运算器、输入设备和输出设备五大部件构成 1.9 冯·诺伊曼V on Neumann计算机的主要设计思想是什么? 略。 1.10 计算机硬件有哪些部件,各部件的作用是什么?

汇编语言实验

实验四屏幕字符显示程序 实验目的: 通过实验掌握下列知识: 1、8088指令: JMP,ROR,XOR,HLT。 2、利用DOS功能调用INT21H的2号和9号功能进行屏幕显示的方法。 3、直接向视频RAM(VRAM)送ASCII码进行屏幕显示的方法。 4、IBM-PC机的ASCII码表及控制字符。 5、命令(。COM)文件及使用方法。 6、利用^Break退出程序的方法及局限性。 实验内容及步骤: 一、利用INT 21 0AH号功能调用显示字符串。 1、用A命令在100H处键入下列程序: MOV AH, 9 MOV DX,110 INT 21 INT 20 2、用A命令在110H处键入下列字符串的ASCII码: DB 'This is a sample!$' 3、用N命令和W命令将此程序(包括数据区)存入文件名为AA。COM的磁盘文件中。(存入前BX:CX必须置为文件长度值)。 4、用Q命令退出DEBUG。 5、在DOS命令下打AA,运行此程序,即在屏幕上显示'This is a sample!'字符串,若不出现,用DEBUG检查程序有无错误。

二、利用INT 21H 2号功能显示字符: 1、用A命令在100H处键入下列程序: XOR DL,DL MOVCX,100 LOP:MOV AH,2 INT 21 INC DL PUSH CX MOV CX,8 DELY: PUSH CX MOV CX,0 J: LOOP J POP CX LOOP DELY POP CX LOOP LOP INT 20 2、用G命令运行程序,即在屏幕上依次缓慢的显示256个ASCII字符。仔细观察每个字符,和IBM-PC ASCII码表对照,看07H-0DH处控制字符显示结果与表上有何不同? 3、按CTRL+BREAK退出此程序,若一次不行可多做几次。

计算机组成原理实验完整版

河南农业大学 计算机组成原理实验报告 题目简单机模型实验 学院信息与管理科学学院 专业班级计算机科学与技术2010级1班 学生姓名张子坡(1010101029) 指导教师郭玉峰 撰写日期:二○一二年六月五日

一、实验目的: 1.在掌握各部件的功能基础上,组成一个简单的计算机系统模型机; 2.了解微程序控制器是如何控制模型机运行的,掌握整机动态工作过程; 3定义五条机器指令,编写相应微程序并具体上机调试。 二、实验要求: 1.复习计算机组成的基本原理; 2.预习本实验的相关知识和内容 三、实验设备: EL-JY-II型计算机组成原理试验系统一套,排线若干。 四、模型机结构及工作原理: 模型机结构框图见实验书56页图6-1. 输出设备由底板上上的四个LED数码管及其译码、驱动电路构成,当D-G和W/R均为低电平时将数据结构的数据送入数据管显示注:本系统的数据总线为16位,指令、地址和程序计数器均为8位。当数据总线上的数据打入指令寄存器、地址寄存器和程序寄存器时,只有低8位有效。 在本实验我们学习读、写机器指令和运行机器指令的完整过程。在机器指令的执行过程中,CPU从内存中取出一条机器指令到执行结束为一个指令周期,指令由微指令组成的序列来完成,一条机器指令对应一段微程序。另外,读、写机器指令分别由相应的微程序段来完成。

为了向RAM中装入程序和数据,检查写入是否正确,并能启动程序执行,必须设计三个控制操作微程序。 存储器读操作(MRD):拨动清零开关CLR对地址、指令寄存器清零后,指令译码器输入CA1、CA2为“00”时,按“单步”键,可对RAM连续读操作。 存储器写操作(MWE):拨动清零开关CLR对地址、指令寄存器清零后,指令译码器输入CA1、CA2为“10”时,按“单步”键,可对RAM连续写操作。 启动程序(RUN):拨动开关CLR对地址、指令寄存器清零后,指令译码器输入CA1、CA2为“11”时,按“单步”键,即可转入第01号“取指”微指令,启动程序运行。 注:CA1、CA2由控制总线的E4、E5给出。键盘操作方式有监控程序直接对E4、E5赋值,无需接线。开关方式时可将E4、E5接至控制开关CA1、CA2,由开关控制。 五、实验内容、分析及参考代码: 生成的下一条微地址 UA5 UA0 MS5 MS0 微地址

计算机组成原理实验1-运算器

《计算机组成原理》 实验报告 实验一运算器实验

一、实验目的 1.掌握运算器的组成及工作原理; 2.了解4位函数发生器74LS181的组合功能,熟悉运算器执行算术操 作和逻辑操作的具体实现过程; 3.验证带进位控制的74LS181的功能。 二、实验环境 EL-JY-II型计算机组成原理实验系统一套,排线若干。 三、实验内容与实验过程及分析(写出详细的实验步骤,并分析实验结果) 实验步骤:开关控制操作方式实验 1、按图1-7接线图接线: 连线时应注意:为了使连线统一,对于横排座,应使排线插头上的箭头面向自己插在横排座上;对于竖排座,应使排线插头上的箭头面向左边插在竖排座上。 图1-1 实验一开关实验接线图 2、通过数据输入电路的拨开关开关向两个数据暂存器中置数: 1)拨动清零开关CLR,使其指示灯。再拨动CLR,使其指示灯亮。置ALU-G =1:关闭ALU的三态门;再置C-G=0:打开数据输入电路的三态门; 2)向数据暂存器LT1(U3、U4)中置数:

(1)设置数据输入电路的数据开关“D15……D0”为要输入的数值; (2)置LDR1=1:使数据暂存器LT1(U3、U4)的控制信号有效,置LDR2=0:使数据暂存器LT2(U5、U6)的控制信号无效; (3)按一下脉冲源及时序电路的【单脉冲】按钮,给暂存器LT1送时钟,上升沿有效,把数据存在LT1中。 3)向数据暂存器LT2(U5、U6)中置数: (1)设置数据输入电路的数据开关“D15……D0”为想要输入的数值; (2)置LDR1=0:数据暂存器LT1的控制信号无效;置LDR2=1:使数据暂存器LT2的控制信号有效。 (3)按一下脉冲源及时序电路的“单脉冲”按钮,给暂存器LT2送时钟,上升沿有效,把数据存在LT2中。 (4)置LDR1=0、LDR2=0,使数据暂存器LT1、LT2的控制信号无效。 4)检验两个数据暂存器LT1和LT2中的数据是否正确: (1)置C-G=1,关闭数据输入电路的三态门,然后再置ALU-G=0,打开ALU 的三态门; (2)置“S3S2S1S0M”为“F1”,数据总线显示灯显示数据暂存器LT1中的数,表示往暂存器LT1置数正确; (3)置“S3S2S1S0M”为“15”,数据总线显示灯显示数据暂存器LT2中的数,表示往暂存器LT2置数正确。 3、验证74LS181的算术和逻辑功能: 按实验步骤2往两个暂存器LT1和LT2分别存十六进制数“1234H”和“5678H”,在给定LT1=1234H、LT2=5678H的情况下,通过改变“S3S2S1S0MCn”的值来改变运算器的功能设置,通过数据总线指示灯显示来读出运算器的输出值F,填入上表中,参考表1-1的功能表,分析输出F值是否正确。分别将“AR”开关拨至“1”和“0”的状态,观察进位指示灯“CY”的变化并分析原因。 实验结果表为:

实验一基础汇编语言程序设计

实验一基础汇编语言程序设计 实验目的 1.学习和了解TEC-XP十六位机监控命令的用法; 2.学习和了解TEC-XP十六位机的指令系统; 3.学习简单的TEC-XP十六位机汇编程序设计。 实验内容 1.使用监控程序的R命令显示/修改寄存器内容、D命令显示存储器内容、E命令修改存储器内容; 2.使用A命令写一小段汇编程序,U命令反汇编刚输入的程序,用G命令连续运行该程序,用T、P命令单步运行并观察程序单步执行情况。 3.学习联机使用TEC-XP教学试验系统和仿真终端软件。 实验要求 在使用该教学机之前,应先熟悉教学机的各个组成部分及其使用方法。 实验步骤 1.关闭电源,将大板上的COMl口与PC机的串口相连; 2.接通电源,在PC机上运行PCEC.EXE文件,设置所用PC机的串口为“l”或“2”,其它的设置一般不用改动,直接回车即可; 3.置控制开关为001110(连续、内存读指令、组合逻辑、16位、联机),开关拨向上方表示“1”,拨向下方表示“0”,“X”表示任意。其它实验相同; 4.按一下“RESET”按键,再按一下“START”’按键,主机上显示: 5.用R命令查看寄存器内容或修改寄存器的内容 1.用R命令查看寄存器或修改寄存器内容 1)在命令行提示符状态下输入: R↙;显示寄存器的内容 注:寄存器的内容在运行程序或执行命令后会发生变化。

2)在命令行提示符状态下输入: R R0↙;修改寄存器R0的内容,被修改的寄存器与所赋值之间可以无空格, 也可有—个或数个空格 主机显示: 寄存器原值:xxxx 在后面输入新的值0036 再用R命令显示寄存器内容,则R0的内容变为0036。 2.用D命令显示存储器内容 在命令行提示符状态下输入: D 2000↙ 会显示从2000H地址开始的连续128个字的内容; 连续使用不带参数的D命令,起始地址会自动加128(即80H)。

计算机组成原理全部实验.

计算机科学技术系王玉芬2012年11月3日

基础实验部分该篇章共有五个基础实验组成,分别是: 实验一运算器实验 实验二存储器实验 实验三数据通路组成与故障分析实验 实验四微程序控制器实验 实验五模型机CPU组成与指令周期实验

实验一运算器实验 运算器又称作算术逻辑运算单元(ALU),是计算机的五大基本组成部件之一,主要用来完成算术运算和逻辑运算。 运算器的核心部件是加法器,加减乘除运算等都是通过加法器进行的,因此,加快运算器的速度实质上是要加快加法器的速度。机器字长n位,意味着能完成两个n位数的各种运算。就应该由n个全加器构成n位并行加法器来实现。通过本实验可以让学生对运算器有一个比较深刻的了解。 一、实验目的 1.掌握简单运算器的数据传输方式。 2.掌握算术逻辑运算部件的工作原理。 3. 熟悉简单运算器的数据传送通路。 4. 给定数据,完成各种算术运算和逻辑运算。 二、实验内容: 完成不带进位及带进位的算术运算、逻辑运算实验。 总结出不带进位及带进位运算的特点。 三、实验原理: 1.实验电路图

图4-1 运算器实验电路图

2.实验数据流图 图4-2 运算器实验数据流图 3.实验原理 运算器实验是在ALU UNIT 单元进行;单板方式下,控制信号,数据,时序信号由实验仪的逻辑开关电路和时序发生器提供,SW7-SW0八个逻辑开关用于产生数据,并发送到总线上;系统方式下,其控制信号由系统机实验平台可视化软件通过管理CPU 来进行控制,SW7-SW0八个逻辑开关由可视化实验平台提供数据信号。 (1)DR1,DR2:运算暂存器, (2)LDDR1:控制把总线上的数据打入运算暂存器DR1,高电平有效。 (3)LDDR2:控制把总线上的数据打入运算暂存器DR2,高电平有效。 (4)S3,S2,S1,S0:确定执行哪一种算术运算或逻辑运算(运算功能表见附录1或者课本第49页)。 (5)M :M =0执行算术操作;M =1执行逻辑操作。 (6)/CN :/CN =0表示ALU 运算时最低位加进位1;/CN =1则表示无进位。 (7)ALU -BUS :控制运算器的运算结果是否送到总线BUS ,低电平有效。 (8)SW -BUS :控制8位数据开关SW7-SW0的开关量是否送到总线,低电平有效。 四、实验步骤: 实验前首先确定实验方式(是手动方式还是系统方式),如果在做手动方式实验则将方式选择开关置手动方式位置(31个开关状态置成单板方式)。实验箱已标明手动方式和系统方式标志。所有的实验均由手动方式来实现。如果用系统方式,则必须将系统软件安装到系统机上。将方式标志置系统模式位置。学生所做的实验均在系统机上完成。其中包括高 ALU DR1 DR2 LDDR1 T4 LDDR2 T4 S1 S2 M0 S0 CN S3

计算机组成原理实验报告1-寄存器实验

2.1 寄存器实验 姓名:孙坚学号:134173733 班级:13计算机日期:2015.4.3 一.实验要求:利用CPTH 实验仪上的K16..K23 开关做为DBUS 的数据,其它开关做为控制信号,将数据写入寄存器,这些寄存器包括累加器A,工作寄存器W,数据寄存器组R0..R3,地址寄存器MAR,堆栈寄存器ST,输出寄存器OUT。 二.实验目的:了解模型机中各种寄存器结构、工作原理及其控制方法。 三.实验电路:寄存器的作用是用于保存数据的,因为我们的模型机是8位的,因此在本模型机中大部寄存器是8 位的,标志位寄存器(Cy, Z)是二位的。 CPTH 用74HC574 来构成寄存器。74HC574 的功能如下: 1. 在CLK的上升沿将输入端的数据打入到8 个触发器中 2. 当OC = 1 时触发器的输出被关闭,当OC=0 时触发器的输出数据

四.实验数据及步骤: 实验1:A,W 寄存器实验 寄存器A,W 写工作波形图

连接线表: 系统清零和手动状态设定:K23-K16开关置零,按[RST]钮,按[TV/ME]键三次,进入"Hand......"手动状态。 在后面实验中实验模式为手动的操作方法不再详述. 将66H写入A寄存器 二进制开关K23-K16用于DBUS[7:0]的数据输入,置数据66H 置控制信号为: 按住STEP脉冲键,CK由高变低,这时寄存器A 的黄色选择指示灯亮,表明选择A 寄存器。放开STEP 键,CK 由低变高,产生一个上升沿,数据66H 被写入A 寄存器。 将88H写入W寄存器 二进制开关K23-K16用于DBUS[7:0]的数据输入,置数据88H 置控制信号为: 按住STEP脉冲键,CK由高变低,这时寄存器W 的黄色选择指示灯亮,表明选择W 寄存器。放开STEP 键,CK 由低变高,产生一个上升沿,数据88H 被写入W 寄存器。 注意观察: 1.数据是在放开STEP键后改变的,也就是CK的上升沿数据被打入。 2.WEN,AEN为高时,即使CK有上升沿,寄存器的数据也不会改变。

计算机组成原理实验实验报告

计算机组成原理实验报告 学院信息与管理科学学院 专业班级计算机科学与技术2010级2班学生姓名毛世均 1010101046 指导教师郭玉峰 撰写日期:二○一二年六月四日

SA4=1 1.根据上边的逻辑表达式,分析58页图6-2的P1测试和P4测试两条指令的微地址转移方向。 P1测试:进行P1测试时,P1为0,其他的都为1, 因此SA4=1, SA3=I7,SA2=I6,SA1=,SA0=I4 微地址011001,下址字段为001000下址字段001000译码后,高两位不变,仍然为00,低四位受到机器指令的高四位I7-I4的影响。 机器指令的高四位为0000时,下一条微指令地址为001000,转到IN 操作。机器指令高四位0010时,下一条微指令地址为001010,转到MOV 操作。机器指令高四位为0001时,下一条微指令地址为001001,转到ADD 操作。机器指令高四位为0011时,下一条微指令地址为001011,转到OUT 操作。机器指令高四位为0100时,下一条微指令地址001100,转到JMP 操作 P4测试:进行P4测试时,P4为0,其他的都为1. 因此SA4=SA3=SA2=1,SA1=CA2,SA0=CA1 微地址000000,下址字段为010000. 010000被译码之后,高四位不变,0100低两位由CA2和CA1控制。CA2和CA1的值是由单片机的键盘填入控制的。 当实验选择CtL2=1时,CA2和CA1被填入0和1,这时低两位被译码电路翻译成01,所以下一条微地址就是010001,然后进入写机器指令的状态。当实验选择CtL2=2时,CA2和CA1被填入1和0,这时低两位被译码电路翻译成10,所以下一条微地址就是010010,然后进入读机器指令的状态。当实验选择CtL2=2时,CA2和CA1被填入1和1,这时低两位被译码电路翻译成 11,所以下一条微地址就是010011,然后进入运行机器指令的状态。 2.分析实验六中五条机器指令的执行过程。

计算机组成原理实验一运算器组成实验

实验一运算器组成实验 一、实验目的 1.熟悉双端口通用寄存器堆的读写操作。 2.熟悉简单运算器的数据传送通路。 3.验证运算器74LS181的算术逻辑功能。 4.按给定数据,完成指定的算术、逻辑运算。 二、实验电路 S3 S2 S1 S0 M 图3.1 运算器实验电路 图3.1示出了本实验所用的运算器数据通路图。参与运算的数据首先通过实验台操作板上的八个二进制数据开关SW7-SW0来设置,然后输入到双端口通用寄存器堆RF中。 RF(U54)由一个ispLSI1016实现,功能上相当于四个8位通用寄存器,用于保存参与运算的数据,运算后的结果也要送到RF中保存。双端口寄存器堆模块的控制信号中,RS1、RS0用于选择从B端口(右端口)读出的通用寄存器,RD1、RD0用于选择从A端口(左端口)读出的通用寄存器。而WR1、WR0用于选择写入的通用寄存器。LDRi是写入控制信号,当LDRi=1时,数据总线DBUS上的数据在T3写入由WR1、WR0指定的通用寄存器。RF的A、

B端口分别与操作数暂存器DR1、DR2相连;另外,RF的B端口通过一个三态门连接到数据总线DBUS上,因而RF中的数据可以直接通过B端口送到DBUS上。

DR1(U47)和DR2(U48)各由1片74LS273构成,用于暂存参与运算的数据。DR1接ALU 的A输入端口,DR2接ALU的B输入端口。ALU(U31、U35)由两片74LS181构成,ALU的输出通过一个三态门(74LS244)发送到数据总线DBUS上。 实验台上的八个发光二极管DBUS7-DBUS0显示灯接在DBUS上,可以显示输入数据或运算结果。另有一个指示灯C显示运算器进位标志信号状态。 图中尾巴上带粗短线标记的信号都是控制信号,其中S3、S2、S1、S0、M、Cn#、LDDR1、LDDR2、ALU_BUS#、SW_BUS#、LDRi、RS1、RS0、RD1、RD0、WR1、WR0都是电位信号,在本次实验中用拨动开关K0—K15来模拟;T2、T3为时序脉冲信号,印制板上已连接到实验台的时序电路。实验中进行单拍操作,每次只产生一组T1、T2、T3、T4时序脉冲,需将实验台上的DP、DB开关进行正确设置。将DP开关置1,DB开关置0,每按一次QD按钮,则顺序产生T1、T2、T3、T4一组单脉冲。 三、实验设备 1.TEC-5计算机组成实验系统1台 2.逻辑测试笔一支(在TEC-5实验台上) 3.双踪示波器一台(公用) 4.万用表一只(公用) 四、实验任务 1.按图3.1所示,将运算器模块与实验台操作板上的线路进行连接。由于运算器模块 内部的连线已由印制板连好,故接线任务仅仅是完成数据开关、控制信号模拟开 关、与运算器模块的外部连线。注意:为了建立清楚的整机概念,培养严谨的科 研能力,手工连线是绝对必要的。 2.用开关SW7—SW0向通用寄存器堆RF内的R0—R3寄存器置数。然后读出R0—R3 的内容,在数据总线DBUS上显示出来。 3.验证ALU的正逻辑算术、逻辑运算功能。 令DR1=55H,DR2=0AAH,Cn#=1。在M=0和M=1两种情况下,令S3—S0的值从0000B变到1111B,列表表示出实验结果。实验结果包含进位C,进位C由指示灯显示。 注意:进位C是运算器ALU最高位进位Cn+4#的反,即有进位为1,无进位为0。 五、实验要求 1.做好实验预习,掌握运算器的数据传输通路及其功能特性,并熟悉本实验中所用 的模拟开关的作用和使用方法。 2.写出实验报告,内容是: (1)实验目的。 (2)按实验任务3的要求,列表表示出实验结果。 (3)按实验任务4的要求,在表中填写各控制信号模拟开关值,以及运算结果值。 六、实验步骤和实验结果 (1)实验任务2 的实验步骤和结果如下:(假定令R0=34H,R1=21H,R2=52H,R3=65H)1.置DP=1,DB=0,编程开关拨到正常位置。

汇编语言实验(1)

课程名称汇编语言与微机原理实验名称字符串显示实验 实验目的、要求 1.掌握汇编语言程序设计的编写链接调试运行的完整过程 2.掌握利用masm.exe、link.exe等进行汇编、连接的方法及执行目的程序的方法。 3.初步认识ASCII码 4.初步认识利用DOS系统功能调用显示字符与字符串的方法 5.认识汇编源程序结构(框架)。 实验原理 利用DOS的中断调用在屏幕上显示字符串”Hello World”。 主要设备 计算机一台汇编语言软件 实验步骤及原始数据记录 程序源代码 1.显示数据区中的字符串"Hello World" assume cs:code,ds:data,ss:stack stack segment stack dw 256 dup (0) stack ends data segment msg db 'Hello World!',0dh,0ah,$ data ends code segment start: mov ax,data mov ds,ax mov ah,09h mov dx,offset msg int 21h exit: mov ah,4ch int 21h code ends end start

四、操作步骤: 1.在C盘生成一个新文件夹,例如P1,在该文件夹中拷入masm.exe、link.exe、debug.exe等工具程序 2.打开记事本,将上面第1个程序复制生成纯文本文件,文件名以.asm为扩展名。例如:A1.ASM。(注意保存时要选择保存类型为“所有文件”)。 3.从“开始”→程序→附件→命令提示符,进入DOS命令界面。 4. 使用CD命令,进入新文件夹,例如:P1,命令为:CD C:\P1 5. 执行MASM <文件名>,对源程序进行编译。 6. 执行LINK.EXE <文件名>,连接生成执行程序。例如:LINK A1 7. 执行生成的程序,记录屏幕响应的情况。例如:A1 可以不带扩展名EXE。程序运行正常的话,应该要显示字符串"Hello World!"。 实验结果 程序运行之后,屏幕上显示字符串“Hello World”。 闲来无聊,想重新学习一下汇编,第一个helloworld,想起绝影的一句话"你们学高级语言,但是高级语言会变,我学低级语言,学了永远也不会变!" - -b stack segment stack ; 定义堆栈段 db 100 dup(?) ;堆栈段长100字节, 这里db就是字节的意思,如果是用dw就是字,100 dup(?) 中的dup是重复的意思,这句话是重复100遍,一遍定义一个字节,每个字节里全填0 stack ends ; 堆栈段结束 data segment ;数据段 szHello db 'hello,world',0dh,0ah,'$' ;定义szHello , 0dh,0ah分别是回车键,换行键的ASCII码, '$'是DOS功能调用INT 21H中9号功能要求的要显示字符串的结束标志,写成szHello db

相关文档
相关文档 最新文档