汇编语言程序设计 联系客服

发布时间 : 星期三 文章汇编语言程序设计更新完毕开始阅读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