第17章 使用BIOS进行键盘输入和磁盘读写
2011-05-15 23:25
489 查看
P302 键盘输入将引发9号中断,BIOS提供了 int 9 中断例程。
P303 int 16h 中断例程的0号功能,进行如下的工作。
(1) 检测键盘缓冲区中是否有数据;
(2) 没有则继续做第1步;
(3) 读取缓冲区第一个字单元中的键盘输入;
(4) 将读取的扫描码送入ah,ASCII码送入al;
(5) 将已读取的键盘输入从缓冲区中删除。
BIOS的 int 9 中断例程和 int 16h 中断例程是一对相互配合的程序,int 9 中断例程向键盘缓冲区中写入,int 16h 中断例程从缓冲区中读出。它们写入和读出的实际不同,int 9 中断例程是在有键按下的时候想键盘缓冲区中写入数据;而 int 16h 中断例程是在应用程序对其进行调用的时候,将数据从键盘缓冲区中读出。
P310 实验17 编写包含多个功能子程序的中断例程
就这个程序,搞了好长时间,也还没有明白。现在只实现了写软盘的功能,而且还有限制。代码如下:
我要写的是编号为1440的逻辑扇区。功能是向这个扇区中(512个字节)重复写入256个1324h。写到软盘中之后,使用hexedit查看如下图:
今天太晚了,明天再写好了。
P303 int 16h 中断例程的0号功能,进行如下的工作。
(1) 检测键盘缓冲区中是否有数据;
(2) 没有则继续做第1步;
(3) 读取缓冲区第一个字单元中的键盘输入;
(4) 将读取的扫描码送入ah,ASCII码送入al;
(5) 将已读取的键盘输入从缓冲区中删除。
BIOS的 int 9 中断例程和 int 16h 中断例程是一对相互配合的程序,int 9 中断例程向键盘缓冲区中写入,int 16h 中断例程从缓冲区中读出。它们写入和读出的实际不同,int 9 中断例程是在有键按下的时候想键盘缓冲区中写入数据;而 int 16h 中断例程是在应用程序对其进行调用的时候,将数据从键盘缓冲区中读出。
P310 实验17 编写包含多个功能子程序的中断例程
就这个程序,搞了好长时间,也还没有明白。现在只实现了写软盘的功能,而且还有限制。代码如下:
assume cs:code data segment dw 256 dup (1324h) data ends code segment int7ch: mov ax,dx cmp ax,1439 ja set mov dh,0 jmp short s1 set: mov dh,1 ;dh中保存磁头号 s1: sub ax,1440 mov cl,18 div cl mov ch,al ;ch中保存磁道号 add ah,1 mov cl,ah ;cl中保存扇区号 mov dl,0 ;dl中保存驱动器号,0代表软驱A mov al,1 ;操作1个扇区 mov ah,3 ;写扇区 int 13h iret int7chend: nop start: mov ax,cs mov ds,ax mov si,offset int7ch mov ax,0 mov es,ax mov di,200h mov cx,offset int7chend - offset int7ch cld rep movsb ;拷贝中断例程到0000:0200处 mov word ptr es:[7ch*4],200h mov word ptr es:[7ch*4+2],0 ;设置中断向量 mov ax,data mov es,ax mov bx,0 mov dx,1440 int 7ch mov ax,4c00h int 21h code ends end start
我要写的是编号为1440的逻辑扇区。功能是向这个扇区中(512个字节)重复写入256个1324h。写到软盘中之后,使用hexedit查看如下图:
今天太晚了,明天再写好了。
相关文章推荐
- 第17章 使用BIOS进行键盘输入和磁盘读写 笔记2
- 第17章 使用BIOS进行键盘输入和磁盘读写
- 使用BIOS进行键盘输入和磁盘读写03 - 零基础入门学习汇编语言77(完)
- 使用BIOS进行键盘输入和磁盘读写03 - 零基础入门学习汇编语言77(完)
- 王爽《汇编语言》(第二版) 学习笔记 (第十七章 使用BIOS进行键盘输入和磁盘读写)
- 汇编语言笔记17-使用BIOS进行键盘输入和磁盘读写
- 使用BIOS进行键盘输入和磁盘读写01 - 零基础入门学习汇编语言75
- 汇编语言学习笔记第十七章 使用BIOS进行键盘输入和磁盘读写
- 使用BIOS进行键盘输入和磁盘读写01 - 零基础入门学习汇编语言75
- 第十七章 使用BIOS进行键盘的输入和磁盘读写
- [汇编学习笔记][第十七章使用BIOS进行键盘输入和磁盘读写
- 汇编语言--使用BIOS进行键盘输入和磁盘读写
- [置顶] [汇编学习笔记][第十七章使用BIOS进行键盘输入和磁盘读写
- 汇编语言笔记17-使用BIOS进行键盘输入和磁盘读写
- 使用BIOS进行键盘输入和磁盘读写02 - 零基础入门学习汇编语言76
- 使用BIOS进行键盘输入和磁盘读写02 - 零基础入门学习汇编语言76
- 使用BIOS进行键盘输入和磁盘读写(学习汇编)
- 汇编语言--使用BIOS进行键盘输入和磁盘读写
- 使用BIOS进行键盘输入【编程:字符串的输入】
- 外中断、使用中断完成键盘输入和磁盘读写