鱼C论坛

 找回密码
 立即注册
查看: 4397|回复: 11

实验4 第三题的疑问 。。

[复制链接]
发表于 2011-3-4 21:10:29 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 loop 于 2011-5-17 06:52 编辑

{:3_44:}
  1. assume cs:code

  2. code segment

  3.      mov ax,code  ;code为所填写的数据

  4.      mov ds,ax

  5.      mov ax,0020h

  6.      mov es,ax



  7.      mov bx,0

  8.      mov cx,18h   ;18h为所填写的数据

  9. s:   mov al,[bx]

  10.      mov es:[bx],al

  11.      inc bx

  12.      loop s



  13.      mov ax,4c00h

  14.      int 21h

  15. code ends

  16. end
复制代码
本文来自:鱼C工作室<a href=http://www.fishc.com>  详细出处参考:http://www.fishc.com/a/kehouti/_huibianyuyan_/828.html

这个是小甲鱼老师的解答。。
我自己的解答是。。
第一空填的是CS
然后用DEBUG后出来的CS:是1C,,也就是说。。第二空应该填的是17H..
不知道我想的是哪个地方错了。。
求指教。。

点评

代码请用[code] [/code]扩起来,方便复制和阅读。  发表于 2011-4-29 22:46
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-3-4 22:45:39 | 显示全部楼层
这题,填code和cs都对。但是填cs编译器会有个提示。但是不影响正确结果。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2011-3-5 10:27:01 | 显示全部楼层
回复 2# china0008


    但是如果用CS的话。。第二空我得出来的答案好像是17H哩。。
   而如果用CODE的话。。会得到18H。。
   不懂得里面的差别哎。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-3-6 12:49:27 | 显示全部楼层
mov ax, cs 这条代码的长度为2
mov ax, code 这条代码的长度是3
所以对应后面就有17h和18h了
debug 时u指令可以看到代码的长度

评分

参与人数 1鱼币 +1 收起 理由
loop + 1 欢迎交流讨论,鱼C有你更精彩~

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-4-29 22:31:08 | 显示全部楼层
回复 china0008 的帖子

请问这一题中,mov ax,code、、这一句是什么意思???
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-4-30 19:03:39 | 显示全部楼层

     mov ax,code  ;把代码段地址传送到ax中
   mov ds,ax      ;把代码段的地址传给数据段
也就是让数据段和代码段处于同一段

评分

参与人数 1荣誉 +2 收起 理由
loop + 2 乐于助人~

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-5-1 21:17:45 | 显示全部楼层
回复 winddyj 的帖子

呵呵、、谢谢;额啊、、
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-5-2 13:36:34 | 显示全部楼层
其实PUSH CX  POP DS 是最好的。。。我们又不是为了考试而来:P
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-5-11 09:38:01 | 显示全部楼层
回复 木吉他 的帖子

为什么mov ax,cs占两个字节,而mov ax,code占三个字节,这个空格为什么可以填cs?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-5-16 22:19:17 | 显示全部楼层
本帖最后由 sunhopp 于 2011-5-16 22:19 编辑

回复 小乌龟 的帖子

问题1、你可以用Debug 单步看一下!

  1. assume cs:code


  2. code segment
  3.                 mov ax,cs
  4.                 mov ax,code
  5.          
  6.            
  7.         mov ax,4c00h
  8.         int 21h
  9.            
  10. code ends
  11. end  
复制代码
0B5C:0000 8CC8            MOV     AX,CS
0B5C:0002 B85C0B        MOV     AX,0B5C;code转为地址,占了2个字节
0B5C:0005 B8004C        MOV     AX,4C00
0B5C:0008 CD21            INT     21

问题2
assume cs:code
这时系统分配的 cs地址与code地址相同的!所以填CS和code都可以的

评分

参与人数 1荣誉 +2 收起 理由
loop + 2 乐于助人~鱼C有你更精彩~

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-5-16 22:32:18 | 显示全部楼层
回复 sunhopp 的帖子

明白了 感谢:handshake
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-5-16 22:34:15 | 显示全部楼层
回复 小乌龟 的帖子

:handshake 互相帮助嘛!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-4-27 05:55

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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