ещё можно использовать rb, rw, rd, что намного прлезнее, т.к. если написать ,например, rb 1000h в конце секции данных, то размер файла не увеличивается. times это макрокоманда повторения.
rb 1000h можно написать и до всех секций, в файле их не будет, но они попадут в заполненную нулями секцию неинициализированных данных - это будет аналогом db 20 dup(?) в секции .data? Но rb не подойдет чтобы сделать аналог для инициализированных данных - db 20 dup(' ')
Просто для общего развития, поясните, где можно использовать 1000h пробелов? Я обычно выделяю память для хранения каких-то данных и мне пофик чем память изначально инициализирована. Может я чего-то не знаю?
Да где угодно, для вывода каких-то данных, ведь может быть лучше прописать пробелы в форме отчета сразу, чем потом программно их туда добавлять, а мне, например, когда-то понадобилось больше 8000h nop'ов
Например в этой программе Код (Text): ;=========================================================== format PE GUI 4.0 at 793A0000h ; imagebase kernel32.dll ;=========================================================== times 8000h nop ; can be various too ;=========================================================== start: mov eax,[fs:18h] mov eax,[eax+30h] mov dword [eax+2Ch],@F-128h push 24h push 0 mov eax,1139h lea edx,[esp] int 2Eh @@: dd $-start+start+4 mov ebx,5 @@: mov ecx,0FFFFFFh m1: loop m1 push 24h push 0 mov eax,1139h lea edx,[esp] int 2Eh dec ebx jnz @B ;===========================================================