Size: a a a

Ассемблер

2021 August 07

s

s54816 in Ассемблер
А ещё бы там strb w6 делать, а не str x6. А то как-то нехорошо по 8 байт писать.
источник

ВН

Восемь Ног in Ассемблер
Я думаю, что может Я что то не так делаю

Просто дебагер включаю и файл комовский открываю
источник

Y

Yura in Ассемблер
а я думал что стрб не работает в стеке как например загрузить байт с стека
источник

Y

Yura in Ассемблер
ldrb
источник

Y

Yura in Ассемблер
а что делать если я хочу загрузить больше число чем 5 значное
источник

Y

Yura in Ассемблер
записать длиное число в стек а потом по кускам обрабативать?
источник

s

s54816 in Ассемблер
Не понял вопроса. Откуда именно 5-значное взялось? У тебя 64-битные регистры, туда 20 цифр влезает, а не 5.
источник

Y

Yura in Ассемблер
при операции мув не компилится
источник

Y

Yura in Ассемблер
Error: immediate cannot be moved by a single instruction
источник

Y

Yura in Ассемблер
main:
   mov w0, #0
   /* (6+10) - 1*/
   add w0, w0, #6
   add w0, w0, #10
   sub w0, w0, #1

   mov w0, #123456    
   mov x4, #0
   
   sub sp, sp, #16
loop:
   cmp w0, #0
   bls done

   mov w7, #10
   udiv w1, w0, w7
   msub w6, w1, w7, w0

   add w6, w6, #0x30
   strb w6, [sp, x4]
   add x4, x4, #1

   mov w0, w1
b loop
done:
источник

s

s54816 in Ассемблер
Да, это стандартная проблема всех рисков. В ARM есть на эту тему псевдоинструкции и специальный синтаксис, который сделает магию: ldr w0,#=123456 (внимание на =). На самом деле константа полетит отдельным значением после функции, а ldr её оттуда прочитает.
источник

Y

Yura in Ассемблер
то есть ми в регистр грузим константу но где находиться константа?
источник

Y

Yura in Ассемблер
прост лдр грузит же с какой то памяти
источник

s

s54816 in Ассемблер
Ассемблер сам воткнёт ниже, после кода. Возьми gdb да посмотри :-)
источник

Y

Yura in Ассемблер
0x55000007b8 <done+32>                  .inst   0x0001e240 ; undefined
источник

Y

Yura in Ассемблер
0x5500000764 <main+16>  ldr     w0, 0x55000007b8 <done+32>
источник

Y

Yura in Ассемблер
.inst   єто же сектор какой то
источник

Y

Yura in Ассемблер
в єтом секторе константи хранятся?
источник

Y

Yura in Ассемблер
прост в книге афигено расказали он константах #234 я думал єто и есть константи
источник

Y

Yura in Ассемблер
#=123456 єто константа на самом деле
источник