1.int 16h中断例程的0号功能,工作:
(1)检测键盘缓冲区是否有数据
(2)没有则继续做第1步
(3)读取缓冲区第一个字单元中的键盘输入
(4)将读取的扫描码送入ah,ascii码送入al
(5)将已读取的键盘输入从缓冲区中删除
BIOS的int 9中断例程和int 16的中断例程是一对相互配合的程序,int 9中断例程向键盘缓冲区中写入,int 16中断例程从缓冲区中读出
2.BIOS提供的访问磁盘的中断例程为int 13h,读取0面0道1扇区的内容到0:200
mov ax,0
mov es,ax
mov al,1
mov ch,0
mov cl,1
mov dl,0
mov dh,0
mov ah,2
int 13h
参数:
(ah)=int 13h的功能号,2表示读扇区
(al)=读取的扇区数
(ch)=磁道号
(cl)=扇区号
(dh)=磁头号(对于软盘即面号,因为一个面用一个磁头来读写)
(dl)=驱动器号
返回参数:
操作成功:(ah)=0,(al)=读入的扇区数
操作失败:(ah)=出错代码
将0:200中的内容写入0面0道1扇区
mov ax,0
mov es,ax
mov bx,200h
mov al,1
mov ch,0
mov cl,1
mov dl,0
mov dh,0
mov ah,3
int 13h
参数:
(ah)=int 13h(3表示写扇区)
(al)=写入的扇区数
(ch)=磁道号
(cl)=扇区号
(dh)=磁头号
(dl)=驱动器号
软驱从0开始,0:软驱A,1:软驱B
硬盘从80H开始,80h:硬盘C,81h:硬盘D
扩:{
3.5英寸软盘:有上下两面,每面有80个磁道,每个磁道分为18扇区,每个扇区大小为512个字节
2*80*18*521=1440KB约为1.44MB
}