```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
```