《汇编语言程序设计》.pdf
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《《汇编语言程序设计》.pdf》由会员分享,可在线阅读,更多相关《《汇编语言程序设计》.pdf(7页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、计算机组成原理实验手册浙江广播电视大学计算机科学系1 汇编语言程序设计实验一实验目的:1.学习和了解TEC 3 机监控命令的用法;2.学习和了解TEC 3 机的指令系统:3.学习简单的解TEC 3 机的汇编程序设计实验内容:用教学机上已实现的指令编写汇编程序,运行并观察运行结果使用监控程序的 R 命令显示修改寄存器内容:使用 D 命令显示存储器内容,使用 E 修改存储器内容:使用 A命令写-小段汇编程序,U 命令反汇编刚输入的程序;用 G 命令连续运行该程序,用 T,P 命令单步运行并观察程序单步执行情况;实验要求在使用该实验台之前,应先熟悉实验台的各个组成部分及其使用方法。实验步骤1.确保两
2、个 红色 微型开关左侧的短路子处于断开状态(短接子被拔下来);2.在关闭教学机电源情况下,将大板上的 COM2 口 (左侧的一个)与 PC机的串口相连;3.接电源,在pc 上运行 PCEC.EXE 文件,设置所用pc 机的串口为 1 或 2。其它的设置一般不用改动,直接回车即可:4.置控制开关为 000(连续、正常运行、助合逻辑),开关拨向上方表示“1”,拨向下方表示 0,X 表示任意其它实验相同;5.按下重新设定了的同时按下步骤按钮,松开后再按一下步骤按钮,主机上显示:TEC 3 Monitor Ver 3 1 -by wei Xiaoliang Tsinghua Computor 中心,2
3、001,C6 (教学计算机已处于正常运行状态,等待输入监控命令)6.用 R 命令查看寄存器内容或修改寄存器的内容 l 在命令行提示符状态下输入:R :显示寄存器的内容执行后显示 12 个寄存器的内容及状态标志。例如,执行结果为:R0=2FF R1=FF R2 FF R3=FF R4=00 R5=20R6=00 R7 26 R8=FF R9=FF R10=FF R1=FF 州=00 注:这些显示结果是初始化后的寄存器的内容,运行程序或执行命令后寄存器的内容会发生变化 2 在命令行提示行状态下输入:R R036 ;修改寄存器 R0 的内容,修改的寄存器与所赋值之间不能有空格,否则系统会给出错误提示
4、再用 R 命令显示寄存器内容:则 R0 的内容变为36 7用 D 命令显示存储器内容在命令行提示符状态下输入:计算机组成原理实验手册浙江广播电视大学计算机科学系2 D 2000:会显示从 2000 地址开始的 128 个存储字的内容连续的 D 命令,保证显示内容前后正确的连续关系,即每次执行 D 命令,会将默认的地址值加上 128 8 用 E 命令修改存储器内容在命令行提示符状态下输入:E 2000:用户可以从地址 2000 开始逐字节修改每个内存单元的内容按如下格式输入:2000:66 2001:77 2002:88 用 D 命令显示着几个单元的内容 D 2000 :可以看到这三个地址单元的
5、内容变为 66、77、88 9 用 A命令键入教学计算机的一段汇编源程序,主要是向累加器送入数据和执行运算,执行程序并观察运行结果注意:在键入命令时,A,U,G,D,E ,T ,P 命令与其后所接的地址之间要加一个 (且只能一个)空格;在输入指令时也要注意这点,若输入有误,在没有按回车之前,只需要将光标移到出错的位置,重新输入正确内容;若已回车,则键入命令出错地址并回车,系统给出出错地址,在该地址重新输入。1)在命令行提示符状态下输入:A 2000 ;表示该程序从 16 进制的 2000(内存随机存取储存器区的起始地址)地址开始屏幕将显示:2000:之后输入如下形式的程序:2000:MVD R
6、0 AA ;MVD 与 R0 之间只有一个空格,其他指令相同 2002:MVD R1,55 2004:ADD R0,R1 2005:AND R0,R1 2006:RET ;程序的最后一个语句,必须为RET指令2007:(直接敲回车键,结束A命令的输入程序的操作过程)2)用 U 命令反汇编刚输入的程序在命令行提示符状态下输入:U 2000 :在相应的地址会得到输入的指令及其操作码注:U 命令一次反汇编十五条指令,接下来键入不带参数的 U 命令时,将接着从上一次反汇编的最后一条语句之后继续反汇编。3)用 G 命令运行前面刚键入源程序。G 2000:程序运行结束后,可以看到程序的运行结果,屏幕显示各
7、寄存器的值,其中 R0和 R1 的值均为 55,说明程序运行正确 4)用 P 或 T 命令,让这段程序单步执行,观察指令执行结果在命令行提示符状态下输入:T 2000:寄存器 R0 技赋值为 AA T:寄存器 Rl 被赋值为 55 文档编码:CO2E1I9O5T1 HY4C6Y3B3Q1 ZY1V5U9F3M7文档编码:CO2E1I9O5T1 HY4C6Y3B3Q1 ZY1V5U9F3M7文档编码:CO2E1I9O5T1 HY4C6Y3B3Q1 ZY1V5U9F3M7文档编码:CO2E1I9O5T1 HY4C6Y3B3Q1 ZY1V5U9F3M7文档编码:CO2E1I9O5T1 HY4C6Y3
8、B3Q1 ZY1V5U9F3M7文档编码:CO2E1I9O5T1 HY4C6Y3B3Q1 ZY1V5U9F3M7文档编码:CO2E1I9O5T1 HY4C6Y3B3Q1 ZY1V5U9F3M7文档编码:CO2E1I9O5T1 HY4C6Y3B3Q1 ZY1V5U9F3M7文档编码:CO2E1I9O5T1 HY4C6Y3B3Q1 ZY1V5U9F3M7文档编码:CO2E1I9O5T1 HY4C6Y3B3Q1 ZY1V5U9F3M7文档编码:CO2E1I9O5T1 HY4C6Y3B3Q1 ZY1V5U9F3M7文档编码:CO2E1I9O5T1 HY4C6Y3B3Q1 ZY1V5U9F3M7文档编码
9、:CO2E1I9O5T1 HY4C6Y3B3Q1 ZY1V5U9F3M7文档编码:CO2E1I9O5T1 HY4C6Y3B3Q1 ZY1V5U9F3M7文档编码:CO2E1I9O5T1 HY4C6Y3B3Q1 ZY1V5U9F3M7文档编码:CO2E1I9O5T1 HY4C6Y3B3Q1 ZY1V5U9F3M7文档编码:CO2E1I9O5T1 HY4C6Y3B3Q1 ZY1V5U9F3M7文档编码:CO2E1I9O5T1 HY4C6Y3B3Q1 ZY1V5U9F3M7文档编码:CO2E1I9O5T1 HY4C6Y3B3Q1 ZY1V5U9F3M7文档编码:CO2E1I9O5T1 HY4C6Y3
10、B3Q1 ZY1V5U9F3M7文档编码:CO2E1I9O5T1 HY4C6Y3B3Q1 ZY1V5U9F3M7文档编码:CO2E1I9O5T1 HY4C6Y3B3Q1 ZY1V5U9F3M7文档编码:CO2E1I9O5T1 HY4C6Y3B3Q1 ZY1V5U9F3M7文档编码:CO2E1I9O5T1 HY4C6Y3B3Q1 ZY1V5U9F3M7文档编码:CO2E1I9O5T1 HY4C6Y3B3Q1 ZY1V5U9F3M7文档编码:CO2E1I9O5T1 HY4C6Y3B3Q1 ZY1V5U9F3M7文档编码:CO2E1I9O5T1 HY4C6Y3B3Q1 ZY1V5U9F3M7文档编码
11、:CO2E1I9O5T1 HY4C6Y3B3Q1 ZY1V5U9F3M7文档编码:CO2E1I9O5T1 HY4C6Y3B3Q1 ZY1V5U9F3M7文档编码:CO2E1I9O5T1 HY4C6Y3B3Q1 ZY1V5U9F3M7文档编码:CO2E1I9O5T1 HY4C6Y3B3Q1 ZY1V5U9F3M7文档编码:CO2E1I9O5T1 HY4C6Y3B3Q1 ZY1V5U9F3M7文档编码:CO2E1I9O5T1 HY4C6Y3B3Q1 ZY1V5U9F3M7文档编码:CO2E1I9O5T1 HY4C6Y3B3Q1 ZY1V5U9F3M7文档编码:CO2E1I9O5T1 HY4C6Y3
12、B3Q1 ZY1V5U9F3M7文档编码:CO2E1I9O5T1 HY4C6Y3B3Q1 ZY1V5U9F3M7文档编码:CO2E1I9O5T1 HY4C6Y3B3Q1 ZY1V5U9F3M7文档编码:CO2E1I9O5T1 HY4C6Y3B3Q1 ZY1V5U9F3M7文档编码:CO2E1I9O5T1 HY4C6Y3B3Q1 ZY1V5U9F3M7文档编码:CO2E1I9O5T1 HY4C6Y3B3Q1 ZY1V5U9F3M7文档编码:CO2E1I9O5T1 HY4C6Y3B3Q1 ZY1V5U9F3M7文档编码:CO2E1I9O5T1 HY4C6Y3B3Q1 ZY1V5U9F3M7文档编码
13、:CO2E1I9O5T1 HY4C6Y3B3Q1 ZY1V5U9F3M7文档编码:CO2E1I9O5T1 HY4C6Y3B3Q1 ZY1V5U9F3M7文档编码:CO2E1I9O5T1 HY4C6Y3B3Q1 ZY1V5U9F3M7文档编码:CO2E1I9O5T1 HY4C6Y3B3Q1 ZY1V5U9F3M7文档编码:CO2E1I9O5T1 HY4C6Y3B3Q1 ZY1V5U9F3M7文档编码:CO2E1I9O5T1 HY4C6Y3B3Q1 ZY1V5U9F3M7计算机组成原理实验手册浙江广播电视大学计算机科学系3 T:做加法运算,和放在R0,R0的值变为 FF T:做与运算,结果放在R0
14、,R0 的值变为55 用 P 命令执行过程同上注:T 命令总是执行单条指令,但执行 P 命令时,则把每一个 CAL 上语句连同被调用的子程序一次执行完成。T,P 命令每次执行后均显示所有通用寄存器及状态寄存器的内容,并反汇编出下一条将要执行的指令举例编写汇编程序,用 A 命令输入,运行并观察结果例子 1:设计一个小程序。在屏幕上输出显示字符 6 1)在命令行提示符状态下输入:A 2000 ;表示该程序从 16 进制的 2000(内存 RAM 区的起始地址)地址开始屏幕将显示:2000:之后输入如下形式的程序:2000:MVD R0,36;把字符 6 的美国信息交换标准代码送入R0 2002:O
15、UT 00:输出字符 6 到屏幕上,00 为串行口的端口地址 2003:RET;每个用户程序都必须用 RET 指令结束 2004:;(按回车键即结束输入过程)2)用 G 命令运行程序在命令行提示符状态下输入:G 2000 执行上面输入的程序显示结果为:6 R0=36 R1=R11=:STATE=:2000:MVD Ro,36 该例建立了一个从主存 2000h 地址开始的小程序。在这种方式下,所有的数字都约定使用 16 进制数,故数字后不用跟字符 h。每个用户程序的最后一个语句一定为RET汇编语句。因为监控程序是选用类似子程序调用方式使实验考的程序投入运行的,用户程序只有用RET 语句结束,才能
16、保证程序运行结束,才能正确返回到监控程序的断点,保证监控程序能继续控制教学机的运行过程。下面接着再给出几个小程序的例子例子 2:设计一个小程序,用次数控制在终端屏幕上输出,0 ,到 9 ,十个数字符1在命令行提示符状态下输入:A 2020 屏幕将显示:2020,从地址 2020 开始输入下列程序:2020:MVD R2,0A ;送入输出字符个数(十进制的数值10)2022:MVD R0,30 ;送 0 字符的 ASCII 码到 R0 2024:0UT 00 ;输出保存在R0中的字符 2025:DEC R2 ;输出字符个数减1 2026:JZ 2031 ;判 10 个字符输出完否,已完,则转移到
17、程序结束处 2028:PUSH Ro ;未完,保存 R0 的值到堆栈中 2029:IN 01 ;查 询接口状态,判字符串行输出完成否,文档编码:CO2E1I9O5T1 HY4C6Y3B3Q1 ZY1V5U9F3M7文档编码:CO2E1I9O5T1 HY4C6Y3B3Q1 ZY1V5U9F3M7文档编码:CO2E1I9O5T1 HY4C6Y3B3Q1 ZY1V5U9F3M7文档编码:CO2E1I9O5T1 HY4C6Y3B3Q1 ZY1V5U9F3M7文档编码:CO2E1I9O5T1 HY4C6Y3B3Q1 ZY1V5U9F3M7文档编码:CO2E1I9O5T1 HY4C6Y3B3Q1 ZY1V
18、5U9F3M7文档编码:CO2E1I9O5T1 HY4C6Y3B3Q1 ZY1V5U9F3M7文档编码:CO2E1I9O5T1 HY4C6Y3B3Q1 ZY1V5U9F3M7文档编码:CO2E1I9O5T1 HY4C6Y3B3Q1 ZY1V5U9F3M7文档编码:CO2E1I9O5T1 HY4C6Y3B3Q1 ZY1V5U9F3M7文档编码:CO2E1I9O5T1 HY4C6Y3B3Q1 ZY1V5U9F3M7文档编码:CO2E1I9O5T1 HY4C6Y3B3Q1 ZY1V5U9F3M7文档编码:CO2E1I9O5T1 HY4C6Y3B3Q1 ZY1V5U9F3M7文档编码:CO2E1I9O
19、5T1 HY4C6Y3B3Q1 ZY1V5U9F3M7文档编码:CO2E1I9O5T1 HY4C6Y3B3Q1 ZY1V5U9F3M7文档编码:CO2E1I9O5T1 HY4C6Y3B3Q1 ZY1V5U9F3M7文档编码:CO2E1I9O5T1 HY4C6Y3B3Q1 ZY1V5U9F3M7文档编码:CO2E1I9O5T1 HY4C6Y3B3Q1 ZY1V5U9F3M7文档编码:CO2E1I9O5T1 HY4C6Y3B3Q1 ZY1V5U9F3M7文档编码:CO2E1I9O5T1 HY4C6Y3B3Q1 ZY1V5U9F3M7文档编码:CO2E1I9O5T1 HY4C6Y3B3Q1 ZY1V
20、5U9F3M7文档编码:CO2E1I9O5T1 HY4C6Y3B3Q1 ZY1V5U9F3M7文档编码:CO2E1I9O5T1 HY4C6Y3B3Q1 ZY1V5U9F3M7文档编码:CO2E1I9O5T1 HY4C6Y3B3Q1 ZY1V5U9F3M7文档编码:CO2E1I9O5T1 HY4C6Y3B3Q1 ZY1V5U9F3M7文档编码:CO2E1I9O5T1 HY4C6Y3B3Q1 ZY1V5U9F3M7文档编码:CO2E1I9O5T1 HY4C6Y3B3Q1 ZY1V5U9F3M7文档编码:CO2E1I9O5T1 HY4C6Y3B3Q1 ZY1V5U9F3M7文档编码:CO2E1I9O
21、5T1 HY4C6Y3B3Q1 ZY1V5U9F3M7文档编码:CO2E1I9O5T1 HY4C6Y3B3Q1 ZY1V5U9F3M7文档编码:CO2E1I9O5T1 HY4C6Y3B3Q1 ZY1V5U9F3M7文档编码:CO2E1I9O5T1 HY4C6Y3B3Q1 ZY1V5U9F3M7文档编码:CO2E1I9O5T1 HY4C6Y3B3Q1 ZY1V5U9F3M7文档编码:CO2E1I9O5T1 HY4C6Y3B3Q1 ZY1V5U9F3M7文档编码:CO2E1I9O5T1 HY4C6Y3B3Q1 ZY1V5U9F3M7文档编码:CO2E1I9O5T1 HY4C6Y3B3Q1 ZY1V
22、5U9F3M7文档编码:CO2E1I9O5T1 HY4C6Y3B3Q1 ZY1V5U9F3M7文档编码:CO2E1I9O5T1 HY4C6Y3B3Q1 ZY1V5U9F3M7文档编码:CO2E1I9O5T1 HY4C6Y3B3Q1 ZY1V5U9F3M7文档编码:CO2E1I9O5T1 HY4C6Y3B3Q1 ZY1V5U9F3M7文档编码:CO2E1I9O5T1 HY4C6Y3B3Q1 ZY1V5U9F3M7文档编码:CO2E1I9O5T1 HY4C6Y3B3Q1 ZY1V5U9F3M7文档编码:CO2E1I9O5T1 HY4C6Y3B3Q1 ZY1V5U9F3M7文档编码:CO2E1I9O
23、5T1 HY4C6Y3B3Q1 ZY1V5U9F3M7文档编码:CO2E1I9O5T1 HY4C6Y3B3Q1 ZY1V5U9F3M7文档编码:CO2E1I9O5T1 HY4C6Y3B3Q1 ZY1V5U9F3M7文档编码:CO2E1I9O5T1 HY4C6Y3B3Q1 ZY1V5U9F3M7文档编码:CO2E1I9O5T1 HY4C6Y3B3Q1 ZY1V5U9F3M7计算机组成原理实验手册浙江广播电视大学计算机科学系4 202:SHR R0 :2028:JNC,2029 ;未完成则循环等持 202D:POP R0 :已完成,准备继续输出下一字符,从堆栈恢复R0的值 202E:INC RO
24、;得到下一个要输出的字符 202F JR 2024 ;转回去继续输出字符 2031:RET 该程序的执行码放在 2020 起始的连续内存区中。若送入源码的过程中有错,系统会进行提示,等待重新打入正确汇编语句。在输入过程中,在应打入语句的位置直接打回车则结束输入过程2用 G 命令运行程序在命令行提示符状态下输入:G 2020执行上面输入的程序执行结果为 0123456789 R0:39 R1=R2=00 R3,2020:MVD R2,0A 作业:当把 IN 01,SHR R0,JNC 2029 三个语句换成 4 个 MOV Ro,R0 语句,该程序执行过程会出现什么现象?试分析并实际执行一次以观
25、察运行结果。提示:该程序改变这三条语句后,若用 T 命令单条执行,会依次显示 0,9 十个数字。若用 G 命令运行程序,由于程序运行速度快,端口串行输出的速度很慢,这样新会丢失某些输出的字行;如,在命令行提示符状态下输入 G 2020 命令后,屏幕可能的显示为 059 或069,而不是 023456789 全部的 10 个字符。作业:若要求在终端输出,A,到 Z,共 26 个英文字应如修改例 1 中给出的程序?请验证之。参考答案:1)在命令行提示持状态下输入:A 2100 屏幕将显示:2100:从地址 2100 开始输入下列程序:2100:MVD R2,1A ;循环次数为26 MVD R0,4
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 汇编语言程序设计 汇编语言 程序设计
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内