汇编语言 实验13 编写、应用中断例程

本文档介绍了汇编语言实验中的中断例程编写,包括安装在0:200处的Int 7ch中断例程,用于显示0结束的字符串,以及一个实现loop指令功能的中断例程。实验通过test.asm和loop.asm程序进行单步跟踪,观察中断和返回指令执行前后的寄存器状态。此外,还展示了在屏幕多行显示英文诗的poem.asm程序及其运行效果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

文章目录

Part1

1.写并安装Int 7ch 中断例程,功能为显示一个用0结束的字符串,中断例程安装在0:200处。

参数:(dh)=行号,(dl)=列号,(cl)=颜色,ds:si指向字符串首地址。

以上中断例程安装成功后,对下面的程序进行单步跟踪,尤其注意观察int、iret指令执行前后CS、IP和栈中的状态。

test.asm

assume cs:code

data segment
	db 'Welcome to masm!', 0
data ends

code segment
start:	mov dh, 10		;设置行号
		mov dl, 10		;设置列号
		mov cl, 2		;设置颜色
		mov ax, data
		mov ds, ax
		mov si, 0
		int 7ch
		
		mov ax, 4c00h
		int 21h 
		
code ends
end start

安装代码(show.asm):

assume cs:code
	code segment
		start: mov ax,cs
			   mov ds,ax
			   mov si,offset show	;设置ds:si指向源地址
			   mov ax,0
			   mov es,ax
			   mov di,200h			;设置es:di指向目的地址
			   mov cx,offset showend - offset show		;设置cx为传输长度
			   cld		;设置传输方向为正
			   rep
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值