原来还可以这样来给一个整数赋值.int a = 'ab'; a = 97 * 256 + 98 = 24930
- Assembly code
;学汇编时看到;DATA1 DW 'AB' 跟 DATA2 DB 'AB' DATAS SEGMENT DATA1 DW 'AB' DATA2 DB 'AB'DATAS ENDS;发现DW 'AB'在内存中的存放是BA , B在低地址,A在高地址 ;而DB 'AB'在内存中的存放顺序是AB;对于DW 'AB'我是这样理解的,不知道正确不。;DW 'AB' 'AB'相当于一个字,A是高8位,B是低8位,故存放在内存时B在低地址,A在高地址。
- C/C++ code
/*用C语言写了个程序验证了下我的想法*/#include<stdio.h>int main(){ int a = 'ab'; 97 * 256 + 98 = 24930 printf("%d\n", a); //输出24930 return 0;}
[解决办法]
恩。学过汇编就是好。
[解决办法]
学汇编就是有一点好处 不懂了就会变一下
[解决办法]
《IBP-PC汇编语言》 这本书哪有卖?
[解决办法]
小端对齐...
[解决办法]
又验证了赵老师说的话
[解决办法]
我也准备要学一下汇编.
[解决办法]
所以C是很不安全的弱类型语言呢,各种无检查和隐式转换。
不过字节序和具体的机器有关,Intel是little endian,PowerPC等是big endian。
[解决办法]
这个程序有误啊。。。
[解决办法]
学习了。
看似汇编很有用啊。