Il linguaggio piu’ vicino all’hardware e’ l’assembler: ogni codice
operativo viene mappato in una istruzione che ha un senso in
linguaggio umano:
.................... if (i==0) output_low(PIN_C0); else output_high(PIN_C0);
006C:  MOVF   21,F
006D:  BTFSS  03,2
006E:  GOTO   076
006F:  BCF    20,0
0070:  MOVF   20,W
0071:  BSF    03,5
0072:  MOVWF  07
0073:  BCF    03,5
0074:  BCF    07,0
0075:  GOTO   07C
0076:  BCF    20,0
0077:  MOVF   20,W
0078:  BSF    03,5
0079:  MOVWF  07
007A:  BCF    03,5
007B:  BSF    07,0
La programmazione in assembler puo’ essere molto compatta,
ma anche molto lunga e complicata.