汇编语言中,size什么意思?

例如 X1 DB 32H,33H,10H DUP(1AH),?
MOV AL SIZE X1

为什么AL为1?

size 相当于TYPE与LENGTH的乘积,X1的类型为BYTE返回值1,LENGTH对DUP时返回返回值也是1,所以SIZE值为1。

size是:取变量数据项长度算符。

SIZE算符,汇编程序将回送分配给该变量的字节数,即

SIZE=LENGTH TYPE

例如:

ARRAY DW 50 DUP(0) 则

SIZE ARRAY=50 2=100

要注意:对字符串变量求其长度,使用SIZE不能达到目的。

例如:

ST DB ’ABCDEFG’ 则

SIZE ST值为1而不是7,欲求字符串长可用COUNT EQU $-ST,则COUNT值为7,其中$为定义ST一串字符后下一个可用的偏移地址。

扩展资料:

语法

sizeof有两种语法形式,如下:

一、sizeof(type_name);//sizeof(类型);

二、sizeof object;//sizeof对象;

例子

int i;

sizeof(i);//ok

sizeof i;//ok

sizeof(int);//ok

sizeof int;//error

sizeof计算对象的大小也是转换成对对象类型的计算,也就是说,同种类型的不同对象其sizeof值都是一致的。sizeof对一个表达式求值,编译器根据表达式的最终结果类型来确定大小,一般不会对表达式进行计算。

参考资料来源:百度百科-sizeof

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2018-02-13
size是:取变量数据项长度算符
SIZE算符,汇编程序将回送分配给该变量的字节数,即
SIZE=LENGTH TYPE
例如:
ARRAY DW 50 DUP(0) 则
SIZE ARRAY=50 2=100
要注意:对字符串变量求其长度,使用SIZE不能达到目的.
例如:
ST DB ’ABCDEFG’ 则
SIZE ST值为1而不是7,欲求字符串长可用COUNT EQU $-ST,则COUNT值为7,其中$为定义ST一串字符后下一个可用的偏移地址.本回答被网友采纳
第2个回答  推荐于2017-11-25
size 相当于TYPE与LENGTH的乘积,X1的类型为BYTE返回值1,LENGTH对DUP时返回返回值也是1,所以SIZE值为1追问

size返回的是一个变量占用的总的存储单元的大小,如果是1,难道33H,分配的10H个空间放在哪里啊?

追答

只是返回一个结果,不是所定义变量里面的某一个具体的值,利用DUP所分配的10个字节还是在数据段X1这个变量所指示的位置里

本回答被提问者采纳
第3个回答  2015-10-13
一般指的是 容量的尺寸或大小,一般以字节或位为基本单位

例如:ROM size就是说程序存储器的容量大小,从1K到几千K 的ROM都有 等等
第4个回答  2016-01-11
size 相当于TYPE与LENGTH的乘积

类似于c语言里的sizeof
相似回答