Size: a a a

Ассемблер

2020 August 11

D

Dim in Ассемблер
без привязки к архитектуре железа он работать не будет
источник

RG

R G in Ассемблер
Royle
сколько времени вы убили чтобы научиться понимать что имеет ввиду комп
ассемблеры напорядок легче с++
источник

RG

R G in Ассемблер
нет ооп и прочего бреда
источник

D

Dim in Ассемблер
R G
ассемблеры напорядок легче с++
вопрос: написанный на асме код будет работать на другой машине?
источник

A

Aleksandr in Ассемблер
R G
ассемблеры напорядок легче с++
если тебе нужно умножить два числа - да
источник

D

Dim in Ассемблер
Aleksandr
если тебе нужно умножить два числа - да
мне нужно оперировать регистрами
источник

A

Aleksandr in Ассемблер
но если нужно написать большую программу - нет
источник

R

Royle in Ассемблер
R G
ассемблеры напорядок легче с++
Почему то с++ лучше понимаю чем ассемблер, скорее всего это связано с тем что я не знаю тот или иной код что означает и не знаю принцип работы проца
источник

D

Dim in Ассемблер
Royle
Почему то с++ лучше понимаю чем ассемблер, скорее всего это связано с тем что я не знаю тот или иной код что означает и не знаю принцип работы проца
нужно знать адреса регистров и директивы процессора
источник

RG

R G in Ассемблер
Aleksandr
если тебе нужно умножить два числа - да
ассемблеры - простые языки, но писать на них сложно
источник

R

Royle in Ассемблер
Например мне вот помогли предыдущую задачу решить , решили даже за меня но я не понимаю почему поменяли именно на 89 f1  почему это значение, подбор цифр  и букв почему именно такой
источник

R

Royle in Ассемблер
Переслано от Saenro T
источник

RG

R G in Ассемблер
Dim
вопрос: написанный на асме код будет работать на другой машине?
сейчас >80% windows x86-64 на десктопе, поэтому можно не париться
источник

DV

Dmitrij V in Ассемблер
Royle
помогите с освоением ассемблера, впервые сталкиваюсь
Самые на первый взгляд очевидные вещи:

Если в плюсах в одну строку можно понапихать как условия так и действия:
if constexpr (is_vector<T>::value || is_span<T>::value) { /* do something */ }

То в асме, на одну строку следует помещать только одну команду (имея дело именно с асм-командами а не с макросами)
(и операнды через запятую, если таковые имеются):
pushq %rbp ; сохранить в стеке значение регистра
movq %rsp, %rbp ; переслать значение из одного регистра в другой

Сначала идёт команда (push, mov), потом операнды (rbp, rsp) в данном случае 64битные регистры
(текст программы размещаются в секции text, данные в сикции data)

Теперь бери любую книжку по асму и вперёд ;)
источник

RG

R G in Ассемблер
Dim
нужно знать адреса регистров и директивы процессора
адреса регистров? их всего 16 же основных и они по именам
источник

ST

Saenro T in Ассемблер
Royle
Переслано от Saenro T
Да это так себе, там лучше по смещению 462: 6A,04 заменить на 56,90 (будет корректнее)
источник

D

Dim in Ассемблер
R G
адреса регистров? их всего 16 же основных и они по именам
а память?
источник

RG

R G in Ассемблер
адреса регистров это только в pci устройствах бывают
источник

R

Royle in Ассемблер
Saenro T
Да это так себе, там лучше по смещению 462: 6A,04 заменить на 56,90 (будет корректнее)
Да хотя бы понять такое)
источник

RG

R G in Ассемблер
Dim
а память?
да, память адресуется
источник