. : : Assembly Language : : .  |  首页  |  我提出的问题  |  我参与的问题  |  我的收藏  |  消息中心   |  游客  登录  | 
刷新 | 提问 | 未解决 | 已解决 | 精华区 | 搜索 |
  《汇编语言》论坛 ->外中断
  管理员: assembly   [回复本贴] [收藏本贴] [管理本贴] [关闭窗口]
主题 : :  为什么我的 15.5的程序调试不出来  [待解决] 回复[ 1次 ]   点击[ 453次 ]  
qiongshuai
[帖 主]   [ 发表时间:2009-02-17 17:12 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2009-01-12 10:40
ASSUME CS:CODESG,SS:STACKSG

STACKSG SEGMENT
        DB 128 DUP (0)
STACKSG ENDS

CODESG SEGMENT
START:         MOV AX,STACKSG
        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],0
        STI

        MOV AX,4C00H
        INT 21H

INT9:        PUSH AX
        PUSH BX
        PUSH CX
        PUSH ES
        
        IN AL,60H
        
        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
CODESG ENDS
        END START
我是在windows xp下的dos下调试的,没有效果啊
mouse
[第1楼]   [ 回复时间:2009-02-18 15:28 ]   [引用]   [回复]   [ top ] 
荣誉值:472
信誉值:12
注册日期:2007-10-16 15:34
书上15.4末尾说关于键盘的程序要在dos实模式下运行,否则可能会有问题。

你把程序编译运行后,用debug查看 -u 0:200,如果看到这里面是装入的新中断代码,再按f1,应该会有“部分”效果。

虚拟dos毕竟是虚拟的,有些时候和实dos还是有区别的。
需要登录后才能回帖 -->> 请单击此处登录
    Copyright © 2006-2024   ASMEDU.NET  All Rights Reserved