``` nasm
;truncate.asm
%macro trunkera filnamn len=0
mov ecx, filnamn;pekare till filnamn
mov edx, len;längd för att begränsa filstorleken
xor eax, eax;öppen skrivskyddad
mov ebx, 0;trunkera om det finns
ring [öppna];öppna filen
testa eax, eax;framgång?
jnz @@truncated
xor eax, eax;trunkera
ring [truncate]; trunkera filen
testa eax, eax;framgång?
jnz @@truncated
@@avkortat:
pop ecx;återställ ecx före makro
%endmacro
avsnitt .data
filnamn db 'truncate.txt',0
len dw 5
avsnitt .text
anta cs:kod, ds:data
org 100h
trunkera filnamn,len
mov ah, 4ch;avsluta programmet
int 21h
```