鱼C论坛

 找回密码
 立即注册
查看: 1691|回复: 10

初阶九求助?

[复制链接]
发表于 2014-8-20 15:09:44 | 显示全部楼层 |阅读模式

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

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

x
assume cs:codesg,ds:datasg,ss:stacksg

datasg segment
db 'Welcome to masm!'
db 02h,24h,71h
datasg ends

stacksg segment
dw 8 dup(0)
stacksg ends

codesg segment

 start:
        mov ax,datasg
                mov ds,ax
                mov ax,stacksg
                mov ss,ax
                mov ax,0b872h
                mov es,ax
                mov bx,0
                mov di,0
                mov si,16
            mov cx,3
                
        

   s0:  push cx
                push si
                push di
                
             mov cx,11
        s:        mov al,[bx]
                mov es:[di],al
                
                mov ah,[si]
                mov es:[di+1],ah
                
                add di,2
                add bx,1
                loop s
                
                pop di
                pop si
                pop cx
                add di,80
                add si,1
                
                loop s0
                
 
                mov ax,4c00h
                int 21h
                
                codesg ends
end start

                
实验九,在DEBUG中二次用查的结果不一样?
第一次,D B872:0 F
第二次,D B872:0




实验九.jpg
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2014-8-20 15:11:42 | 显示全部楼层
ES 段地址为:B872,DI=0

为什么二次查的结果不一样,而且下面往,B872:0写东西,写不进去??
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-8-20 15:20:15 | 显示全部楼层
实验九,错在哪里了,真的找不到拉!

第46条: ADD DI,80    ; DI增加80个字节,换到下一行同一列位置,这里有问题么?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-8-20 15:23:59 | 显示全部楼层
B872:000  为什么一直在变呀???
一直在变.jpg
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-8-20 15:40:28 | 显示全部楼层
实验九,得不到正确结果,请高手指点{:1_1:}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-8-20 15:59:45 | 显示全部楼层
费了好几个小时,找到问题改好了:loveliness:
assume cs:codesg,ds:datasg,ss:stacksg

datasg segment
db 'Welcome to masm!'
db 02h,24h,71h
datasg ends

stacksg segment
dw 8 dup(0)
stacksg ends

codesg segment

 start:
        mov ax,datasg
                mov ds,ax
                mov ax,stacksg
                mov ss,ax
                mov ax,0b872h
                mov es,ax
                mov bx,0
                mov di,0
                mov si,16
            mov cx,3
                
        

   s0:  push cx
                push si
                push di
                push bx
        
             mov cx,16
        s:        mov al,[bx]
                mov es:[di],al
                
                mov ah,[si]
                mov es:[di+1],ah
                
                add di,2
                add bx,1
                loop s
                
                pop bx
                pop di
                pop si
                pop cx
                add di,160
                add si,1
                
                loop s0
                
 
                mov ax,4c00h
                int 21h
                
                codesg ends
end start

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

使用道具 举报

 楼主| 发表于 2014-8-20 16:04:36 | 显示全部楼层
程序虽得到了正确结果,但还有问题:

段B872,为什么写不进去数据???,几个用D命令查看,为什么B872:0内的数据一直在变?我与进去的数据确找不到…………,那么,为什么还能得到结果????


                                 请高手回{:1_1:}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-8-20 23:33:33 | 显示全部楼层
难道是堆栈的操作?:dizzy:
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-8-21 20:29:28 | 显示全部楼层
小靚同学Leon 发表于 2014-8-20 23:33
难道是堆栈的操作?

堆栈只是为,保存数据不被更改;
如我前面一直错找不到原因,就是BX,没保存;

现在是我在DEBUG里用D命查看段地址B872内的,数据一直在改变;如果说改变是因为,显卡一直在刷新的话,那么,我为什么还能得到正确的结果:dizzy:
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-8-21 21:19:03 | 显示全部楼层
haiouda 发表于 2014-8-21 20:29
堆栈只是为,保存数据不被更改;
如我前面一直错找不到原因,就是BX,没保存;

只能说明最后确实是写进去了,但是内存数据却是在动态的变化着。
好像说不通,期待精彩答案{:1_1:}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-8-21 22:44:32 | 显示全部楼层
⊙﹏⊙b汗,上课没认真,看着都很熟悉,凑到一起就不认识了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-18 10:53

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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