;
; Build: jwasm/hjwasm/asmc -pe test.asm
;
.x64
.model flat, fastcall
option win64:7
option stackbase:RBP
option dllimport:<msvcrt>
printf proto :ptr byte, :vararg
exit proto :qword
option dllimport:none
.data
format db "l1: %d",10
db "l2: %d",10
db "l3: %d",10
db "l4: %d",10
db "l5: %d",10,0
.code
Alignment proc uses rsi rdi rbx
local l1 : byte
local l2 : xmmword
local l3 : byte
local l4 : ymmword
local l5 : byte
GetAlig macro reg, l
lea reg,l
bsf rcx,reg
mov reg,1
shl reg,cl
endm
GetAlig rsi,l1
GetAlig r8, l2
GetAlig r9, l3
GetAlig r10,l4
GetAlig r11,l5
invoke printf, addr format, rsi, r8, r9, r10, r11
ret
Alignment endp
main proc
invoke Alignment
invoke exit,0
main endp
end main
Using win64:7, stackbase:rbp
l1: 1
l2: 16
l3: 1
l4: 64
l5: 1
Win64:11, stackbase:rsp
l1: 16
l2: 64
l3: 16
l4: 16
l5: 16