| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 683 人关注过本帖
标题:王爽 实验4 疑?
只看楼主 加入收藏
小习小习
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:蒙面侠
威 望:6
帖 子:1467
专家分:4792
注 册:2012-7-2
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:13 
王爽 实验4 疑?
程序代码:
assume cs:code

code segment
  mov ax,cs
  mov ds,ax
  mov ax,20h
  mov es,ax
  mov bx,0h
  mov cx,(1ch),这个要填的
s:mov al,[bx]
  mov es:[bx],al
  inc bx
  loop s

 
  mov ax,4c00h
   int 21h
  
   code ends
   end  
这个代码的功能把mov ax,4c00h的代码复制到0:200处,我想了个笨办法,先随便填个,在从DEBUG看cx的值。在改过来,有没有更好的办法
2012-09-27 21:36
zklhp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:china
等 级:贵宾
威 望:254
帖 子:11485
专家分:33241
注 册:2007-7-10
收藏
得分:0 
cx是复制多少东西 这个你应该在写代码的时候知道啊 怎么能试呢
2012-09-27 21:40
小习小习
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:蒙面侠
威 望:6
帖 子:1467
专家分:4792
注 册:2012-7-2
收藏
得分:0 
回复 2楼 zklhp
书上就是出的这样的实验,要填这个代码的字节数

实现自己既定的目标,必须能耐得住寂寞单干。
2012-09-27 21:42
小习小习
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:蒙面侠
威 望:6
帖 子:1467
专家分:4792
注 册:2012-7-2
收藏
得分:0 
图片附件: 游客没有浏览图片的权限,请 登录注册

上图

实现自己既定的目标,必须能耐得住寂寞单干。
2012-09-27 21:45
zklhp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:china
等 级:贵宾
威 望:254
帖 子:11485
专家分:33241
注 册:2007-7-10
收藏
得分:0 
以下是引用小习小习在2012-9-27 21:42:48的发言:

书上就是出的这样的实验,要填这个代码的字节数

把mov ax,4c00h的代码复制到0:200处

我明白了 是让你复制这两个语句 那这两个语句的长度是固定的 你可以算出来

delta1:
    mov ax, 4c00h
    int 21h
delta2:

那么 (delta2-delta1) 不就是这两个语句的总长度么 要活学活用
2012-09-27 21:46
小习小习
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:蒙面侠
威 望:6
帖 子:1467
专家分:4792
注 册:2012-7-2
收藏
得分:0 
回复 5楼 zklhp
我的错少打了个“之前”,该打

实现自己既定的目标,必须能耐得住寂寞单干。
2012-09-27 21:47
zklhp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:china
等 级:贵宾
威 望:254
帖 子:11485
专家分:33241
注 册:2007-7-10
收藏
得分:0 
以下是引用小习小习在2012-9-27 21:47:58的发言:

我的错少打了个“之前”,该打

反正 只要这个代码是确定的 就可以算出长度 自然也就可以填了那个空
2012-09-27 21:50
小习小习
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:蒙面侠
威 望:6
帖 子:1467
专家分:4792
注 册:2012-7-2
收藏
得分:0 
回复 7楼 zklhp
说实话这delta1还没见过,哦看书去

实现自己既定的目标,必须能耐得住寂寞单干。
2012-09-27 21:53
有容就大
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:东土大唐
等 级:版主
威 望:74
帖 子:9048
专家分:14309
注 册:2011-11-11
收藏
得分:10 
有个另类的办法
    先把mov cx,?   改成 sub cx,5 来执行程序
因为在载入程序时,cx保存程序的长度,减去5是为减去mov ax,4c00h和int 21h的长度
然后再在DEBUG的过程中看CX的值。

梅尚程荀
马谭杨奚







                                                       
2012-09-27 21:54
zklhp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:china
等 级:贵宾
威 望:254
帖 子:11485
专家分:33241
注 册:2007-7-10
收藏
得分:10 
以下是引用小习小习在2012-9-27 21:53:57的发言:

说实话这delta1还没见过,哦看书去

你可能知道变量定义的时候用标识符相减来确定大小 那对于代码自然也可以用标号减 代码和变量一样 最终都是数据
2012-09-27 21:56
快速回复:王爽 实验4 疑?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.030573 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved