欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    实验学习基础汇编语言知识程序设计.doc

    • 资源ID:2767507       资源大小:133.52KB        全文页数:12页
    • 资源格式: DOC        下载积分:8金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要8金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    实验学习基础汇编语言知识程序设计.doc

    实验二 基础汇编语言程序设计实验目的:1学习和了解TEC-2000 十六位机监控命令的用法;2学习和了解TEC-2000 十六位机的指令系统;3学习简单的TEC-2000 十六位机汇编程序设计;实验内容:1使用监控程序的R 命令显示/修改寄存器内容、D 命令显示存储器内容、E 命令修改存储器内容;2使用A 命令写一小段汇编程序,U 命令反汇编刚输入的程序,用G 命令连续运行该程序,用T 命令单步运行并观察程序单步执行情况;实验要求在使用该教学机之前,应先熟悉其的各个组成部分,及使用方法。实验步骤1关闭电源,将大板上的COM1 口与PC 机的串口相连;2接通电源,在PC 机上运行PCEC.EXE 文件,设置所用PC 机的串口为“1”, 其它的设置一般不用改动,直接回车即可;3置控制开关为00101(连续、内存读指令、组合逻辑、16 位、联机),开关拨向上方表示“1”,拨向下方表示“0”;4按一下“RESET ”按键,再按一下“START ”按键,主机上显示: TEC-2000 CRT MONITOR Version 2.0 April 2001 Computer Architectur Lab., Tsinghua University Programmed by He Jia > 5用R 命令查看寄存器内容或修改寄存器的内容1)在命令行提示符状态下输入:R ;显示寄存器的内容注:寄存器的内容在运行程序或执行命令后会发生变化。2)在命令行提示符状态下输入:R R0 ;修改寄存器R0 的内容,被修改的寄存器与所赋值之间可以无空格,也可有一个或数个空格主机显示: 寄存器原值:_ 在该提示符下输入新的值0036 再用R 命令显示寄存器内容,则R0 的内容变为0036 。6用D 命令显示存储器内容在命令行提示符状态下输入:D 2000 会显示从2000H 地址开始的连续128 个字的内容;连续使用不带参数的D 命令,起始地址会自动加128 (即80H )。 7用E 命令修改存储器内容在命令行提示符状态下输入:E 2000 屏幕显示: 2000 地址单元的原有内容:光标闪烁等待输入输入 0000 依次改变地址单元20012005 的内容为:1111 2222 3333 4444 5555 注意:用E 命令连续修改内存单元的值时,每修改完一个,按一下空格键,系统会自动给出下一个内存单元的值,等待修改;按回车键则退出E 命令。用D 命令显示这几个单元的内容D 2000 可以看到这六个地址单元的内容变为0000 1111 2222 3333 4444 5555 。8.用A 命令键入一段汇编源程序,主要是向累加器送入数据和进行运算,执行程序并观察运行结果。1)在命令行提示符状态下输入: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 命令输入程序的操作过程)若输入有误,系统会给出提示并显示出错地址,用户只需在该地址重新输入正确的指令即可。2)用U 命令反汇编刚输入的程序在命令行提示符状态下输入:U 2000 在相应的地址会得到输入的指令及其操作码注:连续使用不带参数的U 命令时,将接着从上一次反汇编的最后一条语句之后继续反汇编。3)用G 命令运行前面刚键入源程序G 2000程序运行结束后,可以看到程序的运行结果,屏幕显示各寄存器的值,其中R0 和R1 的值均为5555H ,说明程序运行正确。4)用P 或T 命令,单步执行这段程序,观察指令执行结果在命令行提示符状态下输入:T 2000 寄存器R0 被赋值为AAAAH T 寄存器R1 被赋值为5555H T 做加法运算,和放在R0,R0 的值变为FFFFH T 做与运算,结果放在R0,R0 的值变为5555H 用P 命令执行过程同上。注:T 总是执行单条指令,但执行P 命令时,则把每一个CALL 语句连同被调用的子程序一次执行完成。T、P 命令每次执行后均显示所有通用寄存器及状态寄存器的内容,并反汇编出下一条将要执行的指令。7举例编写汇编程序, 用“A”命令输入,运行并观察结果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”命令运行程序在命令行提示符状态下输入:G 2000执行上面输入的程序光标闪烁等待输入,用户从键盘键入字符后,屏幕会显示该字符。该例建立了一个从主存2000H 地址开始的小程序。在这种方式下, 所有的数字都约定使用16 进制数,故数字后不用跟字符H。每个用户程序的最后一个语句一定为RET 汇编语句。因为监控程序是选用类似子程序调用方式使实验者的程序投入运行的, 用户程序只有用RET 语句结束, 才能保证程序运行结束时能正确返回到监控程序的断点, 保证监控程序能继续控制教学机的运行过程。2)例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”命令运行程序在命令行提示符状态下输入:G 2020 执行结果为:0123456789 思考题: 类似的, 若要求在终端屏幕上输出A 到Z 共26 个英文字母,应如何修改例1 中给出的程序? 请验证之。A 20202020:MVRD R2,001A ;送入输出字符个数262022:MVRD R0,0041 ;“A”字符的ASCII 码送寄存器R0 2024:OUT 80 ;输出保存在R0 低位字节的字符2025:DEC R2 ;输出字符个数减1 2026:JRZ 202E ;判26 个字符输出完否,已完,则转到程序结束处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: 例子3: 从键盘上连续打入多个属于0到9的数字符并在屏幕上显示, 遇非数字符结束输入过程。<1> 在命令行提示符状态下输入:A 2040屏幕将显示:2040:从地址2040H 开始输入下列程序: (2040)MVRD R2, 0030 ; 用于判数字符的下界值MVRD R3, 0039 ;用于判数字符的上界值(2044) IN 81 ; 判键盘上是否按了一个键, SHR R0 ; 即串行口是否有了输入的字符SHR R0JRNC 2044 ; 没有输入则循环测试IN 80 ; 输入字符到R0 MVRD R1,00FFAND 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 光标闪烁等待键盘输入,若输入0-9 十个数字符,则在屏幕上回显;若输入非数字符,则屏幕不再显示该字符,出现命令提示符,等待新命令。思考题, 本程序中为什么不必判别串行口输出完成否? 设计打入AZ和09 的程序, 遇其它字符结束输入过程。A 2040(2040)MVRD R2, 0041 ; 用于判字母符的下界值MVRD R3, 005A ;用于判字母符的上界值MVRD R4,0030;用于判数字符的下界值MVRD R5,0039;用于判数字符的下界值MVRD R6, 0061 ; 用于判字母符的下界值MVRD R7, 007A ;用于判字母符的上界值(204C) IN 81 ; 判键盘上是否按了一个键, SHR R0 ; 即串行口是否有了输入的字符SHR R0JRNC 204C ; 没有输入则循环测试IN 80 ; 输入字符到R0 MVRD R1,00FFAND R0,R1 ;清零R0 的高位字节内容(2054)CMP R0, R2 ; 判输入字符字符A 否JRNC 205A ; 为否, 则转到程序结束处CMP R3, R0 ; 判输入字符Z字符 否JRNC 205A ; 为否, 则转到程序结束处JMPA 2064(205A)CMP R0, R6 ; 判输入字符字符A 否JRNC 2060 ; 为否, 则转到程序结束处CMP R7, R0 ; 判输入字符Z字符 否JRNC 2060 ; 为否, 则转到程序结束处JMPA 2064(2060)CMP R0, R4 ; 判输入字符字符0 否JRNC 2067 ; 为否, 则转到程序结束处CMP R5, R0 ; 判输入字符字符9 否JRNC 2067 ; 为否, 则转到程序结束处(2064)OUT 80 ; 输出刚输入的数字符JMPA 204C ; 转去程序前边204C 处等待输入下一个字符(2067) RET8设计一个小程序, 计算1 到100 的累加和。A 2060(2060)MVRD R1,0000;累加和R1初值为0MVRD R2,0064;最大值为100MVRD R3,0000;累加第一个数R3(2066)INC R3;R3自增ADD R1,R3CMP R3,R2;判断R3>=R2JRNZ 2066;否,跳至2066RET

    注意事项

    本文(实验学习基础汇编语言知识程序设计.doc)为本站会员(小**)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开