Rational assembleur PIC est un assembleur pour les microcontrôleurs de milieu de gamme à partir de Microchip. Le projet utilise les mnémoniques de style Intel et opérande commande cible-première. Conçu à l'aise pour les programmeurs d'assemblage de PC.
Cet assembleur génère du code compatible avec les microcontrôleurs de la ligne médiane de Microchip, mais est incompatible avec leur assembleur. Il devrait se sentir familier à tout programmeur de montage de PC. Les mnémoniques d'instruction et de l'ordre des opérandes sont de style Intel (à savoir «de droite», par opposition aux «mauvais»).
Syntaxe de ligne de commande
pic-asm [-c] [-l filename] [-o fichier] fichier_entrée
-c - mode console
une source d'assemblage est acceptée à partir de stdin. code binaire est
sortie sur la sortie standard. erreurs sont émis vers stderr
-l fichier - spécifier liste de fichiers
-o nom de fichier - préciser fichier objet
Contribution
L'entrée est une séquence de ligne dont chacun contient un ou plusieurs des champs suivants
opérandes d'instruction de l'étiquette; commentaire
L'étiquette et le commentaire sont facultatifs. Les opérandes nécessaires dépendent de l'instruction.
L'assembleur est sensible à la casse, même pour les instructions.
Constantes
Les valeurs hexadécimales peuvent être spécifiés avec C-style '0x' [: xdigit:] +. Les valeurs binaires peuvent être spécifiés avec «0b» [01] +. Les valeurs décimales ne nécessitent pas de préfixe décimal est la base par défaut.
Les constantes caractères sont spécifiés par enfermant un caractère unique ou un caractère échappé entre guillemets simples. Les constantes de chaîne sont spécifiées en enfermant zéro ou plusieurs caractères et se sont échappés caractères entre guillemets. Les constantes de chaîne génèrent une constante de caractère pour chaque caractère de la chaîne. Il n'y a pas de fuite zéro est enregistrée. Par exemple:
db "Bonjour worldn", 0, 'a', 'b', 'r', 'n', 't'
Étiquettes
Un label est une séquence de caractères alphanumériques (y compris underbar) qui démarre une ligne. Les étiquettes ne sont pas deux points. Étiquettes locales pour la dernière étiquette non local peuvent être définis en faisant précéder le nom par un point. Par exemple
; exemple de l'exemple-1.asm
foo appel .1
.1 .2 Jmp
0,2 0,1 jmp
bar appel .1
.1 .2 Jmp
0,2 0,1 jmp
Dans cet exemple, les étiquettes sont définies foo, foo.1, foo.2, bar, bar.1 et bar.2. Les premières branches d'appels pour foo.1. Les deuxièmes branches d'appels pour bar.1. Les étiquettes locales à «foo» ne peuvent pas être référencées avant 'foo' a été déclarée ni après 'bar' a été déclaré.
Directives
Les données peuvent être déclarées. Le declarator prend la place de l'instruction et est suivie par une ou plusieurs expressions séparées par des virgules. Chaque expression correspond à un mot dans le code de sortie quel que soit le type de declarator.
db - chaque opérande est ET-ed avec 0xff avant d'être stockées
dw - définition de mot entier de 14 bits
dt - chaque opérande est ET-ed avec 0xff et OR-ed avec 0x3400 (l'opcode retour-avec-valeur). Ceci permet la génération de tableaux de cas. Vous pouvez ajouter l'accumulateur ('w') pour le décalage de la table. Le processeur se branche à l'emplacement dans la table et le retour d'un résultat de huit bits
Par exemple:
db 1,2,3
dw 0x3FFF, 0x3ff * 16 + 15, -1
dt 0B001, 0b010, 0b100
Équivaut sont une séquence nommée de jetons. Ils peuvent être définis avec 'équ. Par exemple:
LED_1 équ 0x100 | 1
LED_2 équ 0x100 | 2
combo EQU (LED_1) | (LED_2)
La position de org peut être modifié avec «org». Par exemple
org 0x10o
Quoi de neuf dans cette version:
· Cette version ajoute le support pour les macros sophistiquées, inclure des fichiers, la compilation conditionnelle, et la compatibilité avec les têtes de Microchip.
Détails logiciels:
Version: 2.0
Date de transfert: 2 Jun 15
Licence: Gratuit
Popularité: 63
Commentaires non trouvées