鱼C论坛

 找回密码
 立即注册
查看: 2303|回复: 5

关于一个代码段问题,感觉很奇怪

[复制链接]
发表于 2015-6-4 12:28:16 | 显示全部楼层 |阅读模式
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啊



最佳答案

查看完整内容

没细看,但是我粘贴楼主的代码,编译是通过的,字符我也看到了 一个字都没改,也许楼主在无意中解决了问题
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2015-6-4 12:28:17 | 显示全部楼层
没细看,但是我粘贴楼主的代码,编译是通过的,字符我也看到了
无标题.png
一个字都没改,也许楼主在无意中解决了问题
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2015-6-5 12:23:53 | 显示全部楼层
不知道对不对:  第二步si初始化可能出问题,你确定数据地址为202h么。建议在数据地址做的标号,然后 mov si,offset 标号。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2015-6-5 12:49:13 | 显示全部楼层
混鱼币
混鱼币
混鱼币
混鱼币
混鱼币
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2015-6-6 00:12:08 | 显示全部楼层
混鱼币:lol::lol::lol::lol::lol::lol:
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2015-6-7 21:57:20 | 显示全部楼层
问题在于,我在mac 10.10下写的代码,拿到win xp下运行的,里边参杂了很多别东西,所以乱七八糟了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-12-27 14:13

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表