CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  其他开发语言 >  汇编语言

汇编问题,高手请进,散分100,给出示例代码者100分全给!!!

楼主zxr56066909(zxr56066909)2005-01-02 18:50:43 在 其他开发语言 / 汇编语言 提问

在扬季文的《80x86汇编语言程序设计教程》第335页有一句话:"重复前缀REP、  
  REPZ/REPE和REPNZ/REPNE,在仍采用16位地址偏移指针的情况下以CX作为重复计数器,在采用32位地址偏移的扩展情况下以ECX作为重复计数器"  
   
  这句话中提到的"32位地址偏移的扩展情况"(这在书中其它地方也常见到)具体是指什么,哪位前辈可以用代码举例吗?我想看看"REP   MOVSD"在这两种情况(16/32)下编译出来的机器代码有什么区别?!  
   
  我希望前辈能给出两个程序,两个都调用"REP   MOVSD"指令,但编译出来以后其机器代码不同:  
  例如:  
  1.  
   
  .386  
  CSEG   SEGMENT   USE16  
  ASSUME     CS:CSEG  
  START:  
  MOV   ECX,   3  
  LABEL1:  
  LOOPD   LABEL1  
  CSEG   ENDS  
  END   START  
   
  2.  
   
   
  .386  
  CSEG   SEGMENT   USE32  
  ASSUME     CS:CSEG  
  START:  
  MOV   ECX,   3  
  LABEL1:  
  LOOPD   LABEL1  
  CSEG   ENDS  
  END   START  
   
  请注意上面两个例子的区别:一个用"USE16",一个用"USE32"  
  分别编译后"LOOPD"那一行就会得到不同的机器指令 问题点数:0、回复次数:4Top

1 楼iceheart(冷酷的心)回复于 2005-01-02 20:42:37 得分 0

把MOV   ECX,   3改成:  
  MOV   ECX,   10003H  
  就有区别了Top

2 楼zxr56066909(zxr56066909)回复于 2005-01-02 20:54:37 得分 0

"把MOV   ECX,   3改成:  
  MOV   ECX,   10003H  
  就有区别了"  
  老大,我问的不是这个  
  Top

3 楼W32API()回复于 2005-01-03 08:54:15 得分 0

贴出编译后的二进制代码Top

4 楼tengjian1981(新的一年又来到)回复于 2005-01-04 17:28:05 得分 0

upTop

相关问题

  • softice里的汇编代码
  • 求BIOS汇编源代码
  • 请问vc怎么把.exe反汇编成汇编代码?
  • VC++中怎样加入汇编代码?
  • Dispatch的汇编代码如何理解?
  • 谁有jpg算法的汇编代码
  • tc++中的汇编代码改写为vc汇编代码时遇到问题。
  • 大虾,怎样生成汇编代码?以及怎样编译汇编代码?
  • 如何在VC中看CPP代码生成的汇编代码
  • 如何在VC中看CPP代码生成的汇编代码

关键词

  • 代码
  • 编译
  • loopd
  • cseg
  • 重复
  • 区别
  • mov ecx
  • 机器
  • label1
  • rep

得分解答快速导航

  • 帖主:zxr56066909

相关链接

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

广告也精彩

反馈

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