汇编语言 TYPE ,LENGTHOF,SIZEOF运算符

您所在的位置:网站首页 汇编中DB的用法 汇编语言 TYPE ,LENGTHOF,SIZEOF运算符

汇编语言 TYPE ,LENGTHOF,SIZEOF运算符

2023-07-17 08:53| 来源: 网络整理| 查看: 265

(一)TYPE运算符

        TYPE运算符返回变量的当个元素的大小,这个大小是以字节为单位计算的。比如,TYPE为字节,返回值位1;TYPE为字,返回值是2;TYPE为双字,返回值为4;TYPE为四字,返回值为8.示例如下:

.data var1 BYTE ? ;TYPE=1 var2 WORD ? ;TYPE=2 var3 DWORD ? ;TYPE=4 var4 QWORD ? ;TYPE=8

(二)LENGTHOF运算符

       LENGTHOF运算符计算数组中元素的个数,元素个数是由数组标号同一行出现的数值来定义的。示例如下:

.data byte1 BYTE 10,20,30 ;3 array1 WORD 30 dup(?),0,0 ;30+2 array2 WORD 5 dup(3 dup(?)) ;5*3 array3 DWORD 1,2,3,4 ;4 digitStr BYTE "12345678",0 ;9

如果数组中出现了嵌套的DUP运算符,那么LENGTHOF运算符返回的是两个数值的乘积。上面的注释写了LENGTHOF运算符运算以上变量的结果。

      若果数组定义占据了多个程序行,那么LENGTHOF只针对第一行定义的数据。比如一下数据,LENGTHOF的返回值为5

myArray BYTE 10,20,30,40,50, 60,70,80,90,100

(三)SIZEOF运算符

        SIZEOF运算符返回值等于LENGTHOF与TYPE返回值的乘积。如下例所示,intArray数组的TYPE=2,LENGTHOF=32,因此,SIZEOF intArray=64:

.data intArray WORD 32 DUP(0) .code mov eax,SIZEOF intArray ;EAX=64

好了今天的汇编语言分享就到这里了,喜欢博主的伙伴们记得关注我哦!!!



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3