Pull to refresh

Примеры ассемблерного кода и алгоритмов на решении задаче о перевороте строки

Reading time 1 min
Views 6.2K
Assembler *
Дано — null-terminated string, расположенная в памяти по некоторому адресу. Допустим «kukaga»,0x0h.
Задача — получить на выходе строку наоборот, «agakuk»,0x0h
Точнее -указатель на область памяти, где лежит перевернутая строка

Посмотрим решения на базе i8080 архитектуры.

Просьбе к знатокам ассемблеров не-x86 архитектуры — дайте пример этой задачи в ассемблере для знакомой вам архитектуры. Просто чисто интересно сравнить.

Читать дальше →
Total votes 12: ↑10 and ↓2 +8
Comments 14

Не хочу QIP Infium

Reading time 1 min
Views 1.3K
Instant Messaging *
Введите в поиске Хабра запрос «qip» и вы найдете не один топик в личных блогах, датированных сегодняшним числом. К сожалению, да, это действительно так, QIP 8070 больше не работает.
Пришлось скачать QIP Infium, но он мне совершенно не понравился. Естественно, я много раз видел его, но удобным он мне не показался как и тогда, так и сегодня.

Что мне не понравилось. Это только мое мнение, многие не соглашаются:
— непонятная и долгая для конечного пользователя процедура регистрации
— рекламный статус по умолчанию
— поменялись статус-картинки, часть «подрисовали», а часть перерисовали
— ИМХО, крайне неудобное в сравнении со старым QIP'ом окно сообщений

Тем не менее, есть выход.
Совершенно случайно было замечено, что работает старая сборка — 7981.
К сожалению, там не хватает нескольких полезных и привычных функций, но потери не так велики.
Читать дальше →
Total votes 475: ↑293 and ↓182 +111
Comments 213

Решение проблемы с появлением 8080 порта в ISP manager (настройка редиректа на 80 порт)

Reading time 3 min
Views 27K
Website development *
Сегодня столкнулся с проблемой — обнаружилось, что по ошибке старого системного администратора, в одном очень редком случае у нас происходил редирект с обычного 80 порта на порт 8080.

Из-за этого в индекс яндекса попала целая куча страниц, имеющих адрес example.com:8080, потому что проблема существовала уже 3 года, а заметили ее только сейчас.

Проблема усугублялась тем, что сервер конфигурировался автоматически с помощью ISP manager, что привело к тому, что сайты были доступны как по адресу example.com, так и по example.com:8080, и с учетом того, что к серверу было привязано 5 ip-адресов и на нем крутилось около 20 сайтов, переконфигурировать все вручную чтобы сконфигурировать правильным способом апач и nginx (сделать, чтобы апач слушал только 127.0.0.1 и чтобы они висели на одном порту с nginx, а внешние адреса слушал только nginx) не представлялось возможным. Проблеме потенциально подвержены все сайты, которые пользуются ISP manager, поэтому я считаю ее достаточно актуальной, и решил опубликовтаь свое решение, чтобы все тоже проверили и исправили, если надо.

Соответственно стояла задача — «малой кровью» сделать:
1. чтобы сайт example.com корректно работал, но не открывался по адресу example.com:8080
2. чтобы с порта 8080 для одного определенного сайта шел редирект на 80 порт, чтобы сохранить работоспособность страниц, попавших в выдачу яндекса.

Читать дальше →
Total votes 8: ↑3 and ↓5 -2
Comments 7

История мигрирования операционных систем

Reading time 16 min
Views 21K
Intel corporate blog System Programming *
Translation
От переводчика: представляю вашему вниманию перевод статьи Майкла Штейла. Я давно хотел подготовить подобный обзор методов использования виртуализации для задач обеспечения совместимости. Я даже опубликовал некоторые заметки на эту тему: в учебнике по симуляции, глава 1, и на Хабре в посте про системные ВМ. Однако мне не удалось раскрыть вопрос так глубоко, как он представлен в этой работе. Поэтому я решил поделиться переводом с читателями.


Производители операционных систем сталкиваются с этой проблемой один или два раза в десятилетие: им необходимо перевести свою пользовательскую базу со старой операционной системы на их сильно отличающуюся новую ОС, или им требуется перейти с одной архитектуры ЦПУ на другую с сохранением возможности запуска старых приложений без модификаций, а также помочь сторонним разработчикам портировать свои приложения на новую ОС.

Давайте рассмотрим, как это происходило в последние 30 лет, на примерах MS DOS/Windows, Apple Macintosh, Amiga OS и Palm OS.


Читать дальше →
Total votes 23: ↑23 and ↓0 +23
Comments 8

Все, что хотел

Reading time 2 min
Views 18K
JavaScript *Node.JS *

Hotel – приют для localhost.


Запуск и управление всех ваших веб-проектов с одного адреса.


Больше, разных портов костылей.


Можно держать зоопарк портов для каждого проекта: 9000, 8000, 8080, 3000, 3001…
Или настраивать веб-сервер, править /etc/hosts файл или DNS для каждого проекта.
А еще помнить, как запускать девелоперский веб-сервер для каждого проекта:


  • gulp
  • gulp serve
  • gulp watch
  • ionic serve
  • browser-sync start --server --no-open --directory --files
  • http-server -p 9000
  • python -m http.server 8000
  • php -S localhost:8000
  • и так далее...

Сделать жизнь проще поможет hotel.


Читать дальше →
Total votes 40: ↑36 and ↓4 +32
Comments 11

Микросхеме Intel 4004 исполнилось 45 лет. Немного истории ИТ

Reading time 7 min
Views 23K
History of IT Old hardware


Без современной электроники жизнь человека уже сложно представить. Конечно, существует немало мест, где о современных технологиях до сих пор и не слышали, не то, чтобы пользоваться. Но все же подавляющая часть населения Земли так или иначе связана с электроникой, ставшей неотъемлемой частью нашего быта и работы.

Человек издревле использовал различные приспособления для того, чтобы сделать какие-то производственные процессы более эффективными или же сделать более комфортным свое собственное существование. Настоящий прорыв случился в конце 40-х годов 20-го века, когда были изобретены транзисторы. Первыми были биполярные транзисторы, используемые до сих пор. За ними последовали МОП-транзисторы (металл-оксидид-полупроводниковые).
Читать дальше →
Total votes 23: ↑20 and ↓3 +17
Comments 6

Подключение дисплея 10" ER-TFT101-1 к STM32F429 через FMC

Reading time 10 min
Views 8.6K
Interfaces *C *Programming microcontrollers *
Tutorial
Sandbox
Всем доброго времени суток. В этой статье мы разберём подключение TFT дисплея ER-TFT101-1 (10 дюймов, RA8876 драйвер) к плате STM32F429L Discovery по 16-битному параллельному интерфейсу 8080 используя модуль FMC (flexible memory controller).




О дисплейной сборке


ER-TFT101-1 от компании EastRising представляет собой сборку из 10 дюймовой TFT матрицы с разрешением 1024х600 и платы с драйвером RA8876. На плате с драйвером разведено всё нужное питание, стоит SD-RAM память на 16 мегабайт (шина 16 бит, максимальная частота 166 МГц, максимальный объём 64 мб), есть стандартный слот под microSD карту. Присутствуют пустые посадочные места под EEPROM с внешними шрифтами и под flash память для изображений с выведенными разъёмами для программирования оных. Так-же на сборке опционально может стоять резистивная или емкостная тач-панель.
Читать дальше →
Total votes 21: ↑21 and ↓0 +21
Comments 8

Пишем программу для компьютера ALTAIR 8800 1975г выпуска

Reading time 4 min
Views 5.8K
Programming *Assembler *Popular science Old hardware DIY
Tutorial

Привет, Хабр.

В истории вычислительной техники существуют определенные события, повлиявшие на ход истории. Одним из таких моментов было появление первого массового персонального компьютера. В те годы компьютеры использовались лишь учеными и инженерами на больших предприятиях. И тут появляется компьютер, купить который может любой желающий. Altair 8800 содержал процессор 8080, 256 байт памяти в первой версии, и имел цену ниже 1000$ - это был первый успешно продаваемый персональный компьютер. Это был тот самый компьютер, для которого Билл Гейтс и Пол Аллен разрабатывали язык BASIC, компьютер благодаря которому сотни и тысячи увлеченных студентов и школьников пришли в мир программирования.

Разумеется, дешевизна имела свою цену - первая версия ALTAIR не имела ни клавиатуры, ни экрана, только панель тумблеров, как на фото. Стало интересно разобраться, как же написать и запустить программу на таком ПК. Для тех, кто хочет узнать как это работает, продолжение под катом.

Читать далее
Total votes 23: ↑23 and ↓0 +23
Comments 35