```nasm 
;truncar.asm  
 % nome de arquivo truncado macro len=0 
 mov ecx, nome do arquivo; ponteiro para o nome do arquivo 
 mov edx, len;length para limitar o tamanho do arquivo 
 xor eax, eax;abrir somente leitura 
 mov ebx, 0;truncar se existir 
 chame [abrir]; abra o arquivo 
 teste eax, eax;sucesso? 
 jnz @@truncado 
 xor eax, eax;truncar 
 chamar [truncar]; truncar o arquivo 
 teste eax, eax;sucesso? 
 jnz @@truncado 
 @@truncado:
 pop ecx; restaurar ecx antes da macro 
 %endmacro  
 seção .dados 
 nome do arquivo banco de dados 'truncate.txt',0 
 lente dw 5  
 seção .texto 
 assuma cs:código, ds:dados 
 organização 100h  
 truncar nome do arquivo,len  
 mov ah, 4ch;sair do programa 
 int 21h 
 ```