汇编-计算数组和字符串的大小
计算数组或字符串占用的字节数
声明数组大小更好的方法是,让汇编器来计算这个值。$操作符(当前位置计数器)返回当前程序语句的偏移量。在下例中, 从当前位置计数器($) 中减去list的偏移量, 就得到
.386 .model flat,stdcall option casemap:none .data list BYTE 10,20,30,40 ListSize DWORD ($-list) myString BYTE "This is a long string,containing" ListSize1 DWORD ($-myString) ExitProcess PROTO,dwExitCode:DWORD .code main PROC mov eax,ListSize mov ebx,ListSize1 INVOKE ExitProcess,0 main ENDP END main
数组元素个数
.386 .model flat,stdcall option casemap:none .data list WORD 1000h, 2000h, 3000h, 4000h ,5000h ListSize DWORD ($-list) / 2 ;数组元素个数=总字节数/每个元素字节数 ExitProcess PROTO,dwExitCode:DWORD .code main PROC mov eax,ListSize INVOKE ExitProcess,0 main ENDP END main