简单的数组访问

.386
.model flat,stdcall

include msvcrt.inc
includelib msvcrt.lib
.code
start:
      jmp @F
 szFmt  db  '%d',0dh,0ah,0
 
      val dd 11
         dd 22
         dd 33,44,55

 valsum equ ($-val)/(sizeof dword)
 vallen equ lengthof  val

  valt dd 2 dup(23,34,45)
 

      @@:
 invoke crt_printf,addr szFmt,val
 invoke crt_printf,addr szFmt,val[0]
 invoke crt_printf,addr szFmt,val[4*1]
 invoke crt_printf,addr szFmt,val[4*2]
 invoke crt_printf,addr szFmt,val[4*3]
 invoke crt_printf,addr szFmt,val[4*4]

 

 invoke crt_printf,addr szFmt,valsum
 invoke crt_printf,addr szFmt,vallen

 

 invoke crt_printf,addr szFmt,valt
 invoke crt_printf,addr szFmt,valt[4*1]
 invoke crt_printf,addr szFmt,valt+8
 invoke crt_printf,addr szFmt,valt[4*3]
 invoke crt_printf,addr szFmt,valt[4*4]
 invoke crt_printf,addr szFmt,valt+20


 ret
end start

 

;/////////////编译成一KB的文件

;////ml /c /coff  add.asm
;////link /SUBSYSTEM:console /MERGE:.rdata=.text add.obj > nul

你可能感兴趣的:(简单的数组访问)