Code: Select all
mov ecx, eax
shr ecx, 16
add ecx, 216
Code: Select all
shr eax, 16
lea ecx, [eax+216]
Code: Select all
mov ecx, eax
shr ecx, 16
add ecx, 216
Code: Select all
shr eax, 16
lea ecx, [eax+216]
Code: Select all
macro min_window
{
mov eax,18
mov ebx,10
mcall
}
Code: Select all
ORG 0
BITS 32
MENUET01 db 'MENUET01'
version dd 1
program.start dd start_
program.end dd end_
program.memory dd end_ + 256
program.stack dd end_ + 256
program.params dd 0
program.path dd 0
start_:
mov eax, 18
mov ebx, 10
int 64
or eax, -1
int 64
end_:
Code: Select all
label:
cmp [params], 0
jz label
params db 0
Code: Select all
align 4
params: ; db 4096 dup(0)
rb 4096
Code: Select all
; if called from command line, then exit
cmp [params],byte 0
Code: Select all
cmp [params],0
Code: Select all
;cmp [params],byte 0
mov esi,params
cmp dword[esi],0
Code: Select all
params:
rb 4096
...
cmp byte[params],0
Code: Select all
params rb 4096
...
cmp [params],0
Code: Select all
struct path_string {
char Item[4096];
};
path_string history_list[40];
Но ведь это и есть размер history_list в байтах. SizeOf его и возвращает.Leency wrote:sizeof(history_list) возвращает не 40, а 40*4096...
Code: Select all
sizeof(history_list)/sizeof(*history_list)
Code: Select all
#define ARRAY_SIZE(array) ((sizeof(array) / sizeof(array[0])))
Users browsing this forum: No registered users and 1 guest