Метка «asm»

Приветствую вас, славные жители Хаброгорода!

Плюсы в комментариях в посте IBM и ответы на мой вопрос в Тостере а еще карма, выросшая за ночь в 3 раза обозначили яркое желание Хабра читать научно-популярные статьи: достаточно глубокие, но написанные человеческим языком и с прозрачными аналогиями. Заранее определим, как и о чем мы будем писать.

В постах НЕ будет:

  • повторов знаний из Википедии и научно-популярной клюквы с утверждениями, «взятыми с потолка»;
  • математики и формул. Вообще;
  • ликбеза по поводу школьного курса физики.

    да мне не сложно, но тогда статья вырастет до размеров самки кита ;D. Все мы люди взрослые и если не понимаем основы основ — ищем ответ самостоятельно или спрашиваем в комментариях.

В публикациях будет:

  • упор на техническую и инженерную часть;
  • много вопросов. Мне хотелось, чтобы читатель включил свой мозг и пытался бы думать как исследователь;
  • большое количество наглядных картинок.

Материала очень много и для усиления усваивания лучше начать с инженерной статьи. Итак, как же понять, что за технология перед нами, нано или нет? Давайте измерим ее.
Читать полностью »

В новый микроскоп IBM видно межатомные связи в молекуле

Научно-исследовательское подразделение IBM Research в Цюрихе опубликовало картинки, которые удалось сгенерировать с помощью сканирующего атомно-силового микроскопа (АСМ). На изображениях можно различить отдельные атомы углерода в шарообразной молекуле C60. Видны даже химические связи между атомами, то есть перекрывающиеся электронные облака («размазанные» электроны, в терминологии Шрёдингера).
Читать полностью »

в 9:46, , рубрики: asm, UNIX, метки: ,

Конечно же ассемблер под юникс отличается от ассемблера под доc или виндоуз. В то время как в асме под эти операциоyные системы использовался синтаксис навязанный интеллом, изобилующий разными неопределенностями (неоднозначностями, если хотите), решающимися за счет приведения типа (byte ptr, word ptr, dword ptr), в асме под никс использовался сиснтексис AT&T и SysV/386, который разрабатывался специально для устранения неоднозначности толкования команд. Конечно же существуют ассемблеры, под юникс с интелловским синтаксисом, такие как NASM, но в данной статье будет рассмотрен синтаксис ассемблеров стандартных для данной платформы.
Читать полностью »

Вдохновившись статьёй Привет из свободного от libc мира, я так же решил проделать нечто подобное. Чтобы не заниматься этим бесцельно, я решил поставить перед собой следующую задачу. Сделать программу, выводящую какую-нибудь простую строку, вроде «ELF, hello!». Разобраться с тем, как именно она будет представлена в исполняемом файле. Ну и попутно, постараться уложиться в 100 байт.
Для начала, стандартный helloworld на C++
#include
using namespace std;
int main()
{
cout << "ELF, hello!n";
return 0;
}

Компилируем, смотри размер:$ g++ test.cpp -static && ls -s -h a.out
1,3M a.out
Сколько, сколько? 1.3 Мб? Для вывода одного единственное сообщения размером в 12 байт? Хм… Ладно,Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js