第一个DOS中断处理程序(中断号为0)

来源:互联网 发布:网络电视盒子 编辑:程序博客网 时间:2024/05/01 05:08
assume cs:codesgcodesg segmentstart:mov ax, cs;设置中断要执行的代码段mov ds, axmov si, offset do0;设置中断代码的开始位置mov ax, 0;设置要复制到的目的地址处mov es, axmov di, 200Hmov cx, offset do0end - offset do0;代码的大小cld;设置si和di的方向rep movsb;开始复制mov ax, 0mov es, ax;设置中断向量表使其指向要执行的中断代码处mov word ptr es:[0*4], 200H;要执行的代码的IPmov word ptr es:[0*4+2], 0;要执行的代码的CSmov ax, 4c00Hint 21Hdo0:jmp short do0startdb 'Hello World Interrupt First!'do0start:mov ax, csmov ds, axmov si, 202Hmov ax, 0B800Hmov es, axmov di, 12*160+34*2mov cx, 28s:mov al, [si]mov es:[di], alinc siadd di, 2loop smov ax, 4c00Hint 21Hdo0end:nopcodesg endsend start


原创粉丝点击