Tutorials - PIC

 

MPASM


Uso di MPASM da linea di comando

MPASM è essenzialmente un programma DOS e può lavorare anche a seguito di una riga di comando  con lo stesso risultato. Nel mondo di Windows parrebbe che l' uso delle linee di comando sia un avanzo inutile del passato. In pratica, però, possono esserci situazioni in cui la praticità della linea di comando è imbattibile come efficienza e velocità di esecuzione.

La linea di comando di MPASM si compone di vari campi ed ha una forma come quella esemplificata qui sotto :

    MPASMWIN [/<opzione>[,/<opzione>....]] [<nome_sorgente>]

Il nome_sorgente equivale al campo introdotto con l'opzione BROWSE della finestra Window ed indica il path per raggiungere il sorgente da assemblare e le opzioni indicano gli altri campi di scelta della stessa finestra. L' elenco delle opzioni è riportato nella documentazione di MPASM ; dove una opzione non è espressa, vale il default :

Option

Default

Funzione

? N/A Display de e d e d-:zhe MPASM Help Panel
a INHX8M

Set hex file format: /a<hex-format>
dove
<hex-format> è uno dei segueti 

[INHX8M | INHX8S | INHX32]

c On Enable/Disable case sensitivity
d Nessuno

Define symbol:
/dDebug /dMax=5 /dString="abc"

e On

Enable/Disable/Set Path for error file
/e
Enable
/e + Enable
/e - Disable
/e <path>error.file Enables/sets path

h N/A Displays the MPASM Help Panel
l On

Enable/Disable/Set Path for the listing file
/l
Enable
/l +
Enable
/l -
Disable
/l <path>list.file
Enables/sets path

m On Enable/Disable macro expansion
o Off

Enable/Disable/Set Path for the object file
/o
Enable
/o +
Enable
/o -
Disable
/o <path>object.file
Enables/sets path

p nessuno

Set the processor type:
/p<processor_type>

where
<processor_type> is a PICmicro device.

q Off Enable/Disable quiet mode (suppress screen output)
r Hex

Defines default radix:
/r<radix>

where
<radix> is one of [ HEX | DEC | OCT ]

t B List file tab size: /t<size>
w 0

Set message level:
/w<level>
where <level> is one of [0|1|2]
0
– all messages
1 – errors and warnings
2 – errors only

x Off

Enable/Disable/Set Path for cross reference file
/x
Enable
/x +
Enable
/x - Disable
/x <path>xref.file Enables/sets path

Ad esempio il comando:

  mpasmwin.exe /rDEC /p16F628 "prova.asm"  

assembla il file prova.asm con base decimale e per il processore PIC 16F628.


 


Alcune note non secondarie

  1. Non c'è ragione particolare per cambiare i default di MPASM. Se volete cambiarli, fatelo a ragion veduta.
     

  2. MPASM consente di abilitare alcune opzioni relative all' ambiente di assemblaggio del processore, come la radice di default e il processore.
    Non è consigliato assemblare forzando queste opzioni, in quanto MPASM può prelevare le stesse dal sorgente, il che è molto più pratico ed evita possibili errori.
     

  3. MPASM compila sorgenti scritti per processori PIC. Quindi, un sorgente, pure scritto con la massima correttezza sintattica, sarà compilato solo ed esclusivamente se corrisponde a quanto previsto da Microchip. 
    Quindi, sorgenti scritti per altri processori (Scenix, ARM, ST6) non potranno essere elaborati da questo Assembler.
       

  4. Analogamente, sorgenti scritti per PIC, ma con Assembly aventi sintassi diversa da MPASM (ad esempio SASM) probabilmente non saranno assemblati e sarà necessario modificarli o creare un numero adeguato di macro per superare le incompatibilità tra i testi.
     

  5. Un Assembler trasforma una lista ASCII in un file .hex.  Per ottenere l' opposto esistono dei disassembler, ovvero programmi per risalire dal file .hex alla sequenza di opcode. Ovviamente un disassembler deve essere adatto ad uno specifico processore, in quanto ogni processore ha la sua equivalenza tra set di istruzioni e codici binari.
    In particolare, i file .hex generati compilando sorgenti scritti con linguaggi ad alto livello saranno particolarmente complessi e una loro "decodifica" manuale diventa una impresa al di sopra delle normali possibilità.

 


LINKS

Il documento 33014.pdf è il MPASM™ Assembler, MPLINK™ Object Linker, MPLIB™ Object Librarian ...

Il documento 30400.pdf è il MPASM™/MPLINK™ PICmicroо MCU Quick Chart

 Il documento 51519.pdf è il MPLAB IDE User's Guide

E' consigliabile scaricare e consultare questi documenti per maggiori dettagli sul macro Assembler.

 


 

 

Copyright © afg. Tutti i diritti riservati.
Aggiornato il 06/12/10.