




已阅读5页,还剩6页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
实验一 汇编语言源程序运行步骤和DEBUG的使用一、实验目的1熟悉汇编语言源程序书写格式。2熟悉汇编语言源程序编辑、汇编、连接、执行步骤。3练习DEBUG常用命令的使用。4熟悉8086的寄存器。5了解程序的执行过程。二、实验预习要求1、认真阅读预备知识中汇编语言的上机步骤的说明,熟悉汇编程序的建立、汇编、连接、执行、调试的全过程。2预习使用DEBUG 检查/修改寄存器内容、查询存储器内容的命令。3预习使用DEBUG单步、断点及连续执行程序的命令。三、实验内容1编辑以下程序,汇编连接后运行,将输出HOW ARE YOU?。本习题主要目的:熟悉汇编语言源程序的书写格式;熟悉汇编语言源程序的编辑、汇编、连接、运行。DATA SEGMENT BUF DB HOW ARE YOU?$DATA ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATASTART: MOV AX,DATA MOV DS,AX MOV DX,OFFSET BUF MOV AH,09H INT 21H MOV AH,4CH INT 21HCODE ENDS END START2DEBUG 调试以下程序,查看DATA段中定义的数据在内存中的存放方式,并单步执行查看每一语句执行后相关寄存器的内容,并解释为何取该值:DATA SEGMENT ;(1) A DB 34H,12H;(2) B DW 1234H;(3) C DD 0;(4) D DB -1,15/3;(5) E DB 012;(6) F DW AB,C;(7) G DW ?;(8) H DB 5 DUP(0);(9) I DW $-OFFSET H;(10)DATA ENDS;(11)CODE SEGMENT;(12) ASSUME CS:CODE,DS:DATA;(13)START: MOV AX,CODE;(14) MOV DS,AX;(15) MOV BX,SEG A;(16) MOV CX,OFFSET B;(17) MOV DX,TYPE C;(18) MOV AH,4CH;(19) INT 21H;(20)CODE ENDS;(21)END START;(22)3下面是第1题采用将主程序定义为远程的程序返回DOS的结束方式,将其编辑、连接、运行,熟悉汇编源程序不同的结束方式。DATA SEGMENT BUF DB HOW ARE YOU?$DATA ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATAMAIN PROC FARSTART: PUSH DS MOV AX,0 PUSH AX MOV AX,DATA MOV DS,AX MOV DX,OFFSET BUF MOV SI,0 MOV AH,09H INT 21H RETMAIN ENDPCODE ENDS END START四、实验报告要求1 写明本次实验内容和实验步骤。2 整理出运行正确的各题源程序段和运行结果。3 小结Debug的使用方法。实验二 DEBUG的使用一、实验预习要求1 复习8086指令系统中的数据传送类指令和8086的寻址方式。2 预习Debug的使用方法:a) 如何启动Debug;b) 如何在各窗口之间切换;c) 如何查看或修改寄存器、状态标志和存储单元的内容;d) 如何输入程序段;e) 如何单步运行程序段和用设置断点的方法运行程序段。3 按照题目要求预先编写好实验中的程序段。二、实验任务1通过下述程序段的输入和执行来熟悉Debug的使用,并通过显示器屏幕观察程序的执行情况。练习程序段如下: MOV BL,08H MOV CL,BL MOV AX,03FFH MOV BX,AX MOV DS:0020H,BX 2. 指出下列指令的错误并加以改正,上机验证之。(1) MOV BX,SI(2) MOV AH,BX(3) MOV AX,SIDI(4) MOV BYTE PTRBX,2000H(5) MOV CS,AX(6) MOV DS,2000H3. 设置各寄存器及存储单元的内容如下: (BX)0010H,(SI)0001H(10010H)12H,(10011H)34H,(10012H)56H,(10013H)78H(10120H)0ABH,(10121H)0CDH,(10122H)0EFH说明下列各条指令执行完后AX寄存器中的内容,并上机验证。 (1) MOV AX,1200H (2) MOV AX,BX (3) MOV AX,0120H (4) MOV AX,BX (5) MOV AX,0110HBX (6) MOV AX,BXSI (7) MOV AX,0110HBXSI4. 设AX寄存器中的内容为1111H,BX寄存器中的内容为2222H,DS:0010H单元中的内容为3333H。将AX寄存器中的内容与BX寄存器中的内容交换,然后再将BX寄存器中的内容与DS:0010H单元中的内容进行交换。试编写程序段,并上机验证结果。三、实验报告要求1、写明本次实验内容和实验步骤。2、整理出运行正确的各题源程序段和运行结果。3、写出第2题中改正后的正确指令。4、小结Debug的使用方法。实验三 数据传送一、实验目的1 熟悉8086指令系统的数据传送指令及8086的寻址方式。2 学会利用Debug调试工具来调试汇编语言程序。二、实验要求1通过编写程序,学会各种寻址方式的使用。2继续熟悉使用相关的DEBUG命令单步、断点及连续执行程序,来调试程序。3预先编写好程序。三、实验内容1.汇编语言与PC技术书p46页例4.1中五种方法编写的程序加上输出结果的指令序列,即将SS1中数据传送到SS2后,再将SS2中的字符显示输出、具体要求是:1)为程序LI4_1_1加上按正序将SS2中的字符依次显示出来的指令序列。2)为程序LI4_1_2加上按逆序将SS2中的字符依次显示出来的指令序列。3)为程序LI4_1_4加上按正序将SS2中的字符依次显示出来的指令序列。4)为程序LI4_1_5加上按正序将SS2中的字符依次显示出来的指令序列。提示:此题的困难在于 SS2是用 DW伪指令定义的,而显示字符是一个字节一个字节的显示。解决此问题的方法有四个:直接用SS2SI访问,一次取一个字(比如:MOV DX,SS2SI),然后先显示低位字节(DL),再显示(DH)。即循环执行一次输出两个字符。按字节访问字变量,比如用SS2SI地址表达式表示SS2中的字节地址,在指令中用PTR操作符将字类型变量SS2按字节访问例如:MOV DL,BYTE PTR SS2SI在数据段中定义 SS2的伪指令之前,用 LABEL或EQU伪指令为 SS2所对应的同一物理位置,另外定义类型为BYTE的标号(例如SS3)。当你希望按字节访问这片存储器时,就用别这个名字(比如:MOV DL,SS3SI)。用变量名不出现在地址表达式里的间接访问。比如SI、BX、BXSI等地址表达式表示 SS2中的字节位移量(例如:MOV DL,SI)。2. 把课本例4-1程序LI4_l_l改为SS2在辅助数据段,SS1仍在数据段,将SS1中的字符依次传送至SS2后,按正序显示输出SS2中的字符。四、实验报告要求1. 提交本次上机调试好的程序。2. 给出运行结果。3. 写出编程、调试体会。实验四 利用堆栈和换码实现传送一、实验目的1学会使用堆栈指令PUSH 和POP。2学会使用换码指令XLAT。 二、实验内容课本P60页3. 按例4-1的程序LI4_1_5的方法定义SS1,将SS1按字依次推人堆栈,然后按SS1中字符的反序从堆栈中弹出显示输出。提示:弹出字送入DX,首先显示DL的内容,然后再显示DH的内容。5改写例4_6程序。1)将例4_6改为不存储0,1,2,0FH,而用指令计算出这些十六进制数字(比如在DH里计算)然后将其转换成对应的ASCII码,并显示输出。2)将例4_6改为不存储0,1,2,0FH,而直接用CX的值。提示:CX的值依次为 16,15,2,1,如果换码表定义为:TAB_DA DB FEDCBA9876543210,则CX-l即为0,1,2,E,F在TAB_DA表中相对于表头的位移量。6编写一个加密与解密09位字序列的程序,设0,1,2,3,4,5,6,7,8,9对应的密码表为9,0,8,2,7,4,63,1,5,键盘输入任意一个4位数要求程序能够马上输出这4位数对应的密码。例如:键盘输入4925,显示输出7584。三、实验报告要求1. 提交本次上机调试好的程序。2. 给出运行结果。3. 写出编程、调试体会实验五 算术运算程序一、实验目的1熟悉算术逻辑运算指令和移位指令的功能。2了解标志寄存器各标志位的意义和指令执行对它的影响。二、实验预习要求1复习8086指令系统中的算术逻辑类指令和移位指令。2按照题目要求在实验前编写好实验中的程序段。三、实验任务1. 用DEBUG 调试以下程序段,将指令对标志位的影响结果填写到以下表格: 标志位CFZFSFOFPFAF程序段1:MOV AX, 1018HMOV SI, 230AHADD AX, SIADD AL, 30HMOV DX, 3FFHADD AX,BXMOV 20H, 1000HADD 20H, AXPUSH AXPOP BX000000程序段2:MOV AX, 0A0AHADD AX, 0FFFFH MOV CX, 0FF00HADC AX, CXSUB AX, AXINC AXOR CX, 0FFHAND CX, 0F0FHMOV 10H, CX000000程序段3: MOV BL, 25HMOV BYTE PTR10H, 4MOV AL, 10HMUL BL0000002、(课本习题P79页3,7题)(1)实现多字节二进制减法 630B840A90H-436732AF8AH,用DEBUG查看程序结果。(2)用非压缩型BCD码的减法编写计算: 3621-4203的程序,并显示输出结果。要求:数据按低位存放在低地址字节.数据按高位存放在高地址字节。实验六、代码转换 一、实验目的:1.理解各种进制在计算机内的表方法、BCD码和ASCII码的表示方法。2.熟悉各种常用进制和代码转换的方法。3.掌握代码转换程序的设计方法,比如:如何将BCD值转换成ASCII值。二、实验预习要求:1、复习各进制数、BCD码和ASCII码的定义形式,理解两者的区别2、根据本实验的编程提示和程序框架预先编写汇编语言源程序。三、实验内容1编写程序:将键盘输入的4位十进制数(ASCII码)保存为压缩BCD数。2. 编写程序:从键盘输入一个十进制数,以回车(0DH)结束,将其转换成它所代表的二进制数据,然后以十六进制形式输出。3编写程序;将16位二进制数转换为压缩BCD数。(高数字位存放在低地址)四、实验报告要求1. 整理出完整的实验程序,对结果进行解释。实验七 十进制数的输入和输出一、实验目的1.理解十进制数在计算机中的存放方式。2.掌握十进制数的输入、输出方法,以及十六进制数的输出方法二、实验预习要求1复习系统功能调用的1、2、9号功能。2按照题目要求预先编写好实验中的程序段。三、实验内容课本习题P79页15题15. 键盘输入一个一位加法表达式。1)按十进制输出其正确的结果。例如:7+8=15,2+3=05。2)按十六进制输出其正确结果。例如:78=0FH,2+3=05H。四、实验报告要求1 整理出运行完整的实验程序和运行结果。2 总结一下,如何输出十六进制数?与字符输出有什么关系?3 总结一下,如何输出十进制数?总结15题加法可能的实现方法。实验八 分支及循环程序设计一、实验目的1、 学习提示信息的显示及键盘输入字符的方法。2、 掌握分支程序和循环程序的设计方法。二、实验预习要求1.复习比较指令、转移指令、循环指令的用法。2.根据编程提示,编出汇编语言源程序。三、实验内容(课本p98页4,5)1. 给出一组数:349H,256H,45H,67H,98H,412H,74H,90H,48H,找出其中的最大数、最小数,将结果以十六进制输出。2. 给出一组数:0FFFFH, 3567H, 2345H, 0002H, 0034H, 0F045H,将以上数据视为带符号数,找出其中的最大数和最小数,将结果用十六进制输出。四、实验报告要求1整理出完整的实验程序。2总结一下编制分支程序和循环程序的要点。实验九 8255A并行接口应用一、实验目的:1.掌握8255A的工作原理以及编程方法。2.理解8255A在实际中的应用。二、实验预习要求1.预习8255A的工作原理;2.预习8255A的编程方法;三、实验内容: 某8086微机系统中有一片8255A,其端口A的PA7PA0接8个开关K7K0,C口的PC7PC0接8个发光二极管LED7LED0。A口、C口均工作于方式0,要求实现编程,将开关状态K7K0送入LED7LED0显示。已知端口地址:PA口: 288H,PC口: 28AH,控制口:28BH四、实验报告要求1编写出完整的实验程序。2给出实验结果。实验九 8255A并行接口应用一、实验目的:1.掌握8255A的工作原理以及编程方法。2.理解8255A在实际中的应用。二、实验预习要求1.预习8255A的工作原理;2.预习8255A的编程方法;三、实验内容: 某8086微机系统中有一片8255A,其端口A的PA7PA0接8个开关K7K0,C口的PC7PC0接
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年维修汽车考试题库答案
- 2025年公路水运工程试验检测师公共基础试题库及答案法规与技术标准
- 安达市2025-2026学年七年级上学期语文期中测试试卷
- 2025 年小升初温州市初一新生分班考试英语试卷(带答案解析)-(牛津版)
- 陕西省西安市碑林区西北工业大学附属中学2024-2025学年七年级下学期期末考试数学试卷(含答案)
- 刮石膏劳务合同范本
- 线上商铺租赁合同范本
- 水产店面出租合同范本
- 上海租房合同范本
- 标准的期房合同范本
- 2025年重庆市高考物理试卷(含答案解析)
- 小番茄栽培技术课件
- 女职工普法宣传教学课件
- (高清版)DB22∕T 5159-2024 预应力混凝土桩基础技术标准
- 手术后切口愈合不良查房
- 合资研发中心管理制度
- 2024年中级统计师《统计工作实务》真题及答案解析
- 小学2024-2025学年度第二学期道德与法治课程计划
- 河北省唐山市路北区2025届八年级数学第二学期期末达标检测模拟试题含解析
- 缴纳社保免责协议书
- 平面广告设计基本原则试题及答案
评论
0/150
提交评论