文档介绍:学号:
班级:
姓名:
指导老师:
2014-11-9
目录
实验一汇编语言运行环境及方法、简单程序设计············3
实验二、用DEBUG编程·································6
实验三、存储器块清零和内存块移动························9
实验四、将键盘输入的小写字母用大写字母显示出来··········13
实验五、循环程序实验和分支程序实验······················15
实验六、统计不同成绩段学生的人数························20
附录:汇编学习总结······································24
实验一、汇编语言运行环境及方法、简单程序设计
一、实验目的:
1、熟悉汇编语言运行环境和方法。
2、了解如何使用语言编制程序。
3、熟悉DEBUG有关命令的使用方法。
4、利用DEBUG掌握有关指令的功能。
5、利用DEBUG运行简单的程序段。
二、实验内容:
1、学会输入、编辑汇编语言程序。
2、学会对汇编语言程序进行汇编、连接和运行。
3、进入和退出DEBUG程序。
4、学会DEBUG中的D指令、E指令、R指令、T指令、A指令、G指令等的使用。对于U指令、N指令、W指令等,也应试一下。
三、实验源码:
datarea segment
string1 db 'Move the cursor backward.'
string2 db 'Move the cursor backward.'
mess1 db 'Match.',13,10,'$'
mess2 db 'No match!',13,10,'$'
datarea ends;
prognam segment
main proc far
assume cs:prognam,ds:datarea,es:datarea
start:
push ds
sub ax,ax
push ax
mov ax,datarea
mov ds,ax
mov es,ax
lea si,string1
lea di,string2
cld
mov cx,25
repz cmpsb
jz match
lea dx,mess2
jmp short disp
match:
lea dx,mess1
disp:
mov ah,09
int 21h
ret
main endp
prognam ends
end start:
四、实验结果:
1、用汇编程序MASM对源文件汇编产生目标文件OBJ
2、用连接程序LINK产生可执行文件EXE
3、执行程序
4、DEBUG指令的调试
-U指令:反汇编
-t指令:单步调试
-g指令:不加地址直接运行程序,加上地址是断点指令
-d指令:显示寄存器的内容,查看数据段
-e指令:修改数据区的内容
-q指令:退出DEBUG
五、实验心得:
1、个人Windows7为64 bit的,MASM的汇编工具是基于Windows 32 bit的平台,所以,在个人电脑编写汇编时用的是DOSBox进行的环境模拟。
2、初次接触汇编,对于DEBUG指令不能够掌握,有些指令甚至是不知道是什么。相信下次一定能够将此问题解决。
实验二、用DEBUG编程:使用堆栈段将
AX和BX的内容进行交换等
一、实验目的:
1、熟练掌握DEBUG的常用命令,学会用DEBUG调试程序。
2、掌握数据在内存中的存放方式和内存操作数的几种寻址方式。
3、掌握简单指令的执行过程。
二、实验内容:
1、设堆栈指针SP=2000H,AX=3000H,BX=5000H;请编一程序段将AX和BX的内容进行交换。请用堆栈作为两寄存器交换内容的中间存储单元,用DEBUG调试程序进行汇编与调试。
2、设DS=当前段地址,BX=0300H,SI=0002H;请用DEBUG的命令将存储器偏移地址300H~304H连续单元顺序装入0AH,0BH,0CH,0DH,