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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

本文(微机原理实验指导书1117Word格式文档下载.docx)为本站会员(b****2)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

微机原理实验指导书1117Word格式文档下载.docx

1、0100单元开始输入指令。2. U-反汇编U 地址范围 (如仅指定起始地址:则从指定的地址开始,反汇编32个字节;如未指定地址范围:则将上一个U命令的最后一个单元地址加1作为起始地址。)-U 0030 则反汇编CS:0030单元开始的指令。3. D-显示内存单元内容 (内容可为十六进制数或相应的ASCII 码字符)D 地址范围 (显示指定内存单元中的十六进制数或相应的ASCII 码字符)。-D 0010 则显示DS:0010单元的内容。4. E-修改内存单元内容E 始地址字符串-E DS:100 AA BB 则将AA、BB存入DS:0100DS:0101单元。5.R-检查修改寄存器内容R 寄存

2、器名-R 则显示所有寄存器内容、标志位状态及下一条指令。-R AX 则显示AX寄存器内容。如需修改,则输入1-4个十六进制数,再按回车。如不需修改,直接按回车。 -R F 则显示八个标志位状态,如需修改,则输入此标志位的相应值,再按回车。6.G-运行连续运行或设断点运行G =起始地址断点地址 (断点地址必需是有效指令的第一个字节)若缺省“=起始地址”,则以CS:IP(现行地址)为起始地址,程序执行到断点处,显示断点处所有寄存器内容和八个标志位状态,以及下一条指令。-G 9 (断点地址为0009)若缺省“断定地址”,程序顺序执行完毕,显示:Program terminated normally

3、(程序执行完毕)。-G 若前面已设过断点,然后程序再顺序执行完毕。7.T-跟踪单步运行T =起始地址N(指令条数)若缺省“=起始地址”,则以CS:IP(现行地址)为起始地址, 程序执行N条指令后,显示断点处所有寄存器内容和八个标志位状态,及下一条指令。-T 5 则执行5条指令。-T 则只执行一条指令。注意:若调试程序中有过程调用(包括软中断调用INT N 指令),则需使用P命令。(如用T命令,程序进入调用子程序内。-P 则执行一条指令或一个子程序。8.Q-退出 -Q退出DEBUG返回DOS状态。1.3预习报告格式1. 实验目的与要求2. 实验内容3. 实验仪器4. 实验原理(软件实验画流程图,

4、硬件实验画电路图)5. 实验步骤6. 实验源程序7. 实验现象或结果记录1.4 实验报告格式7. 实验总结(实验现象或实验结果;实验过程遇到的问题如何解决?实验体会,思考题解答等)第二章 软件实验实验一 Debug程序的使用一、实验目的1. 学习使用DEBUG调试命令。2. 学习用DEBUG调试简单程序。3. 通过程序验证码制及其对标志位的影响。4. 通过调试熟悉和掌握个寄存器的作用与特点。二、实验内容用DEBUG调试简单程序。三、实验仪器微机一台四、实验步骤1由DOS进入DEBUG调试环境。(1) C:DEBUG将调试程序装入内存当机器控制权由DOS成功地转移给调试程序后,将显示“”号,它是

5、DEBUG的状态提示符,表示可以接受调试子命令了。(2) R 显示CPU中各寄存器当前初始内容,请记录下列各项:AXBXCXDXBP=SI=DI=DS=ES=SS=SP=CS=IP= FLAG寄存器中的8个标志位状态值是:OFDFIFSFZFAFPFCF 说明:1) 此时,调试工作区的四个段值相同,指向同一起点,表明公用一个64KB空间;2) SS:SP指向堆栈顶单元,SP为FFFE或FFEE,正好是本段的最高可用地址,表明堆栈自动使用最高地址,栈区由底向上生长;3) CS:IP为约定的调试工作区地点(IP0100),可由此装入待调试程序代码,或汇编键入的程序小段,工作区由低址往下使用;4)

6、DEBUG用符号给出标志寄存器中8个标志位的当前状态,其含义如下表所示。标志位含义1的对应符号0的对应符号OF溢出OV有NV无DF方向DN递减UP递增IF中断EI允许DI禁止SF符号NG负PL正ZF全零ZR零NZ非零AF辅助进位AC有NA无PF奇偶性PE偶PO奇CF进位CY有NC无(3) 结束程序,返回DOS。Q2用DEBUG调试简单程序例1 A CS:0106 MOV AX,1234MOV BX,2345MOV CX,0ADD AX,BXMOV CX,AXINT 20运行程序(注:执行程序时IP应指向要执行的指令,需要修改时 RIP 当前值 输入需要值 该处为0106 当然也可以在T或G命令

7、中指出程序起始地址) R 显示各寄存器当前内容及首条指令 T3 跟踪执行三条赋值传送指令,记录寄存器及标志位变化 T2跟踪执行相加及送和数指令,记录寄存器及标志位变化 G 执行软件中断指令INT 20,机器将显示“程序正常终止”的信息,并显示“”,表明仍处在DEBUG的调试控制状态下,注意未用T命令,因为我们不想进入到20H中断处理程序中去,P命令也可实现相同操作实验现象记录:记录每条指令执行后各相关寄存器值及标志位状态例2 A CS:116MOV AX,0124MOV BX ,0126MOV 0128,AXDW 2222DW 8888DW 0设置断点分段运行程序GCS:116 11D 从指定

8、入口运行程序,至断点11D停,可见两个数已取至AX,BX,但还没有求和G122 从上一断点运行至新断点停,已完成求和并存入指定结果单元G 完成程序观看内存内容DCS:116 12A 显示本程序小段目标代码和数据单元内容UCS:116 12A 反汇编指定范围的内存内容-通过反汇编,记录程序执行前指定范围的内存内容,并记录每条指令执行后各相关寄存器值及指定范围的内存内容)例3 A CS:0192 MOV DX,19BMOV AH,9INT 21DB HELLO,WORLD! $P 命令单步执行观察每条指令执行后各寄存器的变化,记录DX,AX的变化。思考:根据程序输入情况,考虑HELLO,WORLD

9、!$在内存中的ASC码和地址范围D ASC码为: ;例4 自己设计一段小程序验证补码的加法、进位、溢出的概念;参考程序(可对数据进行修改):A CS:0100MOV AL,74ADD AL,70MOV AL,7AADD AL,94MOV AL,43ADC AL,65P命令单步执行记录每条指令执行后AX及标志位变化例5 1 使用R命令,实现AX0108,BXF1AAR R 2编辑下列程序XCHG AL,BHSUB AX,BXAASP 命令执行单步执行记录每条指令执行后,AX、BX以及标志位的变化。例6 执行下列程序,用P命令或T命令跟踪MOV AX,0200MOV DX,1E4FCALL AXM

10、OV DX,167CADD DH,DLMOV 0300,DXACS:0200PUSH AXMOV AX, 010BPOP AXRET1)跟踪执行程序,观察在子程序调用过程中IP SP 堆栈区域内容 2)程序运行完毕后DS:0300中的内容为 3)如果去掉POP AX,程序执行后DS:0300中内容为 实验二. 汇编语言上机环境及基本步骤一、实验目的:1. 掌握编写汇编源程序的基本格式。2. 熟悉汇编语言上机环境。3. 掌握汇编源程序的编辑和修改,熟悉EDIT或记事本的使用方法。4. 掌握汇编源程序编译、连接成可执行文件的过程,熟悉MASM,LINK的使用方法。二、实验内容:在屏幕上显示并打印字

11、符串“This is a sample program.”四、实验步骤:1在E盘以自己的名字的汉语拼音建立一个工作目录(文件夹,名称不要太长,不超过8个字符比如zhangsan),将文件MASM.EXE,LINK.EXE复制到该目录下,编辑的源文件也保存到该目录下。从WINDOWS进入DOS环境:C:2用EDIT编辑SW1.ASM源文件。 (1). 从当前目录进入自己的目录下, E: 回车 CD zhangsan 回车键入EDIT并回车: zhangsanEDIT根据菜单提示进行各种操作。(2)进入EDIT编辑-EDIT是一种全屏幕编辑软件,可输入、编辑、修改、保存、另存源程序非常方便。说明:

12、也可在WIDNDOWS环境下用记事本编辑源文件,在保存时,保存类型应选择所有文件,不能选择文本文件(*.txt),否则在编译时会找不到源文件的。 (3).编辑新文件:a、在EDIT编辑器中输入汇编源程序。b、检查输入有无错误。c、打开文件菜单FILE选择另存为SAVE AS输入文件名为:SW1.ASM保存。 注意:保存到你自己的文件夹中d、若需要修改此文件,用FILE菜单选择打开OPEN输入文件名SW1.ASM,即可修改。修改后注意重新再存盘。(4).编辑汇编源程序a、在EDIT(或记事本)中输入源程序。b、检查。c、存盘。可保存为SW1.ASM3.用汇编程序MASM将SW1.ASM文件汇编,

13、生成SW1.OBJ目标文件。(1).一般简单程序只需生成.OBJ文件,可键入简化命令: E:zhangsanMASM SW1;若有错误,则显示错误行号及错误性质,如:SW1.ASM(5):error A2006:undefined symbor:xxxx(2).若有错重新进入EDIT进行修改。修改后并再存盘,退出编辑,回到DOS,再汇编。 zhangsan (3)没有任何错误时,显示:Assembling:SW1.asm表示汇编成功,生成SW1.OBJ文件。(4).用DIR命令查看应有SW1.OBJ:DIR SW1.*4.用连接程序LINK将SW1.OBJ文件连接,生成SW1.EXE可执行文件

14、。(1).一般仅生成SW1.EXE文件, 可键入简化命令:LINK SW1;若有错误,则显示错误信息,则应返回编辑、修改、存盘,再汇编、连接直到连接成功,生成SW1.EXE可执行文件。(2).用DIR命令查看应有SW1.EXE:DIR SW1.*5.运行SW1.EXE文件 zhangsan SW1 执行SW1.EXE文件,屏幕应显示:“This is a sample program.”。由连接程序生成的.EXE,在DOS下,直接键入文件名(不要扩展名.EXE)就可以把文件装入内存,并立即执行。但有的程序没有直接显示结果;对于较复杂程序难免会出现错误,直接观察很难找到错误所在,这样就要借用调试

15、程序进行调试。记录调试过程中出现的问题及修改措施,并记录程序执行结果。五、实验源程序;*定义数据段* DATA SEGMENT DA1 DB This is a sample program.DB 0DH,0AH,$DATA ENDS*定义堆栈段*STACK SEGMENT ST1 DB 100 DUP(?STACK ENDS*定义代码段*CODE SEGMENT MAIN PROC FAR ASSUME CS:CODE,DS:DATA,SS:STACKSTART:MOV AX, STACK ;送堆栈段地址 MOV SS, AX PUSH DS ;返回DOS作准备 MOV AX,0 PUSH

16、AX MOV AX, DATA ;送数据段段地址 MOV DS, AX MOV AH, 9 ;DOS 9号功能调用,显示字符串 MOV DX, OFFSET DA1 INT 21H RET MAIN ENDP CODE ENDS END START六、思考题1 试用另外一种方式返回DOS操作系统。2在屏幕上显示并打印字符串“My name is XXX!”XXX为自己姓名汉语拼音。实验三 两个多位十进制数相加的实验1学习数据传送和算术运算指令的用法。2熟悉在PC机上建立、汇编、链接、调试和运行8086汇编语言程序的过程。将两个多位十进制数相加,要求被加数均以ASC码形式各自顺序存放在以DATA

17、1和DATA2为首的5个内存单元中(低位在前),结果送回DATA1处。四、实验原理程序流程图:五、实验步骤1.编辑、汇编、连接生成可执行文件LW.EXE;2.在DOS状态下启动该程序;3.在DEBUG状态下调试研究程序工作过程.六、实验源程序(LW.ASM)CRLF MACROMOV DL, 0DHMOV AH, 02HINT 21HMOV DL, 0AHENDMDATA SEGMENT DATA1 DB 33H,39H,31H,37H,34HDATA2 DB 36H,35H,30H,38H,32HSTA DB 20 DUP(?TOP EQU LENGTH STACODE SEGMENT AS

18、SUME CS:CODE, DS:DATA, SS:STACK, ES:DATA MOV AX, DATAMOV DS, AXMOV AX,STACKMOV SS,AXMOV AX,TOPMOV SP,AXMOV SI,OFFSET DATA2MOV BX,05CALL DISPLCRLFMOV SI,OFFSET DATA1MOV DI,OFFSET DATA2CALL ADDAMOV AX,4C00HDISPL PROC NEARDS1: MOV AH,02MOV DL, SI+BX-1DEC BXJNZ DS1DISPL ENDPADDA PROC NEARMOV DX,SIMOV BP

19、,DIAD1: SUB BYTE PTRSI+BX-1, 30HSUB BYTE PTRDI+BX-1, 30HJNZ AD1MOV SI,DXMOV DI,BPMOV CX,05CLCAD2: MOV AL,SIMOV BL,DIADC AL,BLAAAMOV SI,ALINC SIINC DILOOP AD2AD3: ADD BYTE PTRSI+BX-1,30HADD BYTE PTRDI+BX-1,30HJNZ AD3ADDA ENDPCODE ENDSEND START实验四 循环结构程序设计一 、实验目的1. 掌握循环程序的结构及执行过程;2. 掌握循环控制指令的功能;3. 掌握循

20、环程序设计方法与调试方法。1单重循环程序设计。已知当前数据段中DATA1和DATA2开始分别存放若干字节数据,数据个数相同,编制程序检查数据块中的数据是否相同,若相同,则在屏幕上显示1;否则显示0。1.编辑、汇编、连接生成可执行文件;六、实验源程序参考程序*EXAM.ASM*DSEG SEGMENTDATA1 DB ABCDEFG3DATA2 DB ABCDEF4GCNT DW 8DSEG ENDSCSEG SEGMENTCSEG , DS:DSEG MOV AX, DSEG MOV DL, 31H ;1的ASCII码送DL LEA SI, DATA1 LEA DI, DATA2 MOV CX

21、, CNT DEC SI DEC DIAGAIN: INC SI INC DI MOV AL, SI CMP AL, DI LOOPZ AGAIN JZ DISP DEC DLDISP: MOV AH, 2 MOV AH, 4CH ;返回DOSCSEG ENDS2双重循环程序设计见教材p179 例题4-72实验五 子程序设计1. 掌握子程序的结构和设计方法;2. 掌握子程序的调用和返回指令的用法及执行情况;3. 掌握在子程序调用时堆栈的变化情况;4. 掌握主程序与子程序间参数传递的方法;5. 掌握现场的保护与恢复方法。 已知当前数据段中BUF开始分别存放若干二进制字节数据,编制程序将这些数据分别转换为十六进制数据在屏幕上显示出来,要求十六进制转换ASCII码用子程序实现。CONV.ASMDATA SEGMENTBUF DB 0ABH,0CDH,0DEH,01H,02H,03H DB 3AH,4BH,5CH,6FH* MOV CX, 10 LEA BX, BUF MOV AL, BX CALL HEX2ASC ;调用十六进制转换ASCII码子程序*显示ASCII码* PUSH CX MOV CX, DX MOV DL, CH ;显示高位 MOV DL,CL ;显示低位 MOV DL, ;显示空格 MOV AH,2 POP CX INC BX LOOP AGAIN*返回dos

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2