当前位置:文档之家› 8086 汇编语言中断程序设计

8086 汇编语言中断程序设计

8086 汇编语言中断程序设计
8086 汇编语言中断程序设计

汇编语言程序设计实验报告

学院:计算机科学与技术专业:计算机科学与技术班级:计科131

LEA DX,FNAME

MOV CX,0 ;语句1

INT 21H

JC EXIT

MOV FNUM,AX

MOV BX,AX ;语句2

MOV CX,100

MOV AH,40H

LEA DX ,BUF

INT 21H

MOV BX,FNUM

MOV AH,3EH

INT 21H

EXIT:

MOV AH,4CH

INT 21H

CODE ENDS

END START

使用相应的文本编辑器建立文件LAB7.asm,内容如上所示。

2.汇编并运行此程序后,在当前目录建立的文件名是什么?其内容是什么?

1>汇编:

C:\masm> masm lab7;

2>连接:

C:\masm> link lab7;

3>运行:

C:\masm> lab7

3.若将语句1 改为mov cx,1,则运行情况与前面会有什么区别?

4.若将语句1 改为mov cx,2,则运行结果同上会有什么不同?并简要说明此语句的作用.

5.若将语句2 改为mov bx,1,则运行结果会有什么不同?简要说明则语句的作用.

实验二:编写0 号中断的处理程序,使得在除法溢出发生时,在屏幕中间显示字符串“divide error!”,然后返回到DOS。源程序下:

assume cs:code

code segment

start:

mov ax,cs

mov ds,ax

mov si,offset do

mov ax,0

mov es,ax

mov di,200h

mov cx,offset doend-offset do ;安装中断例程cld

rep movsb

mov word ptr es:[0],200h

mov word ptr es:[2],0 ;设置中断向量表

mov dx,0ffffh

mov bx,1 ;测试一下

div bx

mov ax,4c00h

int 21h

do:jmp short dostart

db 'divide error!'

dostart:

mov ax,0

mov ds,ax

mov si,202h

mov ax,0b800h

mov es,ax

mov di,160*12+60

mov cx,13

s:

mov al,ds:[si]

mov ah,15

mov es:[di],ax

inc si

inc di

inc di

loop s

mov ax,4c00h

int 21h

doend:nop

code ends

end start

3.若将语句1 改为mov cx,1,文件为只读。

4.若将语句1 改为mov cx,2,文件为隐藏。

5.若将语句2 改为mov bx,1,在屏幕上显示写入的字符。

实验总结

这次实验没有花费很多时间,因为代码都是现成的,就只按照要求修改代码并运行,比较了其之间的不同。实验二修改了在屏幕上显示的字符的颜色和位置,但是背景色还是没能修改成功。

见签名:年月日

相关主题
文本预览
相关文档 最新文档