Цитата(RRaptor @ Aug 23 2006, 12:54)

И опять вопрос по ассемблеру, первый этап прошел нормально, функцию определения длины строки написал (всего 19 команд), но опять появились вопросы. Есть ли возможность из ассемблера присвоить некоторое переменной заданное значение. Загрузить его можно
.extern buf
ldr R0,=buf
а как сохранить что либо в переменной buf. Похоже сохранение выполняется только командой str, но как тогда как получть адрес buf. Очевидно, что аналога команды LEA из Intel ассемблера в системе команд ARM7 нет. Можно конечно в функцию в качестве параметра передавать адрес переменной buf, но может есть решение лчше?
Код
mov r0,#0x00
ldr r1,=__program_start
mov r2,#0x00
B L_2_MovVec
L_1_MovVec:
ldr r3,[R1,#+0]
str r3,[r0,#+0]
adds r1,r1,#0x04
adds r0,r0,#0x04
adds r2,r2,#0x1
L_2_MovVec:
cmp r2,#0xE
bcc L_1_MovVec
типа
Свет мой зеркальце, скажи, да всю правду расскажи я ль на свете всех тупее, бесполезней и пьянее?
Ты - придурок. Спору нет! Но живет на белом свете вот ТАКИХ еще две трети!