码迷,mamicode.com
首页 > 其他好文 > 详细

汇编实验12

时间:2014-05-08 08:58:20      阅读:253      评论:0      收藏:0      [点我收藏+]

标签:des   code   tar   int   c   art   

assume cs:codesg
codesg segment
    start:
        ; 设置源地址与目的地址,并使用movsb传送
        mov ax, cs
        mov ds, ax
        mov si, offset do0
        mov ax, 0
        mov es, ax
        mov di, 200h
        mov cx, offset do0_end - offset do0
        cld
        rep movsb
        
        ;  设置向量表
        mov ax, 0
        mov es, ax
        mov word ptr es:[0], 200h
        mov word ptr es:[2], 0
        
        ;    激发一个除法溢出,后来证明其它程序有除法溢出时也会打印do0里的字符串,说明内存中的数据被改变。
        ;    重启电脑后无效,说明中断程序重新加载,疑问,加载的源程序信息在哪???继续学习之路吧
        mov ax, 1000
        mov bl, 1
        div bl
        
        mov ax, 4c00h
        int 21h
        
    do0:
        jmp short do0_start
        db ‘divide error!‘   ; 13个字符
    do0_start:
        mov ax, cs
        mov ds, ax
        mov bx, 202h        ;  do0 最前面的jmp指令长度忘了,打印出来开始两个字符是乱码,貌似有$符
        mov cx, 13
        
        mov ax, 0b800h
        mov es, ax
        mov di, 12*160+5*2    ;  12行,第5列,1 颜色不设置看会输出什么,结果黑底白色
        mov ah, 24h
    loop_do0:
        mov al, [bx]
        mov es:[di], ax
        inc bx
        add di, 2
        loop loop_do0

        mov ax, 4c00h
        int 21h
    do0_end:
        nop
    
codesg ends
end start

汇编实验12,布布扣,bubuko.com

汇编实验12

标签:des   code   tar   int   c   art   

原文地址:http://www.cnblogs.com/boota/p/3714965.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!