这里写$和$-num为啥不一样啊,$不是表示偏移量吗
我通过运行这句话观察CX得出来的
$在字符串里面表示到这结束吧。你后面应该是要用到num的长度。你给个$,虽然是表示当前偏移量,但是你不能保证num是从0开始的。那啥,可能是编译器的问题。我$和$-num跑出来的结果是一样的。
为什么感觉和我学的单片机的汇编不同
$是当前偏移地址,实地址模式下应该就是当前地址,$-num表示num的长度,这里不一样估计是因为数据段不是从内存0开始放数据吧,我也刚接触汇编语言,一点见解希望没有说错
$是当前偏移地址,equ是宏,相当于字符串替换,所以MOV CX,count这句代码得到的count值是这句代码本身与num之间的便宜量,而不是count与num之间的偏移量,count是宏,不是内存地址定义,是不存在的,你需要这样写
count DW $-num
MOV CX, count
这样CX就能获取到正确的值