汇编语言中有如下定义:DATA DW 0204H,1000H;这个变量为什么没有“溢出”

DW定义的为字变量,2个字节16位存储,如果不考虑正负,8个字节能表示的最大16进制数是FF,而这个变量DATA赋值为0204H,1000H,显然不是16位可以存储的,为... DW定义的为字变量,2个字节16位存储,如果不考虑正负,8个字节能表示的最大16进制数是FF,而这个变量DATA赋值为0204H,1000H,显然不是16位可以存储的,为什么一个变量DATA,可以付给2个值?这难道是数组吗?如果我没说清的话,就请帮我解释DATA DW 0204H,1000H是什么意思?怎么存储的吧?谢谢了 展开
 我来答
283802332
推荐于2016-06-01 · TA获得超过3309个赞
知道小有建树答主
回答量:367
采纳率:0%
帮助的人:171万
展开全部
  • 首先 DW 的含义是定义字型数据.DW 即 "Define Word"。

  • 在这里,使用DW定义了8个字型数据(数据之间用逗号分隔),它们所占的内存空间的大小为16个字节

  • 而DATA DW 0204H,1000H这条语句的含义并不是为DATA赋一个值,而是定义一段以字型为单位的内存空间

  例如

  DATA DW 1,2,3,4,5,6,7,8

       我们定义了一个具有8个字型数据的内存空间

 

  而8个字型数据在内存空间中的存储情况是这样的   

       DS:DATA 01 00 02 00 03 00 04 00 05 00 06 00 07 00 08 00

  • 而DATA我们可以理解它就是一个指针,如果它在DW前面的话,那么我们就可以理解为DATA就指向DW所定义出来的内存空间

     

  • 例如   

    我们先定义DATA DW 1,2,3,4,5,6,7,8

  mov ax,data

  mov ds,ax

  mov bx,DATA    ;将DATA所指向的内存空间的首地址给bx

  mov ax,[bx]        ;将DS:DATA内存空间的字型数据给ax

       执行完后,ax = 0001H

 

 

  PS:若有不明白的地方,可以追问

 

来自:求助得到的回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式