永发信息网

汇编语言中,单字变量和双字、三字乃至四字、十字等变量怎么区分?什么情况下用单字什么情况用双字呢?

答案:1  悬赏:30  手机版
解决时间 2021-11-22 19:40
  • 提问者网友:玫瑰园
  • 2021-11-22 10:14
汇编语言中,单字变量和双字、三字乃至四字、十字等变量怎么区分?什么情况下用单字什么情况用双字呢?
最佳答案
  • 五星知识达人网友:春色三分
  • 2021-11-22 10:56
晕,基础没打好,就看代码了。

看数据段的变量定义
db 1个字符

dw 2个字符
dd 4个
df 6个
dq 8个
dt 10个
具体用什么样的数据类型,那得看你程序需要来定了。追问我知道啊,我是说,比如三字变量,每个字符串最多可写6个字符,但是书上的例子那远不止6个字符啊, DD 3F80000R,56DC2301AB00H,这种的,
我是刚开始自学微机原理,谢谢追答DD 3F80000R 这个你确认没打错?
DD是4个字节,3F, 80, 00, 0B (这个不是R吧,可能是B),正好是4个字节。

56 DC 23 01 AB 00 H 是6个字节,应该是df类型的变量,没问题啊?
你不会是把56这个字节看成是5,6两个字节了吧。追问额,少了一个0,两个字符算一个字节,这样划分的啊。
书上说每个数值最多占X个字节,我没理解好意思,谢谢你啊!
还有 qVarA DQ 1,-1,1.2,1.0,‘A’ 这种是什么意思?字符串可以少于8个字符吗?那为什么不用单字或者双字变量呢?追答qVarA DQ 1,-1,1.2,1.0,‘A’

意思是:qVarA为变量名称,DQ是数据类型,DQ这个类型8个字节,
1,-1,1.2,1.0,‘A’ 这5个数,每个数占一个DQ类型的长度,即:
1占了8个字节,-1占了8个字节,1.2,1.0,'A'都是分别占了8个字节。
'A'的意思是取A这个字符的ASCII码值,即16进制的41。换成10进制整数,就是65

这个定义并不是字符串的意思,而是整数。
汇编里面,只有db可以当成字符理解,其它的,都理解成整数(浮点数除外)

那为什么不用单字或者双字变量呢?

还是那句话,看编程的需要。追问太感谢了,好人一生平安!
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯