Per rendere il programma più chiaro , provo a commentarlo descrivendo cosa fa !
esisteva un errore V8=V8-V7 (diminuisce v8 ) deve essere V8=V8+V7 (diminuisce v8 )
ESEMPIO V8=(2)+(-20 )= -18 ---- V8=(2)-(-20 )=22 PROVARE CON CALCOLATRICE
O1
V5=2 (PUNTO DI ATTACCO -> INIZIO FORO )
V6=-105 (PUNTO FINALE )
V7=-20 (MATERIALE ASPORTATO INDICARE CON SEGNO MENO -)
V8=0 (USO INTERNO ALLA MACRO )
V8=V5 (v8 è uguale a inizio foro )
N10 G0 Z=V8 (ARRIVA IN RAPITO A V8 )
V8=V8+V7 (diminuisce v8 )
(===================================)
IF[V8 LE V6 ] GOTO N100 (LIMITA IL FORO A V6 , SE V8 è MINORE DI FINE FORO ES: -110<-105 ,ALLORA V8 UGUALE A FINE FORO )
GOTO N110 (NORMALMENTE SALTA LA RIGA N100 , CHE VIENE ESEGUITA SOLO SE IF è VERO )
N100 V8=V6
(====================================)
N110 G1 Z=V8 F.1 (ESEGUE LA FORATURA )
G0 Z=V5 (SI RIPORTA A INIZIO FORO )
(====================================)
IF[V8 LE -70 ] GOTO N120 (SE V8 LA PROFONDITA' DEL FORO è MINORE O UGUALE A -70 , TOGLIERA' A V8 NON -20 MM MA -5 MM )
GOTO N125 (NORMALMENTE SALTA LA RIGA N120 , CHE VIENE ESEGUITA SOLO SE IF è VERO )
N120 V7=-5
(===================================================)
N125 IF[V8 LE -90 ] GOTO N130 (SE V8 LA PROFONDITA' DEL FORO è MINORE O UGUALE A -90 , TOGLIERA' A V8 NON -5 MM MA -2 )
GOTO N135 (NORMALMENTE SALTA LA RIGA N130 , CHE VIENE ESEGUITA SOLO SE IF è VERO )
N130 V7=-2
(======================================================)
N135 GO Z=V5 (SI POSIZIONA A INIZIO FORO )
IF[V8 GT V6 ] GOTO N10 (SE V8 NON è ARRIVATO ANCORA A FINE FORO -105 IN QUESTO CASO RIPETE )
RTS
_____________________________________________________________________________________
P.S. visto che in passato mi sbagliavo anche io

e non capivo , vorrei chiarire questo .
vorrei precisare , di immaginare gli assi cartesiani , -1 è minore di 1 , -20 è minore di -10 cosi -75 è minore di -70 ecc ...