合肥工业大学语言实验解剖.doc

合肥工业大学 计算机与信息学院 实验报告 课 程:汇编语言程序设计 专业班级:计算机科学与技术13-1班 学 号:梁壮壮 姓 名: 2013211622 实验一 Debug程序的使用 实验目的 1、熟悉DEBUG程序中的命令,学会在DEBUG下调试运行汇编语言源程序。 2、掌握8086/8088的寻址方式及多字节数据的处理方法。 实验内容 1、利用DEBUG程序中的“E”命令,将两个多字节数“003F1AE7H”和“006BE5C4H”分别送入起始地址为DS:0200H和DS:0204H两个单元中。 2、分别用直接寻址方式和寄存器间接寻址方式编写程序段,实现将DS:0200H单元和DS:0204H单元中的数据相加,并将运算结果存放在DS:0208H单元中。 要求: 本次实验的内容均在DEBUG下完成,实现数据的装入、修改、显示;汇编语言程序段的编辑、汇编和反汇编;程序的运行和结果检查。 实验过程和程序 1、启动DOS操作系统 2、运行DEBUG.COM程序(若当前盘为C) C:>DEBUG↙ – ;(“–”为DEBUG提示符,仅当屏幕出现该提示符后,才可输入DEBUG命令) 4、用“A”命令编辑和汇编源程序 –A ↙ 186E:0100 MOV AX,[0200]↙ 186E:0103 MOV BX,[0202]↙ 186E:0107 ADD AX,[0204]↙ 186E:010B ADC BX,[0206]↙ 186E:010F MOV [0208],AX↙ 186E:0112 MOV [020A],BX↙ 186E:0116 ↙ 5、用“U”命令反汇编验证源程序 –U CS:0100↙ 186E:0100 A10002 MOV AX,[0200] 186E:0103 8B1E0202 MOV BX,[0202] 186E:0107 ADD AX,[0204] 186E:010B 131E0602 ADC BX,[0206] 186E:010F A30802 MOV [0208],AX 186E:0112 891E0A02 MOV [020A],BX 186E:0116 – 6、程序未执行前,用“R”命令观察,相关寄存器的内容。 –R↙ 如:(AX)= ,(BX)= ,(SI)= , (:0200H,DS:0204H:0208H单元的内容 –D 200 20B ↙ 8、用“G”命令运行源程序 –G =100 0116 ↙ 9、再用“D”命令观察DS:0200H~DS:020BH字节单元中的内容 –D 200 20B↙ 10、用“T”单步操作命令对源程序单步执行,观察AX、BX、CS、IP寄存器内容的变化,并与预计的结果相比较。 实验结果(包括必要的截图) 实验体会 这次的实验让我学会了DEBUG的运用,了解到了DEBUG对于程序的调试功能。 实验二 汇编语言程序设计(顺序、循环) 实验目的 1、掌握顺序和循环程序结构和设计方法; 2、熟悉在PC机上建立、汇编、连接、调试和运行8086/8088汇编语言程序的过程。 实验内容 1、X、Y、Z、V均为字变量,在X、Y、Z、V字单元中存放是16位带符号数。试编写汇编语言程序完成以下功能: ①计算表达式值(V–(X*Y+Z-720))/X; ②将上述表达式运算结果整数放在SUM1单元,余数放在SUM2单元。 2、求一个班50名学生成绩的平均值(附加题:最大值和最小值,并将结果显示出来) 3、从键盘读入一个字符串,以Enter结束,字符串不超过50个字符,并打印该字符串(附加题:查找中间是否有‘asm’子串。如果有,输出‘Yes’;否则,输出‘No’)。 实验过程和程序 程序: 1. Data segment X dw 1 Y dw 720 Z dw -1 V dw 1 Sum1 dw ? Sum2 dw ? Data ends Code segment Assume cs:code ds:data Start: mov ax,data Mov ds,ax Mov ax,x ;x*y Mov bx,y Imul bx Mov cx,ax ;x*y+z Mov bx,dx Mov

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档