Avatar
Domiy
Neregistrovaný
Avatar
Domiy:

Zdravím...
Mám Assembly kód, kde prvně skáči na jednotlivé funkce:

jmp OsMain                               ; 0000h

jmp Console.Write                        ; 0003h
jmp Console.Clear                        ; 0006h
jmp Console.WriteHline                   ; 0009h
jmp Console.NewLine                      ; 000Ch

jmp Cursor.Location                      ; 000Fh
jmp Cursor.Move                          ; 0012h
jmp Cursor.Show                          ; 0015h
jmp Cursor.Hide                          ; 0018h

(Aplikuji OOP.)

Tedy posloupnost po 3. A pak si na tyto funkce potřebuji ukázat v dalším souboru:

Console.Clear equ 0006h
Console.Write equ 0003h
Cursor.Move equ 0012h

Vtip je v tom, že tam, kde na funkce ukazuji používám hexadecimální hodnotu z předchozího seznamu skoků.

Takže jakmile změním pořadí skoků, musím přepsat další 2 údaje. (Číslo posloupnosti nahraženého skoku a pak oběma ukazatele.) Místo toho bych si na to chtěl udělat miniaplikaci... Posloupnost nebyla těžká, ale nedaří se mi updatovat nové hexadecimální hodnoty v tom druhém souboru.

string[] splitSource = Regex.Split(Text, @"[\s\n\t;]+");

for(int index = 0; index < splitSource.Length; index += 3)
        source = Regex.Replace(source, splitSource[index + 1] + @"\sequ\s[A-F0-9]{4}h", splitSource[index + 1] + " equ " + splitSource[index + 2])

Mám tedy funkční tu část s posloupností - vygeneruji ke každému skoku do komentáře jeho hexadecimální hodnotu. A tento komentář používám pro updatování čísla i v druhém souboru. Jenže se ten se vůbec nezmění...
Děkuji za pomoc.

 
Odpovědět 8.6.2013 17:57
Avatar
Domiy
Neregistrovaný
Avatar
Domiy:

Jo - o co go:

Text - zde je seznam skoků s komentářem co obsahuje číslo posloupnosti

source - zde mám načtený druhý soubor

 
Nahoru Odpovědět 8.6.2013 18:06
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 2 zpráv z 2.