标题:简单问题,求详解、、谢谢拉
只看楼主
矿泉水的甜
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
来 自:红土地
等 级:贵宾
威 望:396
帖 子:11713
专家分:43267
注 册:2006-5-13
得分:3 
这是定义存储数据的内存空间。这些语句通常是放在程序的开头,当然也可以放在程序的尾部,还可以放在程序的任意位置。

活到老,学到老! http://www. 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
来 自:红土地
等 级:贵宾
威 望:396
帖 子:11713
专家分:43267
注 册:2006-5-13
得分:0 
以下是引用矿泉水的甜在2013-6-21 18:24:17的发言:

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

活到老,学到老! http://www. 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



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-415649-1-1.html




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

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