ASM_6自定义中断[概念]

来源:互联网 发布:淘宝白菜都是怎么找的 编辑:程序博客网 时间:2024/05/22 15:09

 
中断向量表的位置:
 0000:0000 - 0000:03FE
 
自定义中断:
 mov ds:[0],<自定义中断处理程序的偏移地址>
 mov ds:[2],<自定义中断处理程序的段地址>

存放中段程序的程序段:
 0000:0200 - 0000:0300

根据以上中断向量表、自定义中断、中断程序段的使用例子:
第一步:先修改中断向量表0号表项的修改为 自己编写的程序的入口
第一步v1(会编译错误): 
 mov ax,0 ;
 mov ds,ax ;把DS指向中断向量表
 mov ds:[0],0200h ;自定义中断程序的偏移地址
 mov ds:[2],0 ;自定义中断程序的段地址
 
第一步v2:
 mov ax,0 ;
 mov ds,ax ;把DS指向中断向量表
 mov word ptr ds:[0],0200h ;自定义中断程序的偏移地址
 mov word ptr ds:[2],0 ;自定义中断程序的段地址
 ;word ptr :指定要考备的大小
 
 
第二步:编写自己的中断程序
 int0:jmp short int0start
  db "i am teacher"
 int0start:
  mov ax,0B800H
  mov es,ax ;配置显存地址
   
   
movsb:
字节传送指令:指令在存储单元之间传送字符串
 DS:SI指向了要考备的字符串首地址
 ES:DI指向了要考贝的目的地址
使用时设置ds:si和es:di

CLD指令:
 从低字节往高字节考
 每考一个字节,SI和DI加1

STD指令:
 从高字节往低字节考
 每考一个,SI和DI减1
 
REP指令
 重复

原创粉丝点击