CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
【经验总结】不能实施并行处理的情况 浅谈并行编程中的任务分解模式
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  其他开发语言 >  汇编语言

急~~~简单问题,24小时内结帖

楼主gzyip(Java)2003-01-10 00:22:19 在 其他开发语言 / 汇编语言 提问

假设代码如下:  
  code   segment  
                assume   cs:code,ds:code,ds:code  
                org   100h  
  start:  
                mov   ax,4c00h  
                int   21h  
                 
  file   db   15   dup('   ')  
   
  code       ends  
                end   start  
   
  假设程序在FILE中存入一串字符串之后(字符串长度肯定小于15个),应该加些什么代码能修改到适合字符串的长度~~~ 问题点数:50、回复次数:13Top

1 楼prosong(prosong)回复于 2003-01-10 00:25:43 得分 0

要干什么啊,   没看懂?Top

2 楼gzyip(Java)回复于 2003-01-10 00:39:29 得分 0

就是说我在代码中定义了  
  file   db   15   dup(?)  
  现在我想写一段代码,修改15,也可以说成是修改FILE的长度~~~Top

3 楼andersky(非线性)回复于 2003-01-10 00:44:30 得分 0

不行吧Top

4 楼gzyip(Java)回复于 2003-01-10 00:49:31 得分 0

那么如果我在运行程序过程中询问用户字符串的长度~  
  然后再生成变量行不行???Top

5 楼prosong(prosong)回复于 2003-01-10 01:13:34 得分 30

字符串后面放个   0   好了Top

6 楼gzyip(Java)回复于 2003-01-10 01:26:52 得分 0

怎样放啊???能举个例子来看一下吗???Top

7 楼webhua()回复于 2003-01-10 09:12:36 得分 0

code   segment  
                assume   cs:code,ds:code,ds:code  
                org   100h  
  start:  
                mov   ax,4c00h  
                int   21h  
  filelen     db       15            
  file   db   15   dup('   ')  
   
  code       ends  
                end   start  
  然后根据filelen的值来确定file的长度。修改只要修改filelen的值就行。  
  ----------------------------------------------------------------  
  或者  
  code   segment  
                assume   cs:code,ds:code,ds:code  
                org   100h  
  start:  
                mov   ax,4c00h  
                int   21h  
                 
  file   db   15   dup('   '),0  
   
  code       ends  
                end   start  
  然后改0在file的位置。  
  例如插入代码    
      push   cx  
      push   di  
      mov   cx,N         ;;N是长度  
      mov     di,offset   file  
      mov   al,   '   '  
  lab;  
      mov   ds:[di],al  
      loop   lab  
      mov   ds:[di],0  
      pop   di    
      pop   cx                  
               
   
   
   
   
   
  Top

8 楼webhua()回复于 2003-01-10 09:15:03 得分 0

不好意思  
  上面的代码在   loop   lab前应该加上inc   diTop

9 楼gzyip(Java)回复于 2003-01-10 09:33:08 得分 0

我试过分析过内存中的数据存放,发现一个字符串的结尾并没有明显的标记啊~~~~  
  那么插入0真的有用???  
  例如:  
  file1   db   5   dup(?)  
  file2   db   5   dup(?)  
  那么,file1和file2在内存中存放的时候是连续存放的,也就是说file2串的头是连着file1的尾的~~~  
  假设我在file1[3]处插入0H,那么按照大家所说,汇编的编译程序就会认为file1的长度从5变成了4,那么这是什么原理呢???Top

10 楼dht96050511(寇仲)回复于 2003-01-10 14:36:08 得分 0

可用C语言对字符串处理的方法,加一个'\0'不就OK啦Top

11 楼xidongs(小妖 妖怪也能编程的,你不知道吗?)回复于 2003-01-10 15:50:16 得分 0

直接写  
  file   db   'demo'  
   
  demo是字符串  
  这样不好吗??  
  你的问题写的不请Top

12 楼ak47xiaoyouak(aa)回复于 2003-01-10 17:07:48 得分 0

goodTop

13 楼hswxf(黄山一刀)回复于 2003-01-10 19:45:43 得分 20

你的FILE是一个数据段性质的代码结构是紧凑的,要在源程序中的DB定义中加长数据段,办法不少但原理一样:  
  找出FILE的位置增加长度后,若是EXE文件则找至文件的数据位改呀!  
  若是COM   文件同上  
  其它不要说了  
  、、、  
   
  Top

相关问题

  • 还是一个简单的问题:送100分 结帖时间8小时
  • 急~~~求C#代码实现一个简单功能~2小时后结贴
  • 急!非技术问题,简单易答。想要申请一个空间,24小时在线等待给分。
  • 简单的查询语句?马上揭帖,急。。。。。。。
  • 急!在线等,解决马上结帖,问题很简单.
  • 狂简单,狂急!!!
  • 简单问题,急!
  • 简单问题,急!!!
  • 简单问题,急!!!!!!
  • 简单问题(急)

关键词

  • 代码
  • 修改
  • ds
  • 数据
  • code
  • 文件
  • db
  • start
  • 字符串
  • 长度

得分解答快速导航

  • 帖主:gzyip
  • prosong
  • hswxf

相关链接

  • CSDN Blog
  • 技术文档
  • 代码下载
  • 第二书店
  • 读书频道

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
惹火投票。。火热进行中...
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
CSDN网站24小时值班电话:13552009689
Copyright © 2000-2009, CSDN.NET, All Rights Reserved
GongshangLogo