Size: a a a

Ассемблер

2021 August 16

E

Entusiast in Ассемблер
У тебя много ненужных операций
источник

E

Entusiast in Ассемблер
Это, конечно, не причина seg fault. Но из-за этого ты запутался
источник

s

s54816 in Ассемблер
Падаешь в третьем же mov. Пора разобраться с квадратными скобочками?
источник

ВВ

Вячеслав Васютин... in Ассемблер
Что в нем не так?
источник

E

Entusiast in Ассемблер
Тебе нужно передавать ссылку, а ты передаёшь 8 байт из msg
источник

s

s54816 in Ассемблер
Ой. В нём ты не падаешь, но с ним всё равно всё не так. А падаешь ты в четвёртом. Там уже точно.
источник

ВВ

Вячеслав Васютин... in Ассемблер
Убрал qword:
flat assembler  version 1.73.09  (16384 kilobytes memory)
calculator.asm [7]:
mov rsi, [msg]
processed: mov rsi,[msg]
error: operand sizes do not match.
источник

E

Entusiast in Ассемблер
... а в четвёртом ты пытаешься получить доступ по адресу, в размер переменной.
Т.е если MsgSize = 102
Ты делаешь:
mov rdi, [102]

Доступа к 102 у тебя нет
источник

E

Entusiast in Ассемблер
Ссылку.
источник

E

Entusiast in Ассемблер
Ты берёшь данные ([]) по адресу, а нужно просто положить адрес
источник

s

s54816 in Ассемблер
Тебе надо не убирать qword, тебе надо уяснить: квадратные скобочки = читать/писать (доступ) по адресу. Без скобочек = сам адрес метки, значение константы, или что там у тебя.
источник

ВВ

Вячеслав Васютин... in Ассемблер
Так мне в регистры только адресса ложить?
источник

A

Aiwan ╭∩╮ (òÓ,) ╭∩╮b... in Ассемблер
вчера вроде об жтом намекал
источник

s

s54816 in Ассемблер
И да, это в фасме. Это вечный источник путаницы. В других ассемблерах синтаксис другой.
источник

A

Aiwan ╭∩╮ (òÓ,) ╭∩╮b... in Ассемблер
☝️
источник

E

Entusiast in Ассемблер
Конечно, а как сисколл поймёт, куда ему нужно класть результат?
источник

ВВ

Вячеслав Васютин... in Ассемблер
Ясненько, сейчас попробую что-нибудь сделать.
источник

ST

Saenro T in Ассемблер
LEA? Не, не слышал.
источник

E

Entusiast in Ассемблер
Запутается. Пока не нужно
источник

ВВ

Вячеслав Васютин... in Ассемблер
Вот так все нужно:
mov rax, 1
mov rdi, 1
mov rsi, qword msg
mov rdi, MsgSize
mov [raxdata], rax
syscall


Да?
источник