汇编网首页登录博客注册
caroline0712的学习博客
博客首页博客互动【做检测题】论坛求助

我的博客

个人首页 |  我的文章 |  我的相册 |  我的好友 |  最新访客 |  文章收藏 |  论坛提问 |  友情链接 |  给我留言  
图片载入中
学习动态
最新留言
好友圈
文章收藏
友情链接

[2009-04-11 13:19] 实验12

;问题:计算DO0的长度 ?avenue:利用编辑器计算DO0的长度 offset do0end-offset do0

;步骤: 1.安装DO0
;                3.设置中断向量表
;                4.写DO0中断处理程序

CODES SEGMENT
    ASSUME CS:CODES
START:
    ;do0安装程序:把DO0安装到0:200处
    CALL DO0INSTALL
    CALL INTERPUTTABLE
    
    MOV AX,1000H
    MOV BL,1
    DIV BL
    
    MOV AX,4C00H
    INT 21H 
    
DO0INSTALL:
        MOV AX,CS
    MOV DS,AX
    MOV SI,OFFSET DO0
    
    MOV AX,0H
    MOV ES,AX
    MOV DI,200H
    
    MOV CX, OFFSET DO0END - OFFSET DO0
    CLD
    REP MOVSB
    RET
    
INTERPUTTABLE:
    MOV AX,0
    MOV ES,AX
    MOV WORD PTR ES:[0*4],0200H
    MOV WORD PTR ES:[0*4+2],0H   
        RET
               
DO0:
    JMP SHORT DO0START
    DB 'DIVIDE ERROR!'
DO0START:         
        MOV AX,0B800H
        MOV ES,AX
        MOV DI,0
        
        MOV AX,CS
        MOV DS,AX
        MOV SI,202H
        
    MOV CX,13
S:  MOV AL,DS:[SI]
    MOV ES:[DI],AL
    INC SI
    ADD DI,2
    LOOP S
    
    MOV AH,4CH
    INT 21H
DO0End:
        NOP
           
CODES ENDS
END START
评论次数(0)  |  浏览次数(750)  |  类型(汇编作业) |  收藏此文  | 

[  游客   发表于  2009-04-15 11:28  ]

程序有问题,你的返回指令处
MOV AH,4C
这条指令丢了H了,所以数据就不对了。

 
 请输入验证码  (提示:点击验证码输入框,以获取验证码