鱼C论坛

 找回密码
 立即注册
查看: 3215|回复: 10

[技术交流] 检验作业!实验7 P172 帮我看看对吗?

[复制链接]
发表于 2011-9-28 14:11:34 | 显示全部楼层 |阅读模式

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

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

x
assume cs:code
data segment
db '1975','1976','1977','1978','1979','1980','1981','1982','1983'
db '1984','1985','1986','1987','1988','1989','1990','1991','1992'
db '1993','1994','1995'                                                 ;定义21个字符串,每个字符串占用4字0-53h
dd 16,22,382,1356,2390,8000,16000,24486,50065,97479,140417,197514      
dd 345980,590827,803530,1183000,1843000,2759000,3753000,4649000,5937000 ;定义21个DWword双字数据 54-A7H
dw 3,7,9,13,28,38,130,220,476,778,1001,1442,2258,2793,4037,5635,8226
dw 11542,14430,15257,17800                                               ;定义21个word字型数据 A8-D1
data ends
table segment
      db 21 dup ('year summ ne ?? ')                                      ;定义21个 16字节数据 21组
table ends
code segment
start:mov ax,data
      mov ds,ax
   mov ax,table
   mov es,ax
   sub di,di
      sub si,si
   sub bx,bx
   sub bp,bp
   mov cx,21
s:
   mov ax,ds:[0+si]
   mov es:[bx+0],ax
   mov ax,ds:[si+2]
   mov es:[bx].2,ax
   
   mov ax,ds:[bp].168
   mov es:[bx].10,ax
  
   mov ax,ds:[54h+di]
   mov es:[5+bx],ax
   mov dx,ds:56h[di]
   mov es:7[bx],dx
      div word ptr es:[bx].10
   mov es:13[bx],ax
   
   add bx,16
   add si,4
   add di,4
   add bp,2
   loop s
  
   mov ax,4c00h
   int 21h

   
code ends
end start
   
   
   
   
   
   
   
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2011-9-28 14:17:02 | 显示全部楼层
以上应该是正确代码!
mov ax,ds:[bp].168  我把BP改成DI 为什么不行?
mov es:[bx].10,ax
我知道错误,但是为什么不对呢?
上面程序把以下两条去掉
add bp,2
sub bp,bp


想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-9-28 17:07:50 | 显示全部楼层
第二个 mob es:[es].10,ax 这里面的数字10代表什么??
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2011-9-28 17:59:01 | 显示全部楼层
本帖最后由 关键是感觉 于 2011-9-28 17:59 编辑

没人啊!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2011-9-28 17:59:42 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-9-28 18:01:16 | 显示全部楼层

每行是16个,这个跟内存里分配的是一样的,这样看的更清晰
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2011-9-28 18:03:59 | 显示全部楼层
seuer126 发表于 2011-9-28 18:01
每行是16个,这个跟内存里分配的是一样的,这样看的更清晰

帮我分析下
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-9-28 18:07:08 | 显示全部楼层
你先自己仔细思考,这个题目对我们初学者的确有点难。 我明天给你参考答案。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2011-9-28 18:12:27 | 显示全部楼层
seuer126 发表于 2011-9-28 18:07
你先自己仔细思考,这个题目对我们初学者的确有点难。 我明天给你参考答案。

一定哦!
{:5_92:}{:5_92:}{:5_92:}{:5_92:}{:5_92:}{:5_92:}          {:5_92:}{:5_92:}{:5_92:}{:5_92:}{:5_92:}{:5_92:}{:5_92:}{:5_92:}{:5_92:}{:5_92:}{:5_92:}{:5_92:}{:5_92:}{:5_92:}{:5_92:}{:5_92:}{:5_92:}               {:5_92:}{:5_92:}{:5_92:}{:5_92:}{:5_92:}{:5_92:}{:5_92:}{:5_92:}{:5_92:}{:5_92:}{:5_92:}{:5_92:}{:5_92:}            {:5_92:}              {:5_92:}{:5_92:}{:5_92:}{:5_92:}{:5_92:}{:5_92:}{:5_92:}{:5_92:}{:5_92:}{:5_92:}{:5_92:}{:5_92:}{:5_92:}  {:5_92:}             {:5_92:}                              {:5_92:}{:5_92:}{:5_92:}{:5_92:}{:5_92:}{:5_92:}{:5_92:}{:5_92:}{:5_92:}{:5_92:}{:5_92:}{:5_92:}{:5_92:}{:5_92:}{:5_92:}{:5_92:}{:5_92:}{:5_92:}{:5_92:}{:5_92:}{:5_92:}{:5_92:}{:5_92:}{:5_92:}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-9-28 18:14:22 | 显示全部楼层
你把BP换成DI的话就和下面的DI冲突了,程序里如果不是对栈操作的话最好不要用BP,这个习惯不好,特别是在32位汇编中BP是要用来在程序的参数传递中取参数和局部变量的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2011-9-28 18:50:47 | 显示全部楼层
topcookie 发表于 2011-9-28 18:14
你把BP换成DI的话就和下面的DI冲突了,程序里如果不是对栈操作的话最好不要用BP,这个习惯不好,特别是在32 ...

我把BP换成DI 没改变DI的值啊。
DI.[0]
DI.[2]
都是常数改变,DI还是=0

虽然后面锁定数据错误,但是我觉得程序应该正常的!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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