微机原理与接口技术实验指导书.doc

上传人:da****u 文档编号:1129225 上传时间:2018-12-11 格式:DOC 页数:19 大小:202.50KB
下载 相关 举报
微机原理与接口技术实验指导书.doc_第1页
第1页 / 共19页
微机原理与接口技术实验指导书.doc_第2页
第2页 / 共19页
微机原理与接口技术实验指导书.doc_第3页
第3页 / 共19页
微机原理与接口技术实验指导书.doc_第4页
第4页 / 共19页
微机原理与接口技术实验指导书.doc_第5页
第5页 / 共19页
点击查看更多>>
资源描述

1、汇编语言实验指导书电子科技大学计算机学院二六年八月1目 录实验一 汇编源程序的上机调试操作基础训练.2实验二 数制、码制和子程序的编程与调试.6实验三 分支程序与循环程序设计. 10实验四 串操作指令及其应用程序的设计与调试运行12附录 实验报告152实验一 汇编源程序的上机调试操作基础训练一实验目的:1. 掌握 DEBUG 的基本命令及其功能2. 学习数据传送和算术运算指令的用法3熟悉在 PC 机上编辑、汇编、连接、调试和运行汇编语言程序的过程。二实验内容:(一)DEBUG 命令的使用DEBUG 是专门为汇编语言设计的一种调试工具,它通过步进,设置断点等方式为汇编语言程序员提供了非常有效的调

2、试手段。1、DEBUG 程序的启动在 DOS 提示符下,可键入命令:CDEBUGd:path文件名 参数 1参数 2其中文件名是被调试文件的名称,它须是执行文件(EXE) ,两个参数是运行被调试文件时所需要的命令参数,在 DEBUG 程序调入后,出现提示符“-” ,此时,可键入所需的 DEBUG 命令。在启动 DEBUG 时,如果输入了文件名,则 DEBUG 程序把指定文件装入内存。用户可以通过 DEBUG 的命令对指定文件进行修改、显示和执行。如果没有文件名,则是以当前内存的内容工作,或者用命名命令和装入命令把需要的文件装入内存,然后再用DEBUG 的命令进行修改、显示和执行。2、DEBUG

3、 的主要命令(1) 汇编命令 A,格式为:-A地址该命令从指定地址开始允许输入汇编语句,把它们汇编成机器代码相继存放在从指定地址开始的存储器中。(2) 反汇编命令 U,有两种格式:1)-U地址该命令从指定地址开始,反汇编 32 个字节,若地址省略,则从上一个 U 命令的最后一条指令的下一个单元开始显示 32 个字节。2)-U 范围3该命令对指定范围的内存单元进行反汇编,例如:-U 04BA:0100 0108 或 U 04BA:0100 L9此二命令是等效的。(3) 运行命令 G,格式为:-G =地址 1地址 2地址 3。 。 。其中地址 1 规定了运行起始地址,后面的若干地址均为断点地址。(

4、4) 追踪命令 T,有两种格式:1)逐条指令追踪:-T=地址该命令从指定地址起执行一条指令后停下来,显示寄存器内容和状态值。2)多条指令追踪:-T=地址值该命令从指定地址起执行 n 条命令后停下来,n 由值确定。(5) 显示内存单元内容的命令 D,格式为:-D地址或-D范围(6) 修改内存单元内容的命令 E,它有两种格式:1)用给定的内容代替指定范围的单元内容:-E 地址 内容表例如:-E 2000:0100 F3 “XYZ” 8D其中 F3, “X”“Y”“Z”和 8D 各占一个字节,用这五个字节代替原内存单元 2000:0100 到 0104 的内容, “X”“Y”“Z”将分别按它们的 A

5、SCII 码值代入。2)逐个单元相继地修改:-E 地址例如:-E 100:18E4:0100 89.78此命令是将原 100 号单元的内容 89 改为 78。78 是程序员键入的。(7) 检查和修改寄存器内容的命令 R,它有三种方式:1)显示 CPU 内部所有寄存器内容和标志位状态;格式为:-RR 命令显示中标志位状态的含义如下表所示:标 志 名 置 位 复 位溢出 Overflow(是/否) OV NV4方向 Direction(减量/增量) DN UP中断 Interrupt(允许/屏蔽) EI DI符号 Sign(负/正) NG PL零 Zero(是/否) ZR NZ辅助进位 Auxil

6、iary Carry(是/否) AC NA奇偶 Parity(偶/奇) PE PO进位 Carry(是/否) CY NC2)显示和修改某个指定寄存器内容,格式为:-R 寄存器名例如打入:-R AX系统将响应如下:AX FIF4:表示 AX 当前内容为 F1F4,此时若不对其作修改,可按 ENTER 键,否则,打入修改后内容,如:-R BXBX 0369:059F则 BX 内容由 0369 改为 059F3)显示和修改标志位状态,命令格式为:-RF系统将给出响应,如OV DN EI NG ZR AC PE CY-这时若不作修改可按 ENTER 键,否则在“-”号之后键入修改值,键入顺序任意。如O

7、V DN EI NG ZR AC PE CY-PONZDINV(8) 命名命令 N,格式为:-N 文件名此命令将文件名格式化在 CS:5CH 的文件控制块内,以便使用 L 或 W 命令把文件装入内存进行调试或者存盘。(9) 装入命令 L,它有两种功能:1)把磁盘上指定扇区的内容装入到内存指定地址起始的单元中,格式为:-L 地址 驱动器 扇区号 扇区数2)装入指定文件,格式为:5-L 地址此命令装入已在 CS:5CH 中格式化的文件控制块所指定的文件。在用 L 命令前,BX 和 CX 中应包含所读文件的字节数。(10)写命令 W,有两种格式:1)把数据写入磁盘的指定扇区:-W 地址 驱动器 扇区

8、号 扇区数2)把数据写入指定文件中:-W 地址此命令把指定内存区域中的数据写入由 CS:5CH 处的 FCB 所规定的文件中。在用 W 命令前,BX 和 CX 中应包含要写入文件的字节数。(11)退出 DEBUG 命令 Q,该命令格式为Q它退出 DEBUG 程序,返回 DOS,但该命令本身并不把在内存中的文件存盘,如需存盘,应在执行 Q 命令前先执行写命令 W。(二)程序的调试与运行编写程序计算以下表达式:Z=(5X+2Y-7)/2设 X、Y 的值放在字节变量 VARX、VARY 中,结果存放在字节单元 VARZ 中。三实验要求:实验前要做好充分准备,包括汇编程序清单、调试步骤、调试方法,以及

9、对程序结果的分析等。四调试步骤1编辑源程序,建立一个以后缀为 ASM 的文件.2汇编源程序,检查程序有否错误,有错时回到编辑状态,修改程序中错误行。无错时继续第 3 步。3连接目标程序,产生可执行程序。4用 DEBUG 程序调试可执行程序,记录数据段的内容。 VARX VARY VARZ5 410 5620 207实验二 数制、码制和子程序的编程与调试一实验目的:1、熟练掌握编写汇编语言原程序的基本方法和基本框架。2、熟练使用 DEBUG 调试程序。3、掌握十六进制数与 ASCII 码之间,ASCII 码与 BCD 码之间的转换。4、掌握用 DOS 功能调用,实现字符的输入和显示。5、掌握子程

10、序的编程与调试方法。二实验内容:编程实现:从键盘输入 4 位十六进制数(它对应的二进制数是补码表示的带符号数) ,把它们转换为带符号非组合型 BCD 码,并在屏幕上显示出来。三编程提示:1、从键盘输入 14 位十六进制数,存放在以 HEXBUF+2 为首址的 4 个字节单元中。其中 HEXBUF+1 单元中为输入的数据个数。2、将 ASCII 码表示的 4 位十六进制数转换为 16 位二进制数,并暂时存放在 BX中;3、确定十进制数的符号,并把符号(+或-) 存放在 BCDBUF 单元中;4、对 BX 中的二进制数采用前述算法转换为十进制数(非组合型 BCD 码) ,转换结果存放在以 BCDB

11、UF+1 为首址的 5 个字节单元中;5、把转换结果的 5 个非组合型 BCD 码形成相应的 ASCII 码6、显示结果。参考程序:TITLE CONVERT HEXADECIMAL TO BCDDATA SEGMENTPROMPT DB “INPUT HEXADECIMAL(4DIGITS):$HEXBUF DB 5,0,5 DUP(0)DISP DB 0AH,0DHBCDBUF DB 6 DUP(0),$DATA ENDSSTACK1 SEGMENT PARA STACKDW 20H DUP(0)STACK1 ENDSCOSEG SEGMENT8ASSUME CS:COSEG,DS:DAT

12、A,SS:STACK1HEXBCD: MOV AX,DATAMOV DS,AX;输入 14 位十六进制数LEA DX,PROMPT ;显示提示信息MOV AH,09HINT 21HLEA DX,HEXBUF ;输入数据MOV AH,0AHINT 21H;ASCII 码转换为 16 位二进制数并存入 BX 中LEA SI,HEXBUF+2 ;取十六进制数 ASCII 码首址MOV BX,0 ;暂存二进制数的寄存器清零MOV CH,HEXBUF+1 ;取输入数据个数HEX1: MOV AL,SI ;取一个十六进制数字符CMP AL,9JBE NUMB ;小于等于9是数字符SUB AL,07H ;是

13、字母符 NUMB: AND AL,0FH MOV CL,4SAL BX,CLOR BL,ALINC SIDEC CHJNE HEX1;确定十进制数的符号MOV BCDBUF,+TEST BX,8000HJNS PLUS ;是正数MOV BCDBUF,- ;是负数NEG BX ;求补后变为原码;将二进制数转换为非组合型 BCD 码,从二进制; 数高位起,进行 15 次加和乘 PLUS: MOV CH,0FH ; “加乘”运算的次数LOP0: SHL BX,1 ;最高位二进制数送 CFCALL ADDIT ;先加 1 位二进制数CALL MULTI ;再乘 2DEC CHJNE LOP0SHL B

14、X,1 ;加最低位二进制数CALL ADDIT;把非组合型 BCD 码转换为 ASCII 码形式 LEA DI,BCDBUF+1MOV CX,5LOP1: OR BYTE PTR DI,30H9INC DILOOP LOP1;显示结果LEA DX,DISPMOV AH,09HINT 21HMOV AH,4CH ;程序结束INT 21H;多字节 BCD 码加 1 位二进制数子程序ADDIT PROC LEA DI,BCDBUF+5 ;从低位开始MOV CL,5 ;取字节数ADD1: MOV AL,DI ;取 BCD 码ADC AL,0 ;加二进制数位(CF)AAA ;十进制数运算校正MOV DI,AL ;存 BCD 码DEC DIDEC CLJNE ADD1RETADDIT ENDP;多字节 BCD 码乘 2 子程序MULTI PROCLEA DI,BCDBUF+5 ;从低位开始MOV CL,5CLCMUL1: MOV AL,DI ;取 BCD 码ADC AL,AL ;乘 2AAA ;十进制数运算校正MOV DI,AL ;存 BCD 码DEC DIDEC CLJNE MUL1RETMULTI ENDPCOSEG ENDSEND HEXBCD四实验要求:实验前要做好充分准备,包括汇编程序清单、调试步骤、调试方法,以及对程序结果的分析等五实验报告:1、程序说明。说明程序的功能、结构。

展开阅读全文
相关资源
相关搜索
资源标签

当前位置:首页 > 教育教学资料库 > 课件讲义

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。