| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 814 人关注过本帖
标题:简单问题,求详解、、谢谢拉
只看楼主 加入收藏
矿泉水的甜
Rank: 2
等 级:论坛游民
帖 子:34
专家分:13
注 册:2013-3-11
结帖率:50%
收藏
已结贴  问题点数:5 回复次数:5 
简单问题,求详解、、谢谢拉
DATA SEGMENT 'DATA'
Y DW 0
DATA ENDS
CSEG SEGMENT 'CODE'
ASSUME CS:CSEG,DS:DATA,SS:DATA
START:  MOV AX,DATA
MOV DS,AX
MOV SI,6
MOV AX,3     ;(AX)=X=3
MUL SI       ;(AX)=6X
ADD AX,5     ;(AX)=6X+5
MOV DI,3     ;(DI)=3
MUL DI       ;(AX)=(6X+5)X
ADD AX,2     ;(AX)=(6X+5)X+2
MUL DI       ;(AX)=((6X+5)X+2)X
ADD AX,7     ;(AX)=((6X+5)X+2)X+7
MUL DI       ;(AX)=(((6X+5)X+2)X+7)X
ADD AX,8     ;(AX)=(((6X+5)X+2)X+7)X+8
MOV Y,AX     ;Y=(AX)
MOV AH,4CH
INT 21H
CSEG  ENDS
END START


问下前面四行都是什么意思啊?NAME SXCX.ASM
DATA SEGMENT STACK 'STACK'
STA DW 100 DUP(?)
DATA ENDS
是不是没哥程序开始都是这么四行啊?还是针对这个程序的?求详解,
2013-06-20 17:19
hu9jj
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:红土地
等 级:贵宾
威 望:400
帖 子:11774
专家分:43421
注 册:2006-5-13
收藏
得分:3 
这是定义存储数据的内存空间。这些语句通常是放在程序的开头,当然也可以放在程序的尾部,还可以放在程序的任意位置。

活到老,学到老!http://www.(该域名已经被ISP盗卖了)E-mail:hu-jj@
2013-06-20 22:42
矿泉水的甜
Rank: 2
等 级:论坛游民
帖 子:34
专家分:13
注 册:2013-3-11
收藏
得分:0 
回复 2楼 hu9jj
是每个程序都必须有的吗?它改怎样根据不同的条件不同定义啊?
2013-06-21 18:24
hu9jj
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:红土地
等 级:贵宾
威 望:400
帖 子:11774
专家分:43421
注 册:2006-5-13
收藏
得分:0 
以下是引用矿泉水的甜在2013-6-21 18:24:17的发言:

是每个程序都必须有的吗?它改怎样根据不同的条件不同定义啊?
通常每个程序都会有存放固定内容和变量的内存空间,所以绝大部分程序都会有的。

活到老,学到老!http://www.(该域名已经被ISP盗卖了)E-mail:hu-jj@
2013-06-21 22:08
hjxlj
Rank: 10Rank: 10Rank: 10
来 自:江西
等 级:贵宾
威 望:14
帖 子:292
专家分:1519
注 册:2013-6-25
收藏
得分:3 
回复 楼主 矿泉水的甜
这四行属于伪指令,换句话说,这四行不是由CPU而是由编译器执行的,其作用是在程序编译时,预先为程序需要使用的内存分配好空间。正因为这些代码只是在编译时为程序预先分配好内存空间,所以是不是每个程序都需要这部分代码,就要看你的程序具体功能而定了。如果你的程序并不需要预先分配好内存空间,则可以不需要这些代码。因为除了在编译时预先分配内存空间外,还可以在程序运行时动态分配内存空间。这要看具体应用而定,没有固定的规则。

本人QQ:775420425
2013-06-26 15:56
快速回复:简单问题,求详解、、谢谢拉
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017223 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved