ch6_1 中断及外部设备操作

1. 直接定制表

1.1 移位指令

1.2 操作显存数据

1.3 描述内存单元的标号

1.4 数据的直接定址表

1.5 代码的直接定址表

2.  内中断

2.1 中断及其处理

2.2 编写中断处理程序

2.3 单步中断

2.4 int 指令引发的中断

2.5 BIos , DOS 中断处理

2.5.1 BIOS——基本输入输出系统

ch6_1 中断及外部设备操作_第1张图片

BIOS,是在系统板的ROM中存放着一套程序
; 容量:8KB
; 地址:从FE000H开始

BIOS中的主要内容
(1)硬件系统的检测和初始化程序
(2)外部中断和内部中断的中断例程
(3)用于对硬件设备进行I/O操作的中断例程
(4)其他和硬件系统相关的中断例程

使用BIOS功能调用,程序员不用了解硬件操作细
节,直接使用指令设置参数,并中断调用BIOS例
程,即可完成相关工作!

使用BIOS功能调用:(1)方便编程;
(2)能写出简洁、可读性好、易于移植的程序。

2.5.2 BIOS中断调用示例

任务:在屏幕的5行12列显示3个红底高亮闪烁绿色的’a’

ch6_1 中断及外部设备操作_第2张图片
用BIOS的10h中断
; (ah)=2时,调用第10h中断例程的2号子程序,设置光标位置
; (ah)=9时,调用第10h中断例程的9号子程序,在光标位置显示字符

assume cs:code
code segment
mov ah,2 ;置光标功能
mov bh,0 ;0页
mov dh,5 ;dh中放行号
mov dl,12 ;dl中放列号
int 10h
mov ah,9 ;显示字符功能
mov al,'a' ;字符
mov bl,11001010b;颜色属性
mov bh,0 ;0页
mov cx,3 ;字符重复个数
int 10h
mov ax,4c00h
int 21h
code ends
end

在这里插入图片描述

2.5.3 有哪些BIOS中断, 怎么用?

ch6_1 中断及外部设备操作_第3张图片ch6_1 中断及外部设备操作_第4张图片

2.5.4 DOS中断

ch6_1 中断及外部设备操作_第5张图片

2.5.5 int 21HDOS 中断例程的应用

4ch号功能:程序返回
;功能号在ah,返回结果保存在al
:用法:
mov ah,4ch
mov al,0
int 21h

在这里插入图片描述

:09h号功能:在光标位置显示字符串
; ds:dx指向要显示的字符串(用’$'结束)
: 用法:
mov ah ,9
int 21h
: 例:编程在屏幕的5行12列显示字符串
“welcome to masm!”

assume cs:code
data segment
db 'Welcome to masm!','$'
data ends
code segment
start: mov ah,2 ; 置光标
mov bh,0 ;0页
mov dh,5 ; dh中放行号
mov dl,12 ; dl中放列号
int 10h
mov ax,data
mov ds,ax
mov dx,0 ;ds:dx指向字符串的首地址data:0
mov ah,9
int 21h
mov ax,4c00h
int 21h
code ends
end start

2.5.6 BIOS和DOS中断例程的安装过程

(1)CPU 一加电,初始化(CS)=0FFFFH,(IP)=0,自动从FFFF:0单元开始执行程序。FFFF:0处有一条转跳指令,CPU执行该指令后,转去
执行BIOS中的硬件系统检测和初始化程序。

(2)初始化程序将建立BIOS 所支持的中断向量,即将BIOS提供的中断例程的入口地址登记在中断向量表中。

(3) 硬件系统检测和初始化完成后,调用int 19h 进行操作系统的引导。从此将计算机交由操作系统控制。

(4)DOS 启动后,除完成其它工作外,还将它所提供的中断例程装入内存,并建立相应的中断向量

ch6_1 中断及外部设备操作_第6张图片

2.5.

2.5.

2.5.

ch6_1 中断及外部设备操作_第7张图片

你可能感兴趣的:(#,汇编,汇编语言)