鱼C论坛

 找回密码
 立即注册
查看: 2626|回复: 4

课程15.5中的安装程序怎么修改不了int9中断的cs地址

[复制链接]
发表于 2012-2-3 11:30:57 | 显示全部楼层 |阅读模式
3鱼币
我对照书上的代码写的,运行之后报错 “无效指令”帮忙看一下

源代码:assume cs:code
stack segment
  db 128 dup (0)
stack ends
code segment
start:    mov ax,stack
          mov ss,ax        
          mov sp,128
          push cs   
    pop ds
    mov ax,0
    mov es,ax
   
    mov si,offset int9
    mov di,204h
    mov cx,offset int9end-offset int9
    cld
    rep movsb
    push es:[9*4]
    pop es:[200h]
    push es:[9*4+2]
    pop es:[202h]
    cli
    mov word ptr es:[9*4],204h
    mov word ptr es:[9*4+2],es
    sti
   
    mov ax,0
    int 16h
    mov ax,4c00h
    int 21h
int9:     push ax
          push bx     
          push cx
          push es
       in al,60
   
    pushf
    call dword ptr cs:[200h]
    cmp al,3bh
    jne int9ret
   
    mov ax,0b800h
    mov es,ax
    mov bx,1
    mov cx,2000
s:     inc byte ptr es:[bx]
    add bx,2
    loop s
   
int9ret:  pop es
    pop cx
    pop bx
    pop ax
    iret
int9end:  nop
code ends
end start   
   
   

最佳答案

查看完整内容

我也是,运行到mov word ptr es:[9*4],204h时提示无效指令
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2012-2-3 11:30:58 | 显示全部楼层
我也是,运行到mov word ptr es:[9*4],204h时提示无效指令
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2012-8-8 01:43:19 | 显示全部楼层
和书上有一点点不一样吧···书上没有 mov ax,0       int 16h
···呵呵·
我也不知道为神马报错····我实验15这也出不来我想要的效果····
搞不明白到底怎么回事···
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2012-9-9 21:19:09 | 显示全部楼层
哎,你们比我好一点吧,我运行,但是就是按那个F1不管用。对了,我记得小甲鱼说过是不是要在实模下的8086模式下才能显示那个效果啊???
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-9-26 16:00:36 | 显示全部楼层

学习,支持一下!加油
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-5 04:19

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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