|
5鱼币
本帖最后由 骇客king 于 2015-6-4 12:29 编辑
assume cs:code
code segment
;第一步:把中断向量表中0号表项内容进行修改,使之指向我们自己编写
;的中断处理的入口地址
start: mov ax,0
mov ds,ax
mov word ptr ds:[0],200h
mov word ptr ds:[2],0
;第三步,把我们刚才写好的0号中断处理程序拷贝到中断向量表在中
;p0号表项所指向的内存地址中0000:0200
mov ax,cs
mov ds,ax
mov si,offset int0
mov ax,0
mov es,ax
mov di,200h
mov cx,offset int0end-offset int0
cld
rep movsb
;第四步引发中断
mov ax,1000h
mov bh,0
div bh
mov ax,4c00h
int 21h
;第二步:编写自己的中断处理程序,实现在屏幕中间显示字符串功能
int0:jmp short int0start
db"aaaaaaaaaaaa"
int0start:mov ax,0b800h
mov es,ax;配置显存首地址0b800
;拷贝到显存地址空间
mov ax,cs
mov ds,ax
mov si,202h
mov di,12*160+36*2
mov cx,12
s:mov al,ds:[si]
mov es:[di],al
inc si
add di,2
loop s
mov ax,4c00h
int 21h
int0end:nop
code ends
end start
报错 5个错误,全是error A2062: Missing or unreachable CS,提示没有代码段,然后我把assume cs:code
code segment换了一下位置,code segment放最前边 assume cs:code 编译就没有错误了,我是哪里小问题晕了吗?编译过了,运行什么显示都没有,应该显示一堆aaaa啊
|
最佳答案
查看完整内容
没细看,但是我粘贴楼主的代码,编译是通过的,字符我也看到了
一个字都没改,也许楼主在无意中解决了问题
|