ovf
для эмуляции достаточно карандаша и бумаги, если ты достаточно аккуратный и время позволяет. какие уж там мощности.
Evgenii
это пальцем в небо
MrSmith
Roman
На тему risc, современные arm чипы в мобилках, какую имплементацию ISA используют, 5 или 6?
Evgenii
Roman
Она разве уже вышла?
MrSmith
Гайз сори за оффтоп, ios сники есть?
Aleksei
ага
Aleksei
Крылатские холмы 17, 4 здание, вместе с Циской сидите?
Roman
Доброй ночи, yasm умеет создавать обджект файлы под aarch32?
Roman
ovf
ты пытаешься слинковать объектный файл для x86 под arm?
ovf
даже если бы yasm мог сгенерировать что-то похожее на объектный файл для arm, твоей основной проблемой осталось бы то, что в asm1 написан код для x86_64, и на arm он работать не будет
Roman
Это понятно, код переписать не проблема. Я тестирую, можно ли писать код на телефоне в дороге. Как я понял из man yasm_arch, aarch он не умеет, а жаль
ovf
для arm, не считая маргинальных вариантов, есть три ассемблера для linux: gas, armasm и fasmarm
ovf
рекомендую пользоваться gas, кстати (сюрприз!) для arm у него синтаксис в стиле armasm, а не at&t
ovf
а, и да, из этих трёх ассемблеров на arm будет работать только gas. :-)
Roman
Спасибо!
Roman
Вот уж спасибо за подсказку, оказывается гну асм уже был под рукой (пришёл в комплекте с binutils)
Roman
ovf
а у тебя, похоже, aarch64
ovf
посмотри uname -m
Roman
Можно не смотреть, на Нексусе 6 805 снап, он аарх32
ovf
тогда вот тебе хелловорлд на arm для проверки: .macro sys n;mov r7,#\n;svc 0;.endm
.globl _start;_start:
mov r0,#1;ldr r1,=s;mov r2,#n;sys 4
mov r0,#0;sys 1
s:.string "Hello, world!\n";n=.-s
ovf
а чего нексус, как же паспорт?
Roman
Телефонов несколько
ovf
ну так надо на ассемблере под qnx писать
ovf
правда, там вроде немного странный abi, по крайней мере на x86
Roman
На паспорт ещё не интересовался. На прошлой неделе только его подключил к сдк, там процедура хитрая
Roman
ovf
ну отлично. точки с запятой можешь убрать, если уж настаиваешь на одной инструкции на строку
Roman
Скопипастил из телеги на скорую руку
ovf
как по мне, так поддержка ; как разделителя инструкций -- самая крутая фича gas. не могу смотреть на узкий вертикальный код.
Roman
Это привычка, моему глазу считывать проще вертикально блоками
Roman
Здравствуйте, макросы:
#define BYTESWAP(val) \ asm volatile ( \ "eor r3, %1, %1, ror #16\n\t" \ "bic r3, r3, #0x00FF0000\n\t" \ "mov %0, %1, ror #8\n\t" \ "eor %0, %0, r3, lsr #8" \ : "=r" (val) \ : "0"(val) \ : "r3", "cc" \ );
ovf
что-то сложно. это случайно не rev val,val ?
Roman
Here is a macro which will convert a long value from little endian to big endian or vice versa
ovf
на armv6+ для этого есть инструкция rev
Max
В чем ты собрал ?
Max
Roman
Редактор?
Roman
Жуть, приснилось.
Аудитория моего университета. По углам куча старого комп железа из 70-х – 80-х, я один такой весь трицтилетний. Вокруг студенты 19-20 лет. Оказался заблокирован партой в углу, слева и сзади стена, справа сидят трое. Как вылезать?
Еле вылез.
И тут препод дедушка такой говорит:
Из любой ситуации всегда есть выход, и показывает пальцем на доску:
...
if stuck
jmp j5
...
j5:
zh
:D веселый сон)
Max
Да, среда
Max
Или ты прям в редакторе скомпилил ?
Max
В каком универе ты учишься ?
с четверга на пятницу вещие
Anonymous
Мне уже месяц почти каждый день снится что я революцию социалистическую возглавляю
Anonymous
Вроде не курю
Anonymous
Roman
Разделение экрана в 7-ке.
Сверху: QuickEdit
Снизу: Termux с установленными binutils
Roman
Max
Понятно , спасибо )
нꙺ
нꙺ
IF STUCK
JMP 5
zh
J5 eto j metka takaya a ne instrukciya?
JMP J5 было
J5 это метка
zh
Ny znachit zbs)ne owibsya
zh
Alexander
zh
обновился
и раскладка слетела
пишешь траслэйтом
zh
Лень менять)
ovf
gas не поддерживает препроцессор
ovf
но gcc умеет его вызывать, если на вход ему дают файлы, заканчивающиеся на .S
ovf
есть, и ещё какой
ovf
см. https://sourceware.org/binutils/docs/as/Macro.html и сопутствующие (.irp,.irpc,...)