Tento web používá soubory cookie. Dalším používáním webu s tímto souhlasíte.
jméno
heslo
přihlásit
zaregistrujte se
zapomněli jste heslo?
Assembler
LITTLELI
there are 10 types of people in the world. those who understand binary, and those who don't.
windows bring the power of yesterday computers in nowadays
sexy nastenka
Máte k tomu co říct? Vložte se do diskuze.
_BENNY --- 18:45:18 26.3.2010
CHOPAIN: tak si to odkrokuj v debuggeru a sam uvidis jaky hodnoty lezou do registru a jestli jsou to platny pointery...
CHOPAIN --- 18:41:27 26.3.2010
No to by mělo být právěže jedno oboje jsou identická pole vytvořená stylem char* src = "Blabla"; a předaná jako argument funkci.
_BENNY --- 18:12:10 26.3.2010
CHOPAIN: nemas nahodou v kodu prohozeny src a dest? neboli, nezapisujes nahodou do src kam se zapisovat nema?
CHOPAIN --- 17:33:03 26.3.2010
Zdravim teprve s Assemblerem zacinam tak se mi nesmejte :d potreboval bych poradit jak zapsat do C++ koveho pole char*

asi takle
void up_strcpy(char * dest, char * src)
{
_asm{
mov eax,dest
mov ebx,src
mov ecx,0

mov dl,[eax + ecx *1] //zde se do dl nacte spravne 1 prvek dest
mov [ebx +ecx *1],dl //Access violation writing location
.
.
.

Zkousel jsem to uz vseliak ale furt nemuzu prijit na to co delam spatne. Přitom u int* pole nebyl problem. (samozřejme jsem ale počítal s 4 bajty ne s 1).

Diky moc za radu.
MICA --- 17:03:56 25.2.2010
Máte někdo zkušenosti se softěním pro Freescale HCS08 případně Motorola 68000 assembler? Potřeboval bych podarit s přeprasením *.asm zdrojáku přeloženého z Cčka :(
BLEKOTA --- 20:42:18 26.11.2008
NECROMAN: Fraud warning u jak se zda indenticke kopie dokumentace ke GASu???
NECROMAN --- 17:28:42 26.11.2008
BLEKOTA: na ten druhy odkaz mi to hodilo Fradu warning, ale ten maunal vypada dobre. take v Linuxovem krenelu pro mips se da najit zajimave cteni
BLEKOTA --- 16:55:20 26.11.2008
NECROMAN: I mipsech vim prd, par linku ktere snad k necemu budou - http://www.eecs.harvard.edu/~ellard/Courses/cs50-asm.pdf (predpkladam ze jsi tohle uz nasel), pak dokumentace ke GASu veci (ne)specifickych pro mips (http://sourceware.org/binutils/docs/as/index.html) prip nejake informace o pouzivani inline assembleru v GCC.
NECROMAN --- 15:09:49 25.11.2008
zdravim, moc toho v assembleru neumim a pokousim se napsat atomicke test&set a compare&swap pro mips procesor (pokud byste to nekdo meli hotove, dejte vedet :)

Momentalne mam ten compare&swap podle ruznych naovdu, ale nevim, zda je dobre

static inline native_t compare_and_swap(atomic_t *var, const native_t old_value, const native_t new_value)
{
    native_t temp, result;

    asm volatile (
        ".set push\n"
        ".set noreorder\n"

        "   ll %[temp], %[value]\n"
        "   bne %[temp], %[old_value], 1f\n"
        "   move %[result], %[new_value]\n"
        "   sc %[result], %[value]\n"
        "   b 2f\n"        
        "1: move %[result], $0\n"
        "2: sync\n"
        
        ".set pop\n"
        : [temp] "=&r" (temp), [result] "=&r" (result), [value] "+m" ((var)->value)
        : [old_value] "r" ((old_value)->value), [new_value] "r" ((new_value)->value)
          : "memory"
      );

    return result;
} 


predevsim jsem neprisel na to, co znamenaji ty pismenka u vstupnich/vystupnich promennych, takove to =&r, +m, r, Ir a pod. any idea?
Dale jak je to s temi labely, viel jsem vyskyt cisel+f nebo b
znamena to jdi na cislo a to f/b je forward/backward?

Diky za rady :)