C'est juste un joke. Mais comme il n'y a pas de rubrique pour les "cas marade", j'ai là mis.
Code : Tout sélectionner
Structure RIEN
EndStructure
Define.RIEN
Macro Pour : For : EndMacro
Macro jusque : To : EndMacro
Macro Suivant : Next : EndMacro
Macro Si : If : EndMacro
Macro FinSi : EndIf : EndMacro
Macro Appel_Mode_Pas_a_pas : CallDebugger : EndMacro
Macro Fin_du_Programme : End : EndMacro
Macro Creer_Tableau : Dim : EndMacro
Macro Afficher_trace : Debug : EndMacro
Macro Cadrer_a_droite : RSet : EndMacro
Macro Nombre_en_texte : Str : EndMacro
Taille_Tableau_en_bits.l = 100
Taille_Tableau_en_octets.l = Taille_Tableau_en_bits >> 3
Si Taille_Tableau_en_octets << 3 < Taille_Tableau_en_bits
Taille_Tableau_en_octets + 1
FinSi
Creer_Tableau Mon_Tableau.b(Taille_Tableau_en_octets)
Pour i.l = 0 jusque Taille_Tableau_en_octets
Mon_Tableau(i) = i
Suivant
BitValue.l
Pour Pointeur_octet.l = 0 jusque Taille_Tableau_en_octets
Afficher_trace Cadrer_a_droite(Hex(Mon_Tableau(Pointeur_octet), #PB_Byte), 8, "0") + #TAB$ + Cadrer_a_droite(Bin(Mon_Tableau(Pointeur_octet), #PB_Byte), 8, "0")
Pour Position_bit.l = 0 jusque 7
! mov ecx, dword [a_Mon_Tableau]
! add ecx, dword [v_Pointeur_octet]
! mov edx, dword [v_Position_bit]
! mov ax, word [ecx]
! bt ax, dx
! jc Le_bit_est_a_1
! Le_bit_est_a_0:
! mov dword [v_BitValue], 0
! jmp Fin_du_test_de_bit
! Le_bit_est_a_1:
! mov dword [v_BitValue], 1
! Fin_du_test_de_bit:
Afficher_trace Nombre_en_texte(Pointeur_octet) + #TAB$ + Nombre_en_texte(Position_bit) + #TAB$ + Nombre_en_texte(BitValue)
Suivant
Suivant
Appel_Mode_Pas_a_pas
Fin_du_Programme