汇编语言实验(8)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
课程名称汇编语言与微机原理实验名称中断服务程序的改写
实验目的、要求
1.掌握汇编语言程序设计的编写链接调试运行的完整过程
2.掌握利用masm.exe、link.exe等进行汇编、连接的方法及执行目的程序的方法。
3.掌握中断向量的概念和中断调用的机制。
4.掌握中断服务程序的写法和调用的方法。
实验原理
通过子程序调用和直接写显存的方式将字符串在屏幕的指定位置显示出来。
主要设备
计算机一台汇编语言软件
实验步骤及原始数据记录
程序源代码
1.修改除法错中断的中断服务程序,当发生除法错时,在屏幕的中间显示“overflow”。
assume cs:code
code segment
start: mov ax,cs
mov si,offset do0
mov ax,0
mov es,ax
mov di,200h
mov cx,offset do0end – offset do0
cld
rep movsb
mov ax,0
mov es,ax
mov word ptr es:[0*4],200h
mov word ptr es:[0*4+2],0
mov ax,4c00h
int 21h
do0: jmp short do0start
db “overflow”
do0start: mov ax,cs
mov ds,ax
mov si,202h
mov ax,0b800h
mov es,ax
mov di,12*160 + 36*2
s: mov al,[si]
mov es:[di],al
inc si
add di,2
loop s
mov ax,4c00h
int 21h
do0end : nop
code ends
end start
思考(1)如何直接使用DEBUG命令将该程序编写出来。
四、操作步骤:1.在C盘生成一个新文件夹,例如P1,在该文件夹中拷入masm.exe、link.exe、debug.exe等工具程序
2.打开记事本,将上面的程序复制生成纯文本文件,文件名以.asm为扩展名。例如:A1.ASM。(注意保存时要选择保存类型为“所有文件”)。
3.从“开始”→程序→附件→命令提示符,进入DOS命令界面。
4. 使用CD命令,进入新文件夹,例如:P1,命令为:CD C:\P1
5. 执行MASM <文件名>,对源程序进行编译。
6. 执行LINK.EXE <文件名>,连接生成执行程序。例如:LINK A1
7. 执行生成的程序,将中断服务程序驻留在内存。
8.用DEBUG的A命令输入int 0,然后用G命令执行,屏幕上将显
示字符串“overflow”。
1.程序运行之后,再用DEBUG命令执行int 0,字符串”overflow ”显示出来。