匯编语言源程序运行步骤和DEBUG的使用.docx
文本预览下载声明
实验一 汇编语言源程序运行步骤和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 START2.DEBUG 调试以下程序,查看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四、实验报告要求写明本次实验内容和实验步骤。整理出运行正确的各题源程序段和运行结果。小结Debug的使用方法。实验二 DEBUG的使用一、实验预习要求复习8086指令系统中的数据传送类指令和8086的寻址方式。预习Debug的使用方法:如何启动Debug;如何在各窗口之间切换;如何查看或修改寄存器、状态标志和存储单元的内容;如何输入程序段;如何单步运行程序段和用设置断点的方法运行程序段。按照题目要求预先编写好实验中的程序段。二、实验任务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,[SI][DI](4) MOV BYTE PTR[BX],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,0110H[BX] (6) MOV AX,[BX][SI] (7) MOV AX,0110H[BX][SI]4. 设AX寄
显示全部