文档详情

北方工业大学计算机专业汇编语言实验一详细报告(含代码).doc

发布:2017-06-19约3.32千字共9页下载文档
文本预览下载声明
《汇编语言程序设计》报告书 ? ?? 学生姓名: 学 院: 信息工程学院? 专 业: 计算机科学与技术? 班 级: 指导教师: 杜春来 2012年10月26日 目 录 一.实验内容 1 二.实验模块设计(必须有流程图设计) 2 三.实验模块源码(必须有注释) 3 四.实验遇到的问题与解决方案 4 五.心得体会 4 一.实验内容 1、DEBUG程序的启动: DEBUG的命令格式:[drive:][path] DEBUG [d:][p][filename][.ext][param...] drive: 是指定DEBUG文件的磁盘驱动器标识符,若未指定,DOS将使用当前默认磁盘驱动器。 path: 是DOS查找DEBUG文件的一个子目录串表示的路径。若未指定,DOS将使用当前工作目录。 d: 是DEBUG将要调试的文件所在的磁盘驱动器。 p: 是查找DEBUG将要调试的文件所需的子目录路径,若未指定,DOS使用当前目录。 filename[.ext]是DEBUG将要调试的文件名;param是将被调试的程序(或文件)的命令行参数。 段寄存器CS、DS、ES和SS置为DEBUG程序后的第一个段。 指令指针寄存器IP置为100H(程序段前缀PSP后的第一个语句)。 堆栈指针SP置为段末或COMMAND.COM暂驻部分的结束地址(其中较小的那个地址)。 其余通用寄存器均置为0,标志寄存器置为下述状态:NV UP EI PL NE NA PO NC 段寄存器DS和ES指向PSP。寄存器BX和CX含有程序长度。 注意: ? 字母不分大小写; ? 只使用16进制数,不加H; ? 分割符只在两个数值之间是必须的,命令和参数之间可有可无 ; ? 键入回车键执行命令,Ctrl+Break或Ctrl+C中止命令的执行 ; ? 如命令不符合DEBUG的规则,则提示“error”并使用“^”指示错误位置。 2、DEBUG的主要命令: (1)汇编命令A,格式为:-A[地址]:允许输入汇编语句。 (2)反汇编命令U,有两种格式:-U[地址],该命令从指定地址开始,反汇编32个字节;-U范围: 该命令对指定范围的内存单元进行反汇编, (3)运行命令G,格式为:-G [=地址1][地址2[地址3。。。]]地址1规定运行起始地址,后面为断点地址。 (4)追踪命令T,有两种格式:-T[=地址]从指定地址起执行一条指令,显示寄存器内容和状态;-T[=地址][值] 该命令从指定地址起执行n条命令后停下来,n由[值]确定。 (5)显示内存单元内容的命令D,格式为:-D[地址]或-D[范围] (6)修改内存单元内容的命令E,它有两种格式:-E地址 内容表;-E地址:逐个单元相继地修改。 (7)检查和修改寄存器内容的命令R,它有三种方式:-R显示CPU内部所有寄存器内容和标志位状态; -R 寄存器名:显示和修改某个指定寄存器内容;-RF显示和修改标志位状态系统将给出响应。 (8)命名命令N,格式为:-N 文件名:此命令将文件名格式化在CS:5CH的文件控制块内。 (9)装入命令L,它有两种功能:-L 地址 驱动器 扇区号 扇区数:把磁盘上指定扇区的内容装入到内存指定地址起始的单元中;-L [地址]:此命令装入已在CS:5CH中格式化的文件控制块所指定的文件。 (10)写命令W,有两种格式:-W 地址 驱动器 扇区号 扇区数:把数据写入磁盘的指定扇区;-W [地址]此命令把指定内存区域中的数据写入由CS:5CH处的FCB所规定的文件中。 (11)退出DEBUG命令Q,该命令格式为Q:它退出DEBUG程序,返回DOS,但该命令本身并不把在内存中的文件存盘,如需存盘,应在执行Q命令前先执行写命令W。 3、实验题目: 实验1:设堆栈指针SP=2000H,AX=3000H,BX=5000H;请编一程序段将AX和BX的内容进行交换。请用堆栈作为两寄存器交换内容的中间存储单元,用DEBUG调试程序进行汇编与调试。 实验2:设DS=当前段地址,BX=0300H,SI=0002H;请用DEBUG的命令将存储器偏移地址300H~304H连续单元顺序装入0AH,0BH,0CH,0DH,0EH。在DEBUG状态下送入下面程序,并用单步执行的方法,分析每条指令源地址的形成过程,当数据传送完毕时,AX中的内容是什么。 程序清单如下: MOV AX,BX MOV AX,0304H MOV AX,[0304H] MOV AX,[BX] MOV AX,0001[BX] MOV AX,[BX][SI] MOV AX,0001[BX][SI] H
显示全部
相似文档