鱼C论坛

 找回密码
 立即注册
查看: 4103|回复: 12

[技术交流] 实验5,第⑸题,答案是错的…

[复制链接]
发表于 2011-9-16 01:35:00 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 ☆零℡壹☆ 于 2011-9-16 01:36 编辑
assume cs:code

a segment
db 1,2,3,4,5,6,7,8
a ends

b segment
db 1,2,3,4,5,6,7,8
b ends

d segment
db 0,0,0,0,0,0,0,0
d ends

code segment

start:mov ax,a
mov es,ax
mov ax,d
mov ds,ax
mov bx,0
mov cx,8

s1:mov ax,es:[bx]
add [bx],ax
add bx,2
loop s1

mov ax,b
mov es,ax
mov ds,ax
mov bx,0
mov cx,8

s2:mov ax,es:[bx]
add [bx],ax
add bx,2
loop s2

mov ax,4c00h
int 21h

code ends

end start
这个第5题的答案不对,最后结果是不正确的,少了1句,正确的应该是:
assume cs:code
a segment
        db 1,2,3,4,5,6,7,8
a ends
b segment
        db 1,2,3,4,5,6,7,8
b ends
d segment
        db 0,0,0,0,0,0,0,0
d ends
code segment
  start:mov ax,a
        mov es,ax
        mov ax,d
        mov ds,ax
        mov bx,0
        mov cx,8
     s1:mov ax,es:[bx]
        add [bx],ax
        add bx,2
        loop s1
        mov ax,b
        mov es,ax
        mov ax,d  ;这句应该加上
        mov ds,ax
        mov bx,0
        mov cx,8
     s2:mov ax,es:[bx]
        add [bx],ax
        add bx,2
        loop s2
        mov ax,4c00h
        int 21h
code ends
  end start
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-9-16 10:10:15 | 显示全部楼层
sure..you are right~
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-9-16 12:29:47 | 显示全部楼层
应该是不小行弄错了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-9-16 16:40:42 | 显示全部楼层
楼主 d是哪一段?应该是mov ax,c 吧
另外个人觉得循环4次和8次都是一样的吧
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-9-16 16:50:47 | 显示全部楼层

楼主贴的代码里都没c段。。。。
循环4次or 8次确实都一样
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-9-16 17:01:19 | 显示全部楼层
tsembrace 发表于 2011-9-16 16:50
楼主贴的代码里都没c段。。。。
循环4次or 8次确实都一样

哦,我看的是书上的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2011-9-16 20:51:21 | 显示全部楼层
曲终人散 发表于 2011-9-16 16:40
楼主 d是哪一段?应该是mov ax,c 吧
另外个人觉得循环4次和8次都是一样的吧

我电脑上不能以“C”命名段,不然编译时会提示出错,不知道各位你们的电脑是不是也是这样。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-9-17 20:19:09 | 显示全部楼层
☆零℡壹☆ 发表于 2011-9-16 20:51
我电脑上不能以“C”命名段,不然编译时会提示出错,不知道各位你们的电脑是不是也是这样。

试验了一下确实不可以。莫非C在汇编中另有用处
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-9-17 21:53:10 | 显示全部楼层
本帖最后由 ytrfamli 于 2011-9-17 21:55 编辑
☆零℡壹☆ 发表于 2011-9-16 20:51
我电脑上不能以“C”命名段,不然编译时会提示出错,不知道各位你们的电脑是不是也是这样。


这是masm6版的问题,用masm5就不会.
(我有听说"C"在6版被当作保留字,具体怎麽用就不了解了)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-9-18 00:06:04 | 显示全部楼层
这程序debug过吗 结果正确?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2011-9-18 01:09:59 | 显示全部楼层
enjoybiancheng 发表于 2011-9-18 00:06
这程序debug过吗 结果正确?

第二个结果正确。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-9-18 06:49:10 | 显示全部楼层
我是来刷墙的

                               
登录/注册后可看大图





















                               
登录/注册后可看大图

防辐射服品牌排名
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2011-9-18 16:14:31 | 显示全部楼层
曲终人散 发表于 2011-9-16 16:40
楼主 d是哪一段?应该是mov ax,c 吧
另外个人觉得循环4次和8次都是一样的吧

应该是移动4次吧,8次的话后边的8位数据都一起覆盖了…不严谨了。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-11-19 06:13

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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