汇编语言实验报告.docx
《汇编语言实验报告.docx》由会员分享,可在线阅读,更多相关《汇编语言实验报告.docx(13页珍藏版)》请在冰豆网上搜索。
![汇编语言实验报告.docx](https://file1.bdocx.com/fileroot1/2022-11/30/256de39f-b06a-4d8b-9163-39911b2d9cd8/256de39f-b06a-4d8b-9163-39911b2d9cd81.gif)
汇编语言实验报告
哈尔滨师范大学计算机科学与信息工程学院
实验报告手册
课程名称:
汇编语言程序设计指导教师:
伊波
专业:
计算机科学与技术2016年—2017年第二学期
姓名:
胡菲学号:
2015020021
年级:
2015级 班级:
四班
实验报告填写及打印要求:
1、A4纸正反面打印;
2、实验报告封面、封面上填写内容必须打印;
3、实验报告内容,学生可手写也可打印,可根据内容自行加页;
4、指导教师必须手写签名;
5、左侧装订。
实验报告内容
实验题目:
用DEBUG调试程序
实验目的:
1、掌握DEBUG命令的使用;2、了解8086指令的基本格式;3、掌握8086指令的寻址方式;4、掌握8086指令系统及使用
实验要求:
利用DEBUG调试程序,可以将一个可执行程序(如。
EXE、。
COM等)装入内存中,并接管对程序运行的控制权,通过采取如反汇编、断点运行、单步执行、寄存器内容修改等方法,对可执行程序进行跟踪、调试,以找出其中的设计错误,然后再对源程序进行相应修改,重新生成正确的可执行程序。
实验器材:
计算机
实验电路图/程序流程图:
1. 准备被调试程序
2.进入DEBUG环境
3.输入各种调试命令
实验步骤/程序源代码:
DATASEGMENT
STR DB ‘HELLO,DENMARK$’
DATAENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA
START:
MOV AX,DATA
MOV DS,AX
MOV DX,OFFSETSTR
MOV AH,09H
INT 21H
MOV AH,4CH
INT 21H
CODEENDS
ENDSTART
实验结果分析:
实验日期:
2017.3.29
成绩评定:
□优秀(100-90分)
□良好(89-80分)
□中等(79-70分)
□及格(69-60分)
□不及格(60-0分)
教师签名:
年 月 日
实验报告内容
实验题目:
单重循环程序设计
实验目的:
1.掌握单重循环设计的方法。
2.掌握正确分配与使用寄存器。
3.掌握控制循环的 方法。
实验要求:
1、利用循环程序计算1+2+3+。
。
。
+100的和,结果放入SUM单元2、设内存中以BUFFER为首地址的缓冲区中有若干个以非压缩BCD码形式存放的十进制数,并以“$”结束。
它们的值可能是0~9中的任意一个,编程序将这些十进制数顺序显示在屏幕上。
实验器材:
计算机
实验电路图/程序流程图:
实验步骤/程序源代码:
DATA SEGMENT
BUFFER DB1,6,2,5,4,7,3,8,9,6,’$’
DATA ENDS
CODE SEGMENT
ASSUME CS:
CODE,DS:
DATA
START:
MOV AX,DATA
MOV DS,AX
LEA SI,BUFFER
LOP:
MOV AL,[SI]
CMP AL,’$’
JE NEXT
OR AL,30H
MOV[SI],AL
INC SI
JMP LOP
NEXT:
MOVAH,9
LEA DX,BUFFER
INT21H
MOV AH,4CH
INT 21H
CODE ENDS
END START
实验结果分析:
实验日期:
2017.4.5
成绩评定:
□优秀(100-90分)
□良好(89-80分)
□中等(79-70分)
□及格(69-60分)
□不及格(60-0分)
教师签名:
年 月 日
实验报告内容
实验题目:
多重循环程序设计
实验目的:
1、加深对循环结构的理解2、掌握多重循环设计的方法3、掌握控制循环的方法
实验要求:
建立学生名次表RANK
实验器材:
计算机
实验电路图/程序流程图:
实验步骤/程序源代码:
DATA SEGMENT
GRADE DW 88,76,65,
RANK DW 30DUP(?
)
DATA ENDS
START:
MOV AX,DATA
MOV DS,AX
MOV DI,30
MOV BX,0
LP1:
MOV AX,GRADE[BX]
MOV DX,0
MOV CX,30
LEA SI,GRADE
LP2:
CMP AX,[SI]
JG NEXT
INC DX
NEXT:
ADD SI,2
LOOP LP2
NOV RANK[BX]
ADD BX,2
DEC DI
JNZ LP1
MOV AH,4CH
INT 21H
PROGNAM ENDS
END START
实验结果分析:
实验日期:
2017.4.12
成绩评定:
□优秀(100-90分)
□良好(89-80分)
□中等(79-70分)
□及格(69-60分)
□不及格(60-0分)
教师签名:
年 月 日
实验报告内容
实验题目:
分支程序设计
实验目的:
1、熟练掌握逻辑运算和转移指令2、掌握分支程序设计的原理和方法,重点掌握各种分支程序中形成和判断条件而产生的程序段的设计方法和技巧
实验要求:
编制程序实现如下操作:
设有10个学生成绩存放在TAB为首地址的内存中,编程序分别统计低于60分。
60~69分、70~79分、80~89分、90~99分及100分的人数,并存放于s5,s6,s7,s8,s9,s10单元中,同时显示在屏幕上。
实验器材:
计算机
实验电路图/程序流程图:
实验步骤/程序源代码:
DATASSEGMENT
tabdb66,54,76,71,88,96,99,75,68,70
s5db0
s6db0
s7db0
s8db0
s9db0
s10db0
bufdb'outputdata:
$'
DATASENDS
CODESSEGMENT
ASSUMECS:
CODES,DS:
DATAS,
START:
MOVAX,DATAS
MOVDS,AX
leasi,tab
movcx,10
lopa:
moval,[si]
cmpal,60
jla5
cmpal,70
jla6
cmpal,80
jla7
cmpal,90
jla8
cmpal,100
jza10
incs9
jmpexit
a10:
incs10
jmpexit
a8:
incs8
jmpexit
a7:
incs7
jmpexit
a6:
incs6
jmpexit
a5:
incs5
jmpexit
exit:
incsi
deccx
jnzlopa
leadx,buf
movah,9
int21h
leasi,s5
movcx,6
lopb:
moval,[si]
movah,0
movdl,10
divdl;(al)=十位(ah)=个位
movbh,ah
oral,30h
movdl,al
movah,2
int21h
orbh,30h
movdl,bh
movah,2
int21h
movdl,''
movah,2
int21h
incsi
deccx
jnzlopb
MOVAH,4CH
INT21H
CODESENDS
ENDSTART
实验结果分析:
实验日期:
2017.4.19
成绩评定:
□优秀(100-90分)
□良好(89-80分)
□中等(79-70分)
□及格(69-60分)
□不及格(60-0分)
教师签名:
年 月 日
实验报告内容
实验题目:
系统调用程序设计
实验目的:
学习和掌握DOS系统功能调用的程序设计方法
实验要求:
编程将内存中的一串字符输出,再从键盘上输入一串字符,再输出。
实验器材:
计算机
实验电路图/程序流程图:
实验步骤/程序源代码:
DATA SEGMENT
BUF1 DB ‘abcdefghijklm’,‘$’
BUF2 DB 20,?
,20 DUP(?
)
DATA ENDS
CODE SEGMENT
ASSUME CS:
CODE,DS:
DATA
START:
MOV AX,DATA
MOV DS,AX
MOV AH,09H
LEA DX,BUF1
INT 21H
LEA DX,BUF2
MOV AH,0AH
INT 21H
MOV DL,0AH
MOV AH,02H
INT 21H
MOV AL,BUF2+1
MOV AH,0
MOV SI,AX
MOV DX,OFFSETBUF2+2
MOV BX,DX
MOV BYTEPTR[BX+SI],’$’
MOV AH,09H
INT 21H
MOV AH,4CH
INT 21H
CODE ENDS
END START
实验结果分析:
实验日期:
2017.4.26
成绩评定:
□优秀(100-90分)
□良好(89-80分)
□中等(79-70分)
□及格(69-60分)
□不及格(60-0分)
教师签名:
年 月 日