Tutoriel par Examples: assemblage



La famille des langages d'assemblage x86 représente des décennies d'avancées sur l'architecture Intel 8086 d'origine. En plus de l'utilisation de plusieurs dialectes basés sur l'assembleur, des instructions, des registres et d'autres fonctionnalités supplémentaires ont é...
# make this routine available outside this translation unit .globl string_to_integer string_to_integer: # function prologue push %ebp mov %esp, %ebp push %esi # initialize result (%eax) to zero xor %eax, %eax # fetch pointer to the string mov 8(%ebp), %e...
Exemple d'appeler une méthode d'extension en tant qu'extension et méthode régulière. public Class MyClass Sub Main() 'Extension called directly on the object. Dim Version = Assembly.GetExecutingAssembly.GetVersionFromAssembly() 'Called as a re...
Grâce aux API de réflexion riches de .NET, vous pouvez accéder aux métadonnées d'un assemblage. Par exemple, vous pouvez obtenir l'attribut title de this assembly avec le code suivant using System.Linq; using System.Reflection; ... Assembly assembly = typeof(this).Assembly; var titl...
Il est souvent utile de pouvoir charger tous les profils d'un ou de plusieurs assemblages dans une configuration. AutoMapper fournit la méthode méthode AddProfiles , qui comporte plusieurs surcharges qui permettent de charger les profils en transmettant l'assembly, en spécifiant le nom de l...
Utilisez la compilation conditionnelle pour vous assurer que le code ne compile que pour le jeu d'instructions voulu (tel que x86 ). Sinon, le code pourrait devenir invalide si le programme est compilé pour une autre architecture, telle que les processeurs ARM. #![feature(asm)] // Any valid ...
; IF d0 == 10 GO TO ten, ELSE GO TO other CMP #10,d0 ; compare register contents to immediate value 10 ; instruction affects the zero flag BEQ ten ; branch if zero flag set other: ; do whatever needs to be done for d0 != 10 BRA ...
Le Z80 a une instruction spécifique pour implémenter les comptages de boucle: DJNZ pour "décrémenter B enregistrer et sauter sinon zéro". Donc, B est le registre de choix pour implémenter des boucles sur ce processeur. FOR ... NEXT doit être implémenté "en arrière", car le regis...
Pour exécuter le code d'assemblage ARM, vous aurez besoin d'une machine avec un processeur ARM. Si vous êtes sous Linux, vous pouvez utiliser les commandes suivantes pour compiler votre programme: as -o prog_object.o my_prog_source.s Lien pour obtenir l'exécutable: ld -o run_prog p...
Nous pouvons mettre des instructions d'assemblage dans une macro et utiliser la macro comme vous appelleriez une fonction. #define mov(x,y) \ { \ __asm__ ("l.cmov %0,%1,%2" : "=r" (x) : "r" (y), "r" (0x0000000F)); \ } /// some definition and ass...

Page 1 de 1