「汇编语言 第 3 版 王爽」- 参考答案:实验 15 安装新的 int 9 中断例程 @20210208

参考答案

实验内容

安装一个新的 int 9 中断例程,功能:在 DOS 下,按下"A"键后,除非不再松开,如果松开,就显示满屏幕的"A",其他的键照常处理

提示:按下一个键时产生的扫描码称为通码,松开一个键产生的扫描码称为断码。断码=通码+80h

实验分析

使用老套路:
1)旧中断例程地址复制到别处,设置新中断例程地址。
2)新中断例程调用旧中断例程,另外如果是 A 的断码,就写入显存全变 A

汇编实现

assume cs:codeseg

codeseg segment

	;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
	;; 新的中断程序
	;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
print_aaa:
	push ax
	push ds
	push si
	push cx

	; 执行原有中断例程,其他的键照常处理
	pushf
	call dword ptr cs:[0200H]

	in al, 60H			; 读取键盘扫描码
	cmp al, 80H + 1EH	; 判断是否为 A 的断码
	jne print_aaa_iret	; 如果不是 A 的断码,则返回

	; 向显存写入 A,我们只写入第一页
	mov ax, 0B800H
	mov ds, ax
	mov si, 0

	mov cx, 80 * 25	; 只写入第一页,= 80 * 2 * 25 / 2
	loop_s0:
		mov byte ptr ds:[si], 'A'
		add si, 2
		loop loop_s0

	print_aaa_iret:
	pop cx
	pop si
	pop ds
	pop ax
	iret
print_aaa_end:

	;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
	;; 复制中断程序
	;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
start:
	mov ax, cs					; 设置起始地址
	mov ds, ax
	mov si, offset print_aaa
	mov ax, 0000H				; 设置目的地址
	mov es, ax
	mov di, 0204H
	mov cx, offset print_aaa_end - offset print_aaa
	cld
	rep movsb

	;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
	;; 设置中断向量表
	;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
	mov ax, 0
	mov es, ax

	; 复制旧地址到 0000:0200 处 ;
	push es:[9 * 4]		; IP
	pop es:[0200H]		; IP
	push es:[9 * 4 + 2]	; CS
	pop es:[0202H]		; CS

	; 设置新地址
	cli
	mov word ptr es:[9 * 4], 0204H
	mov word ptr es:[9 * 4 + 2], 0
	sti

	mov ax, 4C00H
	int 21H

codeseg ends

end start

附加说明

有个地方我一直还没弄明白:在 debug 中在 debug 外,有什么区别。有这么个现象:
1)执行上述程序,安装中断例程。在程序运行结束后,再次返回终端,显示提示符(C:\>);
2)此时按 A 键,不会显示满屏的 A 字符;
3)当我们执行 debug any.exe 进入调试模式时,此时按 A 键,会显示满屏的 A 字符;

参考文献

优快云/汇编语言王爽第三版答案
百度文库/汇编语言实验答案 (王爽)

基于TROPOMI高光谱遥感仪器获取的大气成分观测资料,本研究聚焦于大气污染物一氧化氮(NO₂)的空间分布与浓度定量反演问题。NO₂作为影响空气质量的关键指标,其精确监测对环境保护与大气科学研究具有显著价值。当前,利用卫星遥感数据结合先进算法实现NO₂浓度的高精度反演已成为该领域的重要研究方向。 本研究构建了一套以深度学习为核心的技术框架,整合了来自TROPOMI仪器的光谱辐射信息、观测几何参数以及辅助气象数据,形成多维度特征数据集。该数据集充分融合了不同来源的观测信息,为深入解析大气中NO₂的时空变化规律提供了数据基础,有助于提升反演模型的准确性与环境预测的可靠性。 在模型架构方面,项目设计了一种多分支神经网络,用于分别处理光谱特征与气象特征等多模态数据。各分支通过独立学习提取代表性特征,并在深层网络中进行特征融合,从而综合利用不同数据的互补信息,显著提高了NO₂浓度反演的整体精度。这种多源信息融合策略有效增强了模型对复杂大气环境的表征能力。 研究过程涵盖了系统的数据处理流程。前期预处理包括辐射定标、噪声抑制及数据标准化等步骤,以保障输入特征的质量与一致性;后期处理则涉及模型输出的物理量转换与结果验证,确保反演结果符合实际大气浓度范围,提升数据的实用价值。 此外,本研究进一步对不同功能区域(如城市建成区、工业带、郊区及自然背景区)的NO₂浓度分布进行了对比分析,揭示了人类活动与污染物空间格局的关联性。相关结论可为区域环境规划、污染管控政策的制定提供科学依据,助力大气环境治理与公共健康保护。 综上所述,本研究通过融合TROPOMI高光谱数据与多模态特征深度学习技术,发展了一套高效、准确的大气NO₂浓度遥感反演方法,不仅提升了卫星大气监测的技术水平,也为环境管理与决策支持提供了重要的技术工具。 资源来源于网络分享,仅用于学习交流使用,请勿用于商业,如有侵权请联系我删除!
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值