qq_24892809 2016-04-25 10:28 采纳率: 0%
浏览 499

汇编中接管16H使得输入A显示B,输入B显示A并驻留内存,不知道怎么老报cpu错误

.386
DATA SEGMENT
DATA ENDS
STACK SEGMENT USE16 STACK
DB 200 DUP(0)
STACK ENDS
CODE SEGMENT USE16

ASSUME DS:DATA,CS:CODE,SS:STACK
OLD_INT DW ?,?

NEW16H: CALL DWORD PTR OLD_INT
CMP AL,41H
JZ L1
CMP AL,42H
JZ L2
JMP L3
L1: MOV AL,42H
JMP L3
L2: MOV AL,41H
L3:

IRET
START: XOR AX,AX
MOV DS,AX
MOV AX,DS:[16H*4]
MOV OLD_INT,AX
MOV AX,DS:[16H*4+2]
MOV OLD_INT+2,AX
CLI
MOV WORD PTR DS:[16H*4],OFFSET NEW16H
MOV DS:[16H*4+2],CS
STI
MOV AH,0
INT 16H
MOV DX,OFFSET START+15
SHR DX,4
ADD DX,10H
MOV AL,0
MOV AH,31H
INT 21H
MOV AH,4CH
INT 21H

CODE ENDS
END START

  • 写回答

0条回答

    报告相同问题?

    悬赏问题

    • ¥15 drone 推送镜像时候 purge: true 推送完毕后没有删除对应的镜像,手动拷贝到服务器执行结果正确在样才能让指令自动执行成功删除对应镜像,如何解决?
    • ¥15 求daily translation(DT)偏差订正方法的代码
    • ¥15 js调用html页面需要隐藏某个按钮
    • ¥15 ads仿真结果在圆图上是怎么读数的
    • ¥20 Cotex M3的调试和程序执行方式是什么样的?
    • ¥20 java项目连接sqlserver时报ssl相关错误
    • ¥15 一道python难题3
    • ¥15 牛顿斯科特系数表表示
    • ¥15 arduino 步进电机
    • ¥20 程序进入HardFault_Handler