欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > DOC文档下载  

    [教学研究]计算机组成与结构实验指导书.doc

    • 资源ID:4541960       资源大小:2.11MB        全文页数:41页
    • 资源格式: DOC        下载积分:10金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要10金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    [教学研究]计算机组成与结构实验指导书.doc

    计算机体系结构实验指导书目 录实验一 熟悉汇编语言程序开发环境3实验二 DEBUG的启动及其基本命令的使用4实验三 系统功能调用12实验四 内存操作数及寻址方法13实验五 分支程序设计14实验六 汇编语言程序的调试与运行15实验七 循环程序设计17实验八 顺序程序设计18实验九 子程序设计20实验十 循环程序设计23实验十二 综合程序设计26实验十三 综合程序设计27附录-DEBUG使用手册28附录 汇编软件MASM和调试、工具软件DEBUG使用311.1 实 验 目 的311.2 相关基础知识311.2.1 汇编语言程序上机步骤311.2.2 调试工具软件DEBUG341.3 汇编语言上机实验371.4 应用DEBUG软件调试程序实验39实验一 熟悉汇编语言程序开发环境一、实验学时:2二、实验类型:验证性三、开出要求:必修四实验目的1、熟悉在PC机上编辑、汇编、连接、调试和运行汇编语言程序的过程。2、熟悉汇编过程中一些常见出错信息。五实验内容 1、启动EDIT编辑软件,输入下面的汇编源程序(不包括行号),用S+学号后4位+.ASM作为文件名保存到D:盘上, 然后汇编、连接并调试运行。1 data segment2 out1 db 'Hello world$3 ax db 'My name is DJX$' ;有错行,将ax改为ax14 data ens ;有错行,将ens改为ends56 code segment7 assume cs:code;ds:data8 start: mov ax,data9 mov ds,ax10 lea dx,out111 mov ah,912 int 21h1314 mov dl,0a35h ;有错行,将0a35h改为0ah15 mov ah,216 int 21h17 mov dl,0dh18 moo ah,2 ;有错行,将moo改为mov19 int 21h2021 lea dx,ax ; 有错行,将ax改为ax122 mov ah,923 int 21h24 mov ah,4ch25 int 21h26 code ends27 end start六、实验条件 DOS运行环境七实验报告1、写出编辑、汇编、连接和运行汇编语言程序的完整实验步骤及运行结果。2、理解汇编出错信息并写出中文含义。3实验体会八、实验成绩评定办法根据学生的实验预习、实验纪律、实验动手能力、实验报告结果及编程技巧,进行综合评定,给出A(90)、B(80)、C(70)、D(60)、E(不及格)。实验二 DEBUG的启动及其基本命令的使用一实验目的:掌握DEBUG 的基本命令及其功能二实验内容:DEBUG是专门为汇编语言设计的一种调试工具,它通过步进,设置断点等方式为汇编语言程序员提供了非常有效的调试手段。DEBUG的命令都是一个字母,后跟一个或多个参数:字母 参数命令的使用中注意: 字母不分大小写; 只使用16进制数,没有后缀字母; 分隔符(空格或逗号)只在两个数值之间是必须的,命令和参数间可无分隔符; 每个命令只有按了回车键后才有效,可以用Ctrl+Break中止命令的执行; 命令如果不符合Debug的规则,则将以“error”提示,并用“”指示错误位置。许多命令的参数是主存逻辑地址,形式是“段基地址 : 偏移地址”。其中,段基地址可以是段寄存器或数值;偏移地址是数值。如果不输入段地址,则采用默认值,可以是缺省段寄存器值。如果没有提供偏移地址,则通常就是当前偏移地址。对主存操作的命令还支持地址范围这种参数,它的形式是:“开始地址 结束地址”(结束地址不能具有段地址),或者是:“开始地址 L字节长度”。DEBUG命令一览:分类命令格式功能简介读写寄存器R显示所有寄存器的当前内容R寄存器名显示和修改指定寄存器内容RF显示和修改标志寄存器内容汇编和反汇编A内存地址从指定地址开始汇编指令U内存块对指定内存块进行反汇编执行指令T:内存地址条数单步或多步执行指令P=内存地址条数单步或多步执行指令G=内存地址连续执行指令G=内存地址断点地址设断点执行程序读写内存D内存块显示指定内存块内容E 内存地址 字符或数值串修改指定内存内容F 内存块 字符或数值串填充指定内存块S 内存块 字符串或数值在指定内存块中查找串M 内存块1 内存块2的首地址复制内存块内容C 内存块1 内存块2的首地址比较两个指定内存块读写磁盘Nd:path文件名.扩展名指定欲读写的磁盘文件W 内存地址将指定内存块写入文件L 内存地址将文件调入内存读写I/O端口I 端口地址读入指定端口的内容O 端口地址 数值将数据写入指定端口十六进制加减H 数值1 数值2计算并显示两数之和,两数之差退出DEBUGQ退出DEBUG,返回DOS1、DEBUG程序的启动在DOS提示符下,可键入命令:C:>DEBUGDEBUG命令的完整格式为:DEBUG d:path文件名 参数1参数2。其中d:是盘符,path是路径,文件名是被调试文件的名称,它须是执行文件(EXE),两个参数是运行被调试文件时所需要的命令参数,在DEBUG程序调入后,出现提示符“-”,此时,可键入所需的DEBUG命令。在启动DEBUG时,如果输入了文件名,则DEBUG程序把指定文件装入内存。用户可以通过DEBUG的命令对指定文件进行修改、显示和执行。如果没有文件名,则是以当前内存的内容工作,或者用命名命令和装入命令把需要的文件装入内存,然后再用DEBUG的命令进行修改、显示和执行。2、DEBUG的主要命令(1)、检查和修改寄存器内容的命令R,它有三种方式:1)显示CPU内部所有寄存器内容和标志位状态,格式为:-R例如:输入-R,得到结果如下:2)显示和修改某个指定寄存器内容,格式为:-R 寄存器名例如:输入-R AX,得到结果如下:表示AX当前内容为0000,此时若不对其作修改,可按ENTER键,否则,输入修改内容后,如:则AX内容由0000改为0A0A3)R命令显示标志寄存器标志位状态的含义如下表所示:标 志 名置 位(值为1)复 位(值为0)溢出Overflow(是/否)OVNV方向Direction(减量/增量)DNUP中断Interrupt(允许/屏蔽)EIDI符号Sign(负/正)NGPL零Zero(是/否)ZRNZ辅助进位Auxiliary Carry(是/否)ACNA奇偶Parity(偶/奇)PEPO进位Carry(是/否)CYNC修改标志位状态,命令格式为:-RF例如:输入-RF,输出结果如下:这时若不作修改可按ENTER键,否则在“-”号之后键入修改值,键入顺序任意。如:(2)、汇编命令A,格式为:-A地址该命令从指定地址开始允许输入汇编语句,把它们汇编成机器代码相继存放在从指定地址开始的存储器中。A命令中如果没有指定地址,则接着上一个A命令的最后一个单元开始;若还没有使用过A命令,则从当前CS : IP开始。例如:输入代码,则代码存储在OAFO:0100至OAFO:010D单元中。(3)、反汇编命令U,有两种格式:1)-U地址该命令从指定地址开始,反汇编32个字节,若地址省略,则从上一个U命令的最后一条指令的下一个单元开始显示32个字节。2)-U范围该命令对指定范围的内存单元进行反汇编,例如:-U 0100 011E或-U 100 11E 或-U 0AF0:0100 011E或U 0AF0:0100 L1F(L用来引导指令的条数,1F为指令的条数),这些命令是等效的。(4)、运行命令G,格式为:-G =地址1地址2地址3。其中地址1规定了运行起始地址,后面的若干地址均为断点地址。若省略地址,则运行从IP所指的地址开始。例如:(5)、追踪命令T,有两种格式:1)逐条指令追踪:-T该命令从指定地址起执行一条指令后停下来,显示寄存器内容和状态值。例如:2)多条指令追踪:(有问题)-T=地址值该命令从指定地址起执行n条命令后停下来,n由值确定。(6)、显示内存单元内容的命令D,格式为:-D地址(从给出的地址开始连续显示128个字节的单元内容)或-D范围,例如:(7)、修改内存单元内容的命令E,它有两种格式:1)用给定的内容代替指定范围的单元内容:-E地址 内容表 例如:-E 2000:0100 F3 “XYZ” 8D其中F3,“X”“Y”“Z”和8D各占一个字节,用这五个字节代替原内存单元2000:0100到0104的内容,“X”“Y”“Z”将分别按它们的ASCII码值代入。2)逐个单元相继地修改:-E地址例如:-E 100:0AF0:0100 F3.E7此命令是将原100号单元的内容F3改为E7。E7是键入值。(8)、命名命令N,格式为:-N 文件名此命令将文件名格式化在CS:5CH的文件控制块内,以便使用L或W命令把文件装入内存进行调试或者存盘。例如:(9)、装入命令L,它有两种功能:1)把磁盘上指定扇区的内容装入到内存指定地址起始的单元中,格式为:-L 地址 驱动器 扇区号 扇区个数2)装入指定文件,格式为:-L 地址此命令装入已在CS:5CH中格式化的文件控制块所指定的文件。在用L命令前,BX和CX中应包含所读文件的字节数。3)装入已在文件控制块中的文件,格式为:-L此命令与-L 地址相同功能。(10)、写命令W,有两种格式:1)把数据写入磁盘的指定扇区:-W 地址 驱动器 扇区号 扇区数2)把数据写入指定文件中:-W 地址此命令把指定内存区域中的数据写入由CS:5CH处的FCB所规定的文件中。在用W命令前,BX和CX中应包含要写入文件的字节数。(11)、十六进制运算命令H,格式为:H数据1数据2其功能是将两个十六进制数进行相加、相减运算,结果显示在屏幕上。例如:(12)、退出DEBUG命令Q,该命令格式为:-Q它退出DEBUG程序,返回DOS,但该命令本身并不把在内存中的文件存盘,如需存盘,应在执行Q命令前先执行写命令W。三实验要求:用汇编语言编写一个计算“3+5”的加法程序,并将结果输出到屏幕上。四实验报告:写出在DEBUG状态下编写、运行程序的过程以及调试所中遇到的问题是如何解决的,并对调试过程中的问题进行分析,对执行结果进行分析。实验三 系统功能调用一、实验学时:2二、实验类型:验证性三、开出要求:必修四、实验目的1、掌握接受键盘数据的方法,并了解将键盘数据显示时,须转为ASCII码的原理。2、掌握DOS功能调用的编程方法。五、实验内容试编写一个汇编语言程序,要求对键盘输入的小写字母用大写字母显示出来。六、实验条件 DOS运行环境七、实验步骤编写汇编语言程序,利用DOS系统功能调用INT21H的1号功能从键盘输入一个字符并利用2号功能在显示器上显示这个字符。八、实验报告1、程序的功能、结构,程序流程图。2、上机实验步骤、实验所遇到的问题及解决的方法,实验体会。九、实验成绩评定办法根据学生的实验预习、实验纪律、实验动手能力、实验报告结果及编程技巧,进行综合评定,给出A(90)、B(80)、C(70)、D(60)、E(不及格)。实验四 内存操作数及寻址方法一实验目的:1、熟练掌握DEBUG的常用命令,学会用DEBUG调试程序。2、掌握数据在内存中的存放方式和内存操作数的几种寻址方式。3、掌握简单指令的执行过程。二实验内容:1、设堆栈指针SP=2000H,AX=3000H,BX=5000H;请编一程序段将AX和BX的内容进行交换。请用堆栈作为两寄存器交换内容的中间存储单元,用DEBUG调试程序进行汇编与调试。2、设DS=当前段地址,BX=0300H,SI=0002H;请用DEBUG的命令将存储器偏移地址300H304H连续单元顺序装入0AH,0BH,0CH,0DH,0EH。在DEBUG状态下送入下面程序,并用单步执行的方法,分析每条指令源地址的形成过程,当数据传送完毕时,AX中的内容是什么。程序清单如下:MOV AX,BXMOV AX,0304HMOV AX,0304HMOV AX,BXMOV AX,0001BXMOV AX,BXSIMOV AX,0001BXSIHLT三实验要求:1、实验前要做好充分准备,包括汇编程序清单、调试步骤、调试方法,以及对程序结果的分析等。2、本实验只要求在DEBUG调试程序状态下进行,包括汇编程序、调试程序和执行程序。四实验报告:1、程序说明。说明程序的功能、结构。2、调试说明。包括上机调试的情况、上机调试步骤、调试所遇到的问题是如何解决的,并对调试过程中的问题进行分析,对执行结果进行分析。3、写出源程序清单和执行结果。实验五 分支程序设计一、实验学时:2二、实验类型:验证性三、开出要求:必修四、实验目的1、掌握分支程序的结构。2、掌握分支程序的设计方法。五、实验内容1.试编写一个汇编语言程序,要求对键盘输入的小写字母用大写字母显示出来,输入的其余字符用“?”号显示。2. 试编写一个汇编语言程序,要求从键盘输入任意2个1位数,计算其乘积, 然后除以10,将其商输出,若输入其它字符,则输出“please input number between 0 and 9!”号。(选做)。六、实验条件 DOS运行环境七、实验报告1、程序的功能,程序流程图。2、上机实验步骤、实验所遇到的问题及解决的方法,实验体会。八、思考问题1、大小写字母之间的转换和数字与数字字符之间转换的不同点2、如何同时将大写转小写和将小写转大写。九、实验成绩评定办法根据学生的实验预习、实验纪律、实验动手能力、实验报告结果及编程技巧,进行综合评定,给出A(90)、B(80)、C(70)、D(60)、E(不及格)。实验六 汇编语言程序的调试与运行一实验目的1学习数据传送和算术运算指令的用法2熟悉在PC机上编辑、汇编、连接、调试和运行汇编语言程序的过程。二实验内容将两个多位十进制数相加,要求被加数和加数均以ASCII码形式各自顺序存放在DATA1和DATA2为首的5个内存单元中,结果送回DATA1处。三程序框图图3.1 两个多位十进制相加程序流程图四调试步骤1编辑源程序,建立一个以后缀为 ASM的文件.2汇编源程序,检查程序有否错误,有错时回到编辑状态,修改程序中错误行。无错时继续第3步。3连接目标程序,产生可执行程序。4DEBUG调试可执行程序,记录数据段的内容。 5在操作系统状态下,运行程序,并记录屏幕显示内容。被 加 数加 数屏 幕 显 示 内 容127320681510732436916508717631实验七 循环程序设计一、实验学时:2二、实验类型:验证性三、开出要求:必修四、实验目的1、掌握循环程序的结构。2、掌握循环程序的设计方法五、实验内容1. 试编写一个汇编语言程序,要求依次输出ASCII码0-127对应的128个字符。2. 假设以GRADE为首地址的10个字的数组中存有一组学生成绩:89,79,20,60,98,81,78,83,93,71,请编一完整程序找出GRADE中第一位学生的成绩名次并输出名次。(提示:一个学生的名次等于成绩高于等于该学生的人数加1)。六、实验条件 DOS运行环境七、实验报告1、程序的功能、结构,程序流程图。2、上机实验步骤、实验所遇到的问题及解决的方法,实验体会。八、实验成绩评定办法根据学生的实验预习、实验纪律、实验动手能力、实验报告结果及编程技巧,进行综合评定,给出A(90)、B(80)、C(70)、D(60)、E(不及格)。实验八 顺序程序设计一实验目的:1、熟练掌握编写汇编语言原程序的基本方法和基本框架。2、掌握查表法和查表指令XLAT。3、熟练使用DEBUG调试程序。二实验内容:用查表的方法将一位十六进制数转换成与它相应的ASCII码,并将结果存放到ASCI单元中。三编程提示:既然指定用查表的方法,那么首先要建立一个表TABLE。我们在表中按照十六进制数从小到大的顺序放入他们对应的ASCII码值。DATA SEGMENTTABLE DB 30H,31H,32H,33H,34H,35H,36H,37H DB 38H,39H,41H,42H,43H,44H,45H,46HHEX DB X ;X为待转换的十六进制数ASCI DB ?;存放转换后的ASCII码DATA ENDS四实验要求:实验前要做好充分准备,包括汇编程序清单、调试步骤、调试方法,以及对程序结果的分析等五实验报告: 1、程序说明。说明程序的功能、结构。2、调试说明。包括上机调试的情况、上机调试步骤、调试所遇到的问题是如何解决的,并对调试过程中的问题进行分析,对执行结果进行分析。3、写出源程序清单和执行结果。MOV AL,HEXADD AL,30HCMP AL,39HJBE LAB2ADD AL,7LAB:MOV ASCII,ALMOV AH,4CHINT 21H。实验九 子程序设计一实验目的1 掌握循环程序设计的方法(两重性循环结构)2 掌握正确分配与使用寄存器。二实验内容与要求3 以GRADE为首地址的10个字的数组中保存有学生成绩。建立一个10个字的RNAK 数组,并根据GRADE中的学生成绩将学生名次填入RANK数组中(提示:一个学生的名次等于成绩高于等于该学生的人数加1)。4 寄存器分配情况说明如下:5 AX 存放当前被测学生的成绩6 BX 存放当前被测学生的相对地址指针7 CX 内循环计数值8 DX 存放当前被测学生的名次计数值9 SI 内循环测试时的地址指针10 DI 外循环计数值三程序框图图71 程序框图实验十 循环程序设计一实验目的:1、掌握接受键盘数据的方法,并了解将键盘数据显示时,须转为ASCII码的原理。2、掌握DOS功能调用的编程方法。二实验内容:试编写一个汇编语言程序,要求对键盘输入的小写字母用大写字母显示出来。三编程提示:利用DOS功能调用INT21H的1号功能从键盘输入字符和2号功能在显示器上显示一个字符。四实验要求:实验前要做好充分准备,包括汇编程序清单、调试步骤、调试方法,以及对程序结果的分析等。五实验报告:1、程序说明。说明程序的功能、结构。2、调试说明。包括上机调试的情况、上机调试步骤、调试所遇到的问题是如何解决的,并对调试过程中的问题进行分析,对执行结果进行分析。3、写出源程序清单和执行结果。实验十一 DOS中断及BIOS中断程序设计一实验目的1掌握程序设计方法,合理划分层次2掌握子程序的调用与返回的方法3了解子程序的嵌套与递归二实验内容与要求编制一程序,要求键入一个班的学生成绩,并存放于50字的ERADE数组中,然后根据ERADE中的成绩,把学生名次填入50字的RANK数组中,再按学号顺序把名次从终端上显示出来。提示:程序MAIN 功能:根据输入的学生成绩,计算并显示出学生名次。程序INPUT 功能:接收一个班级学生的成绩,各成绩之间用空格隔开。程序RANKP 功能:计算一个班级学生的名次。(可参照循环程序(一)中的程序段)程序OUTPUT 功能:输出(显示)一个班级的学生名次程序DECIBIN 功能:十进制转换二进制,存入BX程序BINDEC 功能:十进制转换二进制,并在屏幕上显示。程序DEC_DIV功能:BX的内容除以CX的内容,并在屏幕上显示一位商。三程序框图: 图81 程序流程图四步骤1自编主程序与子程序。2输入本班级某门基础课成绩。 实验十二 综合程序设计一、实验学时:4二、实验类型:综合性三、开出要求:必修四、实验目的1、掌握分支、循环、子程序调用、DOS功能调用等基本的程序结构。2、掌握综合程序的编制及调试方法。五、实验内容设有十个学生成绩分别是76,69,84,90,73,88,99,63,100和80分。试编制一个子程序,统计低于60分,6069分,7079分,8089分,9099分和100分的人数,并输出显示统计结果。六、实验条件 DOS运行环境七、实验步骤1、编写的程序中,成绩分等部分要求采用分支结构,统计所有成绩则用循环结构完成,显示统计结果采用DOS功能调用。2、统计学生成绩和显示统计结果两部分程序要求用子程序结构来完成。八、实验报告1、说明程序的功能、结构,画出程序框图。2、说明上机调试的情况、上机调试步骤、调试所遇到的问题是如何解决的,并对调试过程中的问题进行分析,对执行结果进行分析。3、写出程序执行结果。4、体会和意见。九、实验成绩评定办法根据学生的实验预习、实验纪律、实验动手能力、实验报告结果及编程技巧,进行综合评定,给出A(90)、B(80)、C(70)、D(60)、E(不及格)。实验十三 综合程序设计一实验目的:1、掌握分支、循环、子程序调用、DOS功能调用等基本的程序结构。2、掌握综合程序的编制及调试方法。二实验内容:设有十个学生成绩分别是76,69,84,90,73,88,99,63,100和80分。试编制一个子程序,统计低于60分,6069分,7079分,8089分,9099分和100分的人数,并输出显示统计结果。三编程提示:1、成绩分等部分采用分支结构,统计所有成绩则用循环结构完成,显示统计结果采用DOS功能调用。2、统计学生成绩和显示统计结果两部分内容用子程序结构来完成。四实验报告:1、程序说明。说明程序的功能、结构。2、调试说明。包括上机调试的情况、上机调试步骤、调试所遇到的问题是如何解决的,并对调试过程中的问题进行分析,对执行结果进行分析。3、画出程序框图。4、写出源程序清单和执行结果。5、体会和意见。附录-DEBUG使用手册DEBUG是专门为汇编语言设计的一种调试工具,它通过步进,设置断点等方式为汇编语言程序员提供了非常有效的调试手段。(一)DEBUG程序的启动在DOS提示符下,可键入命令:C>DEBUGd:path文件名 参数1参数2其中文件名是被调试文件的名称,它须是执行文件(EXE),两个参数是运行被调试文件时所需要的命令参数,在DEBUG程序调入后,出现提示符“-”,此时,可键入所需的DEBUG命令。在启动DEBUG时,如果输入了文件名,则DEBUG程序把指定文件装入内存。用户可以通过DEBUG的命令对指定文件进行修改、显示和执行。如果没有文件名,则是以当前内存的内容工作,或者用命名命令和装入命令把需要的文件装入内存,然后再用DEBUG的命令进行修改、显示和执行。(二)DEBUG的主要命令(1) 汇编命令A,格式为:-A地址该命令从指定地址开始允许输入汇编语句,把它们汇编成机器代码相继存放在从指定地址开始的存储器中。(2) 反汇编命令U,有两种格式:1)-U地址该命令从指定地址开始,反汇编32个字节,若地址省略,则从上一个U命令的最后一条指令的下一个单元开始显示32个字节。2)-U范围该命令对指定范围的内存单元进行反汇编,例如:-U 04BA:0100 0108或 U 04BA:0100 L9此二命令是等效的。(3) 运行命令G,格式为:-G =地址1地址2地址3。其中地址1规定了运行起始地址,后面的若干地址均为断点地址。(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”将分别按它们的ASCII码值代入。2)逐个单元相继地修改:-E地址例如:-E 100:18E4:0100 89.78此命令是将原100号单元的内容89改为78。78是程序员键入的。(7) 检查和修改寄存器内容的命令R,它有三种方式:1)显示CPU内部所有寄存器内容和标志位状态;格式为:-RR命令显示中标志位状态的含义如下表所示:标 志 名置 位复 位溢出Overflow(是/否)OVNV方向Direction(减量/增量)DNUP中断Interrupt(允许/屏蔽)EIDI符号Sign(负/正)NGPL零Zero(是/否)ZRNZ辅助进位Auxiliary Carry(是/否)ACNA奇偶Parity(偶/奇)PEPO进位Carry(是/否)CYNC2)显示和修改某个指定寄存器内容,格式为:-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键,否则在“-”号之后键入修改值,键入顺序任意。如 OV DN EI NG ZR AC PE CY-PONZDINV(8) 命名命令N,格式为:-N 文件名此命令将文件名格式化在CS:5CH的文件控制块内,以便使用L或W命令把文件装入内存进行调试或者存盘。(9) 装入命令L,它有两种功能:1)把磁盘上指定扇区的内容装入到内存指定地址起始的单元中,格式为:-L 地址 驱动器 扇区号 扇区数2)装入指定文件,格式为:-L 地址此命令装入已在CS:5CH中格式化的文件控制块所指定的文件。在用L命令前,BX和CX中应包含所读文件的字节数。(10)写命令W,有两种格式:1)把数据写入磁盘的指定扇区:-W 地址 驱动器 扇区号 扇区数2)把数据写入指定文件中:-W 地址此命令把指定内存区域中的数据写入由CS:5CH处的FCB所规定的文件中。在用W命令前,BX和CX中应包含要写入文件的字节数。(11)退出DEBUG命令Q,该命令格式为Q它退出DEBUG程序,返回DOS,但该命令本身并不把在内存中的文件存盘,如需存盘,应在执行Q命令前先执行写命令W。附录 汇编软件MASM和调试 工具软件DEBUG使用汇编语言是唯一能够充分利用计算机硬件特性并直接控制硬件设备的语言。对于诸如实时控制、软件加密解密、病毒分析、软件调试等领域,汇编语言是最有效的程序设计语言。在学习汇编语言的过程中,只有通过大量的上机实验才能更好地掌握汇编语言程序设计的技能。1.1 实 验 目 的(1)掌握汇编软件MASM的使用,熟悉汇编语言的上机过程。(2)掌握调试工具软件DEBUG的应用,掌握汇编语言程序的调试技能。1.2 相关基础知识1.2.1 汇编语言程序上机步骤1汇编语言程序设计上机步骤汇编语言源程序的上机步骤包括编辑、汇编、链接、调试等几个过程,如图1-1所示。图1.1 汇编语言源程序上机步骤源程序文件的编辑就是编写一个汇编语言源程序,它可以使用任何一个文件编辑器实现。例如,Windows 2000操作系统附件中的记事本。编辑形成的文件最后一定要以.ASM后缀保存。在编辑源程序的时候一定要将输入法切换到英文环境下,否则会出错。2汇编汇编是把用汇编语言编写的源代码程序翻译成计算机能够识别的二进制机器语言程序。目前常用的汇编程序是MASM,称为宏汇编程序。宏汇编程序当前主要有两个版本:MASM5.0和MASM6.0。其中,MASM5.0的可执行文件是MASM.EXE,MASM5.0用于DOS环境下。初学者首先学习使用MASM5.0。而MASM6.0的可执行文件是ML.EXE。汇编过程是将源程序翻译为等价的二进制机器语言的过程。所产生的文件称为目标程序,其后缀为.OBJ。在这个阶段中,将对源程序的语法进行检验,如果发现错误将给予提示。错误提示分为严重错误和警告错误两种。严重错误指示某些指令存在语法错误,不能形成对应的二进制机器指令。而警告错误指示某些指令含义不够明确,需要提醒程序员注意。程序员可以根据提示对源程序进行修改,直到得到正确的结果为止。在汇编过程中还会产生列表文件和交叉引用文件。列表文件的后缀为.LST,主要用于给出源程序和机器代码程序的清单,以供检查程序使用。交叉引用文件的后缀为.CRF,它是一个为源程序所引用的各种符号进行前后对照的文件,主要用于给出不同程序段中互相引用的全部符号列表。这两个文件是可有可无的,如果不需要生成这两个文件,可以在汇编过程中加以控制。3链接在汇编过程中形成了目标文件(.OBJ),但是在该文件中,只是将源程序的操作码部分变成了机器码,而地址操作数还是可浮动的相对地址,不是实际地址,浮动地址需要再定位。只有经过链接过程才能形成最后的可执行文件。链接程序的功能就是把一个或多个目标文件合并成一个可执行文件,其后缀为.EXE。其实在链接过程中一共形成两个文件:第一个是可执行文件(.EXE)。默认的可执行文件名字与源程序文件相同,也可以根据用户要求进行修改可执行文件的名字;链接过程中形成的第二个文件是内存映像文件(.MAP),它给出了每个段的地址分配情况和长度。如果不需要该文件则可以在链接命令执行时直接输入Enter键。在链接过程中还与一个库文件(.LIB文件)相关。一般的汇编程序不需要库文件。但是当汇编语言与高级语言(如C语言)接口时需要用到库文件。此时输入相应的库文件名字即可。4运行通过汇编和链接,最终形成的可执行文件已经排出了程序中的语法错误,可以直接执行。但是可能还存在一些算法错误,这样的错误则要通过调试过程来修正。常用的调试工具软件有DEBUG等。5汇编语言上机举例例 编写一个名字为ABCD.ASM的源程序,该程序的功能是在计算机屏幕上显示一个字符串“HELLO!”。1)编辑源程序利用Windows 2000操作系统附件中的“记事本”编辑如下源程序。DATASEGMENTS1DB'HELLO!','$'DATAENDSSTACKSEGMENTPARA STACKDB 64 DUP(?)STACKENDSCODESEGMENTMAIN PROC FARASSUMECS:CODE,DS:DATA,SS:STACKSTART:PUSH DS MOV AX,0 PUSH AX MOV AX,DATA MOV DS,AX MO

    注意事项

    本文([教学研究]计算机组成与结构实验指导书.doc)为本站会员(sccc)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开