ImageVerifierCode 换一换
格式:DOCX , 页数:16 ,大小:55.83KB ,
资源ID:8793927      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/8793927.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(汇编语言源程序运行步骤和DEBUG的使用.docx)为本站会员(b****7)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

汇编语言源程序运行步骤和DEBUG的使用.docx

1、汇编语言源程序运行步骤和DEBUG的使用实验一 汇编语言源程序运行步骤和DEBUG的使用一、实验目的1熟悉汇编语言源程序书写格式。2熟悉汇编语言源程序编辑、汇编、连接、执行步骤。3练习DEBUG常用命令的使用。4熟悉8086的寄存器。5了解程序的执行过程。二、实验预习要求1、认真阅读预备知识中汇编语言的上机步骤的说明,熟悉汇编程序的建立、汇编、连接、执行、调试的全过程。2预习使用DEBUG 检查/修改寄存器内容、查询存储器内容的命令。3预习使用DEBUG单步、断点及连续执行程序的命令。三、实验内容1编辑以下程序,汇编连接后运行,将输出HOW ARE YOU?。本习题主要目的:熟悉汇编语言源程序

2、的书写格式;熟悉汇编语言源程序的编辑、汇编、连接、运行。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

3、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 ;(

4、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,

5、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通过下述程序段的输

6、入和执行来熟悉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,(10

7、013H)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单元中的内容

8、进行交换。试编写程序段,并上机验证结果。三、实验报告要求1、写明本次实验内容和实验步骤。2、整理出运行正确的各题源程序段和运行结果。3、写出第2题中改正后的正确指令。4、小结Debug的使用方法。实验三 数据传送一、实验目的1 熟悉8086指令系统的数据传送指令及8086的寻址方式。2 学会利用Debug调试工具来调试汇编语言程序。二、实验要求1通过编写程序,学会各种寻址方式的使用。2继续熟悉使用相关的DEBUG命令单步、断点及连续执行程序,来调试程序。3预先编写好程序。三、实验内容1.汇编语言与PC技术书p46页例4.1中五种方法编写的程序加上输出结果的指令序列,即将SS1中数据传送到SS2

9、后,再将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)。即循环执行一次输出两个字符。按字节

10、访问字变量,比如用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仍在数据段,将SS

11、1中的字符依次传送至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里计算)然后将其

12、转换成对应的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. 写出编

13、程、调试体会实验五 算术运算程序一、实验目的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 BX00000

14、0程序段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的程序,并显示输出结果。要求:数据按低位存放在低地址字节.数

15、据按高位存放在高地址字节。实验六、代码转换 一、实验目的:1.理解各种进制在计算机内的表方法、BCD码和ASCII码的表示方法。2.熟悉各种常用进制和代码转换的方法。3.掌握代码转换程序的设计方法,比如:如何将BCD值转换成ASCII值。二、实验预习要求:1、复习各进制数、BCD码和ASCII码的定义形式,理解两者的区别2、根据本实验的编程提示和程序框架预先编写汇编语言源程序。三、实验内容1编写程序:将键盘输入的4位十进制数(ASCII码)保存为压缩BCD数。2. 编写程序:从键盘输入一个十进制数,以回车(0DH)结束,将其转换成它所代表的二进制数据,然后以十六进制形式输出。3编写程序;将16

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 整理出运行完整的实验程序和运行结果。

17、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, 003

18、4H, 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显示

19、。已知端口地址:PA口: 288H,PC口: 28AH,控制口:28BH四、实验报告要求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口:

20、28AH,控制口:28BH四、实验报告要求1编写出完整的实验程序。2给出实验结果。实验十一 交通灯模拟实验-8255并行接口实验一、实验要求: 编写程序,以8255的PA口作为输出口,控制4个双色LED灯(可发红、绿、黄光),模拟十字路口交通灯管理。 二、实验目的: 1、掌握8255的工作原理。 2、学习模拟交通灯控制方法; 三、8255的工作原理: 8255有三个8位的并行口,端口既可以编程为普通I/O口,也可以编程为选通I/O口和双向传输口。8255为总线兼容型,可以与CPU的总线直接接口。其中,口地址取决于片选CS和A1、A0。选择如下:A1A0CS选通的端口000A口010B口100C口110命令口本实验中8255编程为PB口、PC口、PA口均输出,根据8255状态控制字选择方法。8255控制字应为90H。四、接线方案: 五、实验说明: 因为本实验是模拟交通灯控制实验,所以要先了解实际交通灯的变化规律。假设一个十字路口为东西南北走向。初始状态0南北绿灯通车,东西红灯。过一段时间转状态1,南北绿灯闪几次转亮黄灯,东西仍然红灯,延时儿秒。再转状态2,东西绿灯通车,南北红灯。过一段时间转状态3,东西绿灯闪几次转亮黄灯,延时几秒,南北仍然红灯。最后循环至状态0。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1