汇编语言(第3版,王爽著):实验13-3 编写、应用中断例程 补全程序
2022/5/27 1:21:23
本文主要是介绍汇编语言(第3版,王爽著):实验13-3 编写、应用中断例程 补全程序,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
1) 思路:
- 由于代码给出了一部分,咱们可以先通过调用的 int 指令 来判断要实现的功能
- 比如程序中的 int 10h 中断例程是 BIOS 提供的中断例程,ah 是用来传递内部子程序的编号,(ah)=2 表示调用第 10h 号中断例程的 2 号子程序,功能为设置光标位置,可以提供光标所在的 行号、列号和页号为参数
- 比如程序中的 int 21h 中断例程是 DOS 提供的中断例程,ah 是用来传递内部子程序的编号,(ah)=9 表示调用第 21h 号中断例程的 9 号子程序,功能为在光标位置显示字符串,可以提供要显示字符串的地址作为参数
- 具体的每一条指令的功能,请看下方的代码注释
2) 补全程序示意图:
3) 完整的程序代码:
文件名:exp133.asm
assume cs:code code segment s1: db 'Good,better,best,', '$' s2: db 'Never let it rest,', '$' s3: db 'Till good is better,', '$' s4: db 'And better,best.', '$' s: dw offset s1, offset s2, offset s3, offset s4 row: db 2, 4, 6, 8 start: mov ax, cs mov ds, ax mov bx, offset s mov si, offset row mov cx, 4 ; 循环 4 次 ok: mov bh, 0 ; 第 0 页 mov dh, ds:[si] ; dh 中放行号 mov dl, 0 ; dl 中放列号 mov ah, 2 ; ah 传递了中断例程内部子程序的编号,2 的功能为设置光标位置 int 10h ; int 10h 中断例程是 BIOS 提供的中断例程,和屏幕输出有关 mov dx, ds:[bx] ; 获取字符串偏移地址,中断例程中 ds:dx 指向字符串,要显示的字符串需 '$' 作为结束符 mov ah, 9 ; ah 传递了中断例程内部子程序的编号,9 号子程序的功能为在光标位置显示字符串 int 21h ; int 21h 中断例程是 DOS 提供的中断例程 inc si ; si 为不同行号元素的下标 add bx, 2 ; bx 为不同的要显示的字符串的偏移地址的下标 loop ok mov ax, 4c00h int 21h code ends end start
4) 程序运行效果:
这篇关于汇编语言(第3版,王爽著):实验13-3 编写、应用中断例程 补全程序的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-23Springboot应用的多环境打包入门
- 2024-11-23Springboot应用的生产发布入门教程
- 2024-11-23Python编程入门指南
- 2024-11-23Java创业入门:从零开始的编程之旅
- 2024-11-23Java创业入门:新手必读的Java编程与创业指南
- 2024-11-23Java对接阿里云智能语音服务入门详解
- 2024-11-23Java对接阿里云智能语音服务入门教程
- 2024-11-23JAVA对接阿里云智能语音服务入门教程
- 2024-11-23Java副业入门:初学者的简单教程
- 2024-11-23JAVA副业入门:初学者的实战指南