鱼C论坛

 找回密码
 立即注册
查看: 6875|回复: 8

[汇编作业] 关于实验十二不明白的内存报错

[复制链接]
发表于 2017-5-23 10:12:23 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
assume cs:code
code segment
start:       mov ax,cs
                mov ds,ax
                mov si,offset p1
               
                mov ax,0
                mov es,ax
                mov di,200h
               
                mov cx,offset p1end-offset p1
               
                cld
                rep movsb
               
                mov ax,0
                mov es,ax
                mov word ptr es:[0*4],200h
                mov word ptr es:[0*4+2],0
               
                mov ax,4c00h
                int 21h
               
p1:          jmp short p2
                db 'ERROR!'

p2:          mov ax,cs
                mov ds,ax
                mov si,202h
               
                mov ax,0b800h
                mov es,ax
                mov di,2*160+0*2
               
                mov cx,6
show:      push cx
                mov cl,1010b
                mov al,[si]
                mov es:[di],al
                mov es:[di+1],cl
                inc si
                inc di                                ;这两个inc改成add di,2就没有事了。可以正常运行!
                inc di                                ;
                pop cx
                loop show

p1end:        nop
code ends
end start

执行后会报错。
微信图片_20170523095607.png
如果把标号show处的两个inc di改成add di,2却能正常运行,始终不知道是为什么。也许可能还有其他的原因?小白不解。
微信图片_20170523101042.png
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2017-5-23 10:15:28 | 显示全部楼层
在线等。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-5-23 10:29:46 | 显示全部楼层
微信图片_20170523102803.png
╮(╯_╰)╭纠结纠结ing……
来个大神帮小弟解答吧
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-5-23 13:12:29 | 显示全部楼层
iret
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-5-23 13:13:57 | 显示全部楼层
assume cs:code

code segment
start:


;int 0

;mov ax, 4c00h
;int 21h



        mov ax, cs
        mov ds, ax
        mov si, offset p1

        mov ax, 0
        mov es, ax
        mov di, 200h

        mov cx, offset p1end - offset p1

        cld
        rep movsb

        mov ax, 0
        mov es, ax
        mov word ptr es:[0 * 4], 200h
        mov word ptr es:[0 * 4 + 2], 0

        mov ax, 4c00h
        int 21h

p1:
        jmp short p2
        db 'ERROR!'

p2:
        mov ax, cs
        mov ds, ax
        mov si, 202h

        mov ax, 0b800h
        mov es, ax
        mov di, 2 * 160 + 0 * 2

        mov cx, 6
show:
        push cx
        
        mov cl, 1010b
        mov al, [si]
        mov es:[di], al
        mov es:[di + 1], cl
        inc si
        
        inc di                                ;这两个inc改成add di,2就没有事了。可以正常运行!
        inc di                                ;
        
        pop cx
        loop show
        
        iret ; 中断返回

p1end:
        nop

code ends
end start
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-5-23 22:54:56 | 显示全部楼层

谢谢版主的细心回答。待我有空回去再去瞅瞅,不会,继续补刀哈!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-5-23 22:56:31 | 显示全部楼层
kyowjw01 发表于 2017-5-23 22:54
谢谢版主的细心回答。待我有空回去再去瞅瞅,不会,继续补刀哈!

^_^
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-5-23 22:56:59 | 显示全部楼层
第一次发帖,不知道如何回复,删了自己的回复贴,扣了一点荣誉。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-6-3 07:43:22 | 显示全部楼层
我现在准备做这个实验来看看做的人多不多
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-23 03:56

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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