发布时间 : 星期三 文章汇编语言程序设计更新完毕开始阅读721d32d98662caaedd3383c4bb4cf7ec4afeb6a4
武 汉 轻 工 大 学
数学与计算机学院
《汇编语言程序设计》实验报告1-4
姓名:
班级:软件工程1404班 学号: 指导教师:
实验一:汇编语言编程环境入门(2学时)
一、 实验目的与要求
通过书上82页示例3.1,熟悉Windows环境下,X86汇编语言的编译和调试过程。
二、 实验环境
1. Windows XP操作系统。
2. MASM集成环境,或其它编程工具。 三、实验内容
1. 学习如何查找程序的编译错误并改正 2. 运行程序,观察结果 3. 学习如何调试程序。 四、实验步骤
1输入书上82页示例3.1(有机器同学最好预先输入); 2编译程序,定位和改正编译错误。
3运行程序,观察结果是否和预期复合。 4调试程序,特别需要熟悉以下调试命令: a) -t:单步命令
b) -g:运行至某一指令 c) -q:结束调试 d) -p:运行一条语句 e) -d:查看内存单元 f) -r:查看寄存器单元 g) -u:反汇编 具体代码如下: DATA SEGMENT
X DW 0E98AH,80AFH,0FD32H,0F68FH Y DW 9FD0H,70BAH,3D84H,89FEH Z DW 5 DUP(?) DATA ENDS
STACK SEGMENT PARA STACK'STACK' DB 100H DUP(?)
STACK ENDS
CODE SEGMENT 'CODE' ASSUME CS:CODE,DS:DATA,SS:STACK
MAIN: MOV AX,DATA MOV DS,AX MOV CX,4 MOV SI,0 CLC
GOON: MOV AX,X[SI] ADC AX,Y[SI] MOV Z[SI],AX INC SI
2
INC SI LOOP GOON RCL AX,1 AND AX,1 MOV Z[SI],AX MOV AX,4C00H INT 21H CODE ENDS END MAIN 五、实验结果
调试程序截图如下,包括反汇编-u,跳转至某一指令-g,查询ds寄存器的内存单元-d
六、实验总结
通过这次实验,我进一步了解了汇编语言,对汇编这门课程产生了浓厚的兴趣。在实验中,增强了动手的能力,熟悉了汇编环境。
3
实验二:输入输出程序设计(2学时)
一、 实验目的与要求
通过上机实验,掌握汇编语言下通过DOS系统调用实现键盘输入和屏幕输出程序的设计,为以后其它程序打下基础。要求输入一个任意字符串,可以在屏幕上显示出。 二、 实验环境
1) Windows XP操作系统。
2) MASM集成环境,或其它编程工具。 三、实验内容
1. 了解DOS系统调用初步用法和分类,熟悉对应系统调用的具体参数设置; 2. 通过10号功能调用,把键盘上输入的字符串保存在内存单元中
3. 调整输入的字符串格式,通过9号功能调用,在屏幕上输出对应字符串 四、实验步骤
1.按照格式定义对应输入数据缓存,存放输入的字符串。
2.设置参数,调用10号系统调用后,仔细观察输入数据缓存中内存单元各字 节的变化。
3.调整格式,在系统实际输入字符串后面附加相应的字符(0DH, 0AH,’$’)。 4.设置参数,调用9号系统调用后,观察输出。 具体代码如下: DATA SEGMENT BUF DB 50 DB ? DB 50 DUP(0) ;DB’S’
DATA ENDS
CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX MOV DX,OFFSET BUF MOV AH,10 INT 21H ;MOV DX,OFFSET BUF+2 ; MOV AH 9 ; INT 21H MOV AH,4CH INT 21H CODE ENDS END START
五、实验结果
4