汇编-计算数组和字符串的大小

 

计算数组或字符串占用的字节数

声明数组大小更好的方法是,让汇编器来计算这个值。$操作符(当前位置计数器)返回当前程序语句的偏移量。在下例中, 从当前位置计数器($) 中减去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  

 

 

 

 

 

 

 

 

 

 

posted @ 2023-11-08 04:53  天子骄龙  阅读(95)  评论(0)    收藏  举报