Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 18.03.2015, 20:18
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Будете смеяться, но программирую на РК до сих пор

Даже и улыбки нет. Я ведь тоже на i80 собирал свои ЭВМ, писал свой BIOS, тогда когда BIOS РК де-факто стал стандартным. Какой смех, вычислительная техника увлекательна, начиная от дискретной логики кончая программируемыми контроллерами. Посмотрел по ссылкам, для меня, это "похвально", для тех кто не любит возиться с "железом" может быть и удивительно.

И в HEX-дампах есть свое волшебство. Был у меня когда-то товарищ, майор, и тоже болеющий РК-86, но поздно начал, да и логики в мышлении у него, скажем так, желательно бы иметь более для такого занятия. Лично я не занимался РК-86, она меня бы не удовлетворяла, ибо не было в ней нормальной графики. Почему и собирал свой, который имел под цветную графику четыре страницы памяти, который потом подарил тоже военному, его сын увлекался тоже этим, и это уже при наличии дома полноценного компьютера. Это наоборот приветствовать надо.

Так вот пришел майор, где-то откопал в архивах об обновлении РК, и что-то связанное с новым знакогенератором, если мне только память не изменяет. В общем помню, что я рассказывал ему о работе знакогенератора. Он мне задает вопрос:

- А как ты по этой фиге (дампу) понял, что это так работает?

Ну я ему и показал на листочке в клеточку как работает. Он смотрел на меня так, словно я Христос открывший ему глаза на мироздание.

А контроллерами желания нет заняться? У них ведь на борту сейчас чего только нет, и таймеры, и АЦП, и порт последовательный, и порт I2C, да чего только в них уже не втихивают. С минимальными затратами можно создавать все что угодно.
Ответить с цитированием
  #12 (permalink)  
Старый 18.03.2015, 20:49
Аватар для Paguo-86PK
Профессор
Отправить личное сообщение для Paguo-86PK Посмотреть профиль Найти все сообщения от Paguo-86PK
 
Регистрация: 16.09.2009
Сообщений: 253

Заготовка для ассемблера: Извлечение корня
Сообщение от laimas Посмотреть сообщение
А контроллерами желания нет заняться? У них ведь на борту сейчас чего только нет, и таймеры, и АЦП, и порт последовательный, и порт I2C, да чего только в них уже не втихивают. С минимальными затратами можно создавать все что угодно.
1. Имею мечту спроектировать свой процессор;
2. Имею мечту спроектировать свой компьютер;

Но:
1. Идея процессора очень сыра и недоработана;
2. Архитектура компьютера туманна и призрачна;
3. Не имею финансовой и физической возможно достигнуть этого опытным путём... (купить Terasic Altera DE0)
4. То же самое и с PIC...
Ответить с цитированием
  #13 (permalink)  
Старый 18.03.2015, 21:18
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Из написанного:

Тем самым, это уже не 64кб, а 192кб памяти, без всяких переключений страниц.

В любом случае это страницы, ибо процессор не может адресовать более 64КБ, просто представлять страницы можно по разному. В 80С48 ПЗУ программ имеет организацию, которую можно назвать страницами, а обращение к ним определяется командами. В контроллерах постарше можно задействовать разряды какого либо порта, расширив диапазон адресов, но ведь код все равно будет по границе разрядности, нельзя разбить байт на тетрады поместив одну в конец первой страницы, а вторую в начало второй. Да и у страничной организации есть и плюсы.

Вот до создания своего процессора я как-то не додумался. В Сколково вам надо.

PIC это немного иная архитектура МК, минимум портов, ну тоже интересная. Я уже лет 10 как не занимаюсь этим, но с запчастями, от кнопок до процессоров проблем нет, и покупать не надо, а что-то собирать нет времени. Была болезнь, ходили скупали позолоченное, достали, отдавал им. Но память, процессоры, микро ЭВМ, чего только нет, валяется, то ли выбросить, то ли ...
Ответить с цитированием
  #14 (permalink)  
Старый 19.03.2015, 18:48
Аватар для Paguo-86PK
Профессор
Отправить личное сообщение для Paguo-86PK Посмотреть профиль Найти все сообщения от Paguo-86PK
 
Регистрация: 16.09.2009
Сообщений: 253

Заготовка для ассемблера: Извлечение корня
Берём извлечения квадратного корня, ассемблер и переводим на язык JS:
// 1-в-1, как есть в ассемблере переводим в стиль Sphinx C--
// Меняем мнемонику операций в арифметические операторы
function root(x) { // x86
	var
		eax, ecx, edx, ebx, ebp, edi;
	ebp = x + 1;
	ecx = 31;
	while(ebp >> ecx)
		++ ecx;
	ebx = 1 << (ecx & -2);
	eax = 0;
	do {
		ecx = eax + ebx;
		eax >>= 1;
		edx = ecx < ebp ? -1 : 0;
		edi = edx;
		edx &= ecx;
		ebp -= edx;
		edi &= ebx;
		eax |= edi;
	} while(ebx >>= 2);
	return eax;
}

Убераем ассемблерные трюки и в итоге получаем:
function root(x) { // JS
	var
		eax, ecx, edx, ebx, ebp, edi;
	ebp = x + 1;
	ecx = 31;
	while(ebp >> ecx)
		++ ecx;
	ebx = 1 << (ecx & -2);
	eax = 0;
	do {
		ecx = eax + ebx;
		eax >>= 1;
		if(ecx < ebp) {
			ebp -= ecx;
			eax |= ebx;
		}
	} while(ebx >>= 2);
	return eax;
}

Тем самым, с языка ассемблера всё перевели в JavaScript.
Обратно, с JavaScript на язык ассемблера (i8080, Z80, 6502, 68000) перевести - дело навыков и практики. (переименовываем переменные в регистры нужного процессора, разбиваем сложные операции на кучи простейщих, заменяем математические операторы мнемониками)
function root(x) { // i8080/Z80
	var
		a, bc, de, hl, flags, sp = [], tmp;
	hl = x + 1; // i8080:inx h
	sp.push(hl); // i8080:push h
	bc = 32; // i8080:mvi c,16
	do {
		bc --; // dcr c
		flag = !(hl & 0x80000000);
		hl += hl &= 0x7FFFFFFF; // dad h
	} while(flag); // jnc _do_
	bc &= -2; // mov a,c; ani 0feh;
	hl = 1; // lxi h,1; jz _xchg_
	while(bc --) // dad h
		hl += hl; // dcr a; jnz _dad_
	de = hl; // xchg
	hl = sp.pop();	// pop h
	a = 0;		// xra a
	do {
		sp.push(a), sp.push(flags); // push psw
		sp.push(hl); // push h
		hl = a; // mov h,0; mov l,a
		hl += de; // dad d;
		tmp = hl; hl = sp.pop(); sp.push(tmp); // xthl
		bc = sp.pop(); // pop b
		flags = sp.pop(), a = sp.pop(); // pop psw
		sp.push(de); // push d
		a >>= 1; // or a; rcr
		de = a; // mov e,a
		a = bc; // mov a,c; cmp l; mov a,b; sbb h
		flags = a < hl; // push psw
		if(flags) { // jnc _pop_psw_
			a = hl; a -= bc; hl = a; // mov a,l; sub c; mov l,a; mov a,h; sbb b; mov h,a
		}
		a = de; // pop psw; mov a,e
		de = sp.pop(); // pop d
		if(flags) // jnc _mov_
			a |= de; // or e
		de >>= 2; // mov c,a; xor a,a; mov a,d; rcr; mov d,a; mov a,e; rcr; mov e,a;
	} while(de); // or d; mov a,c; jnz _do_
	return a;
}

Вот и готова адаптация под i8080/Z80...

Последний раз редактировалось Paguo-86PK, 19.03.2015 в 18:52.
Ответить с цитированием
  #15 (permalink)  
Старый 20.03.2015, 08:35
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Нет, я бы такого никогда не стал делать - писать на JS, но с учетом другого языка распиливая код под него, типа писать под CISC процессор, но командами RISC процессора. )

Наверное и слава богу, что в свое время мне не попался этот Verilog. Cи, а критические места Ассемблер, и этого хватает по самые уши, и удобно, и проще, и без посредников. Ну с другой стороны дело вкуса и привычки.
Ответить с цитированием
  #16 (permalink)  
Старый 20.03.2015, 20:48
Аватар для Paguo-86PK
Профессор
Отправить личное сообщение для Paguo-86PK Посмотреть профиль Найти все сообщения от Paguo-86PK
 
Регистрация: 16.09.2009
Сообщений: 253

Ага. Мой друг как-то сказал: Ё-моё! Я иду вверх (изучаю Phyton и т.д.) на уровень абстракции, а ты спускаешься всё ниже (от ассемблера до vhdl/verilog) до уровня вентилей и электрических связей...

Вот тут есть симулятор. Весит очень мало, но вполне годен для симуляции (разрабатываю свой процессор и видео узел на нём)...

Последний раз редактировалось Paguo-86PK, 20.03.2015 в 20:53.
Ответить с цитированием
  #17 (permalink)  
Старый 21.03.2015, 00:36
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

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

Надо будет найти архив всего что у меня накопилось, вспомнить что там есть, можно было бы скинуть что-то полезное из библиотек. Правда только, если, не пропало, многое писалось на CD-R Princo, жутко кошмарная штуковина.

Если бы можно было передать компоненты через http/ftp протокол, мог бы подарить и массу различных комплектующих.
Ответить с цитированием
  #18 (permalink)  
Старый 21.03.2015, 02:23
Аватар для Paguo-86PK
Профессор
Отправить личное сообщение для Paguo-86PK Посмотреть профиль Найти все сообщения от Paguo-86PK
 
Регистрация: 16.09.2009
Сообщений: 253

Сообщение от laimas Посмотреть сообщение
Ваш друг просто не задумывается о том, что без знаний базовой логики не появились бы и процессоры, а появление последних никак не означает смерть первых. Как и без наличия логики в мышлении никакой язык не поможет создать приложение.

Надо будет найти архив всего что у меня накопилось, вспомнить что там есть, можно было бы скинуть что-то полезное из библиотек. Правда только, если, не пропало, многое писалось на CD-R Princo, жутко кошмарная штуковина.

Если бы можно было передать компоненты через http/ftp протокол, мог бы подарить и массу различных комплектующих.
Передать? И своего хватает с лихвой!
Четыре системных блока стоят:
1. Pentium-90MHz 48Mb-RAM Windows 98 и 2000 - в ходу...
2. Pentium-233MHz MMX - сгорел 10 лет назад...
3. Pentium-IV 2400MHz 512Mb-RAM - сгорел год назад...
4. Core 2 Duo 3GHz 4Gb-RAM - сгорел год назад...
Ещё PC-XT есть! (не говоря про ZX-Spectrum, Atari-XE, Радио-86РК, Sega, Dendy, Электронника-МС, принтер-МС - пахал, "Поиск")

Семь CRT-мониторов - Flatron, HP-M500, Acer, Relysis, Disonic - пашут лишь 2 и 1 полудохлый.
(ещё монитор от Правца - исправен)

Дохлый DVR - постоянный ребут, винта нет.
Отцовские платы от ЭВМ на транзисторах, матрицы памяти на ферритовых сердечниках, видеоголовки от студийных видеомагнитофонов, гироскопы от самолётов . генераторы, аккумуляторы от АТС, моторы и пресса от шасси самолёта, радиостанция военных лет - пашет, осциллограф 1С, 15 ТВС от телевизоров, ПТК, катушечные магнитофоны / видеомагнитофон Вектор-6Ц (кажется), ламповые видеокамеры, прибор ночного виденья от танка, прожектор от самолёта...
Не устали читать?

А вот близкие - давно всё выбросить хотят, будь их воля...
А сейчас отец носит запчасти оргтехники...
Ответить с цитированием
  #19 (permalink)  
Старый 21.03.2015, 03:06
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Это проблема всех, кто занимается подобным - наличие дома приличной барахолки.

Нет, я имел ввиду комплектующие как раз под микроэлектронику - сопротивления, конденсаторы, полупроводники в чип исполнении, светодиоды различные, от миниатюрных, LED и LCD матрицы, кнопки со светодиодной подсветкой, в большей массе это компоненты японского производства. В общем тоже много всякого.

Платы различные, процессоры, память, видео карты, HDD и DVD приводы, корпуса, это добро всегда накапливалось, но собиралось в готовый компьютер и продавалось по небольшой цене. Причем это не Pentium-90, а в основном двух-ядерные AMD. Буквально четыре дня назад был собран подобный на МП Gigabyte GA-M56S-S3. Таким вещам я даю вторую жизнь, не всем по карману купить компьютер, тем более в нынешней ситуации.

Я хорошо разбираюсь в радиоэлектронике, даже работал когда-то по этой специальности, теперь все забросил, просто некогда. Так для себя, например собрал под 5" отсек УНЧ в компьютер, компактно и удобно, для контроля мне нужного более ничего и не надо.

А так, это скорее слесарить приходится, чем паять. У меня AMD FX 8350, и нагружается массой объемных задач. Случайно уронил кулер - гребенки радиатора при этом даже не погнулись, тепловые трубки даже пыль не стряхнули, а вентилятор треснул. Найти новый 120 с двумя подшипниками так и не смог. Поставил что было - на 90. Перегревался проц., включалась защита и комп. выключался, и это еще лето не наступило.

Корпус у меня отличный, а не красивый офисный ширпотреб. В нем боксы под HDD съемные, как и привода, на защелках. Прикинул, что если перенести верхний бокс HDD вниз, где есть место, а вместо него сделать бокс под 2.5" устройства (ОС у меня на SSD, плюс еще два HDD 2.5"), то вполне можно поставить вот такого монстра - http://catalog.onliner.by/fan/coolermaster/rrb2puv10gp, и еще свободнее станет.

Так и сделал, теперь нужно бокс 2.5" хороший сделать. Загрузка по полной - паковка видео, при открытых редакторах и прочих плюшках нужных, а температура CPU не выше 40 градусов. Вот такая у меня сейчас "электроника" на текущий момент.

Последний раз редактировалось laimas, 21.03.2015 в 03:10.
Ответить с цитированием
  #20 (permalink)  
Старый 21.03.2015, 15:39
Аватар для Paguo-86PK
Профессор
Отправить личное сообщение для Paguo-86PK Посмотреть профиль Найти все сообщения от Paguo-86PK
 
Регистрация: 16.09.2009
Сообщений: 253

Сообщение от laimas Посмотреть сообщение
Прикинул, что если перенести верхний бокс HDD вниз, где есть место, а вместо него сделать бокс под 2.5" устройства (ОС у меня на SSD, плюс еще два HDD 2.5"), то вполне можно поставить вот такого монстра - http://catalog.onliner.by/fan/coolermaster/rrb2puv10gp, и еще свободнее станет.
Что-то черезчур дороговат
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Решение проблемы кодировок для AJAX и PHP без iconv (cp1251 в AJAX) Serge Ageyev AJAX и COMET 10 24.04.2013 20:48
HTA-приложение для радио Pianorama Magneto Ваши сайты и скрипты 42 22.01.2012 08:34
Новая система управления сайтом Scripto CMS deepslam Ваши сайты и скрипты 38 31.01.2011 14:55
Модуль для работы с модулями JSprog Ваши сайты и скрипты 29 02.09.2009 13:31