| 
	| 
	
	| 
		
	| 
			
			 
			
				18.03.2015, 20:18
			
			
			
		 |  
	| 
		
			
			| Профессор       |  | 
					Регистрация: 14.01.2015 
						Сообщений: 12,989
					 
		
 |  |  
	| Будете смеяться, но программирую на РК до сих пор
Даже и улыбки нет. Я ведь тоже на i80 собирал свои ЭВМ, писал свой BIOS, тогда когда BIOS РК де-факто стал стандартным. Какой смех, вычислительная техника увлекательна, начиная от дискретной логики кончая программируемыми контроллерами. Посмотрел по ссылкам, для меня, это "похвально", для тех кто не любит возиться с "железом" может быть и удивительно.
 
И в HEX-дампах есть свое волшебство. Был у меня когда-то товарищ, майор, и тоже болеющий РК-86, но поздно начал, да и логики в мышлении у него, скажем так, желательно бы иметь более для такого занятия. Лично я не занимался РК-86, она меня бы не удовлетворяла, ибо не было в ней нормальной графики. Почему и собирал свой, который имел под цветную графику четыре страницы памяти, который потом подарил тоже военному, его сын увлекался тоже этим, и это уже при наличии дома полноценного компьютера. Это наоборот приветствовать надо.
 
Так вот пришел майор, где-то откопал в архивах об обновлении РК, и что-то связанное с новым знакогенератором, если мне только память не изменяет. В общем помню, что я рассказывал ему о работе знакогенератора. Он мне задает вопрос:
  
- А как ты по этой фиге (дампу) понял, что это так работает?
 
Ну я ему и показал на листочке в клеточку как работает. Он смотрел на меня так, словно я Христос открывший ему глаза на мироздание.    
А контроллерами желания нет заняться? У них ведь на борту сейчас чего только нет, и таймеры, и АЦП, и порт последовательный, и порт I2C, да чего только в них уже не втихивают. С минимальными затратами можно создавать все что угодно. 
			
			
	
			
			
			
			
			
				  |  |  
	| 
		
	| 
			
			 
			
				18.03.2015, 20:49
			
			
			
		 |  
	| 
		
			|  | Профессор       |  | 
					Регистрация: 16.09.2009 
						Сообщений: 253
					 
		
 |  |  
	| 
				Заготовка для ассемблера: Извлечение корня
			 
	
 
	| Сообщение от laimas   |  
	| А контроллерами желания нет заняться? У них ведь на борту сейчас чего только нет, и таймеры, и АЦП, и порт последовательный, и порт I2C, да чего только в них уже не втихивают. С минимальными затратами можно создавать все что угодно. |  
	
 1. Имею мечту спроектировать свой процессор ; 
2. Имею мечту спроектировать свой компьютер;
 
Но: 
1. Идея процессора очень сыра и недоработана; 
2. Архитектура компьютера туманна и призрачна; 
3. Не имею финансовой и физической возможно достигнуть этого опытным путём... (купить Terasic Altera DE0 ) 
4. То же самое и с PIC... |  |  
	| 
		
	| 
			
			 
			
				18.03.2015, 21:18
			
			
			
		 |  
	| 
		
			
			| Профессор       |  | 
					Регистрация: 14.01.2015 
						Сообщений: 12,989
					 
		
 |  |  
	| Из написанного:Тем самым, это уже не 64кб, а 192кб памяти, без всяких переключений страниц. 
В любом случае это страницы, ибо процессор не может адресовать более 64КБ, просто представлять страницы можно по разному. В 80С48 ПЗУ программ имеет организацию, которую можно назвать страницами, а обращение к ним определяется командами. В контроллерах постарше можно задействовать разряды какого либо порта, расширив диапазон адресов, но ведь код все равно будет по границе разрядности, нельзя разбить байт на тетрады поместив одну в конец первой страницы, а вторую в начало второй. Да и у страничной организации есть и плюсы.
 
Вот до создания своего процессора я как-то не додумался.    В Сколково вам надо.
 
PIC это немного иная архитектура МК, минимум портов, ну тоже интересная. Я уже лет 10 как не занимаюсь этим, но с запчастями, от кнопок до процессоров проблем нет, и покупать не надо, а что-то собирать нет времени. Была болезнь, ходили скупали позолоченное, достали, отдавал им. Но память, процессоры, микро ЭВМ, чего только нет, валяется, то ли выбросить, то ли ...
			
			
	
			
			
			
			
			
				  |  |  
	| 
		
	| 
			
			 
			
				19.03.2015, 18:48
			
			
			
		 |  
	| 
		
			|  | Профессор       |  | 
					Регистрация: 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.
 |  |  
	| 
		
	| 
			
			 
			
				20.03.2015, 08:35
			
			
			
		 |  
	| 
		
			
			| Профессор       |  | 
					Регистрация: 14.01.2015 
						Сообщений: 12,989
					 
		
 |  |  
	| Нет, я бы такого никогда не стал делать - писать на JS, но с учетом другого языка распиливая код под него, типа писать под CISC процессор, но командами RISC процессора. ) 
Наверное и слава богу, что в свое время мне не попался этот Verilog. Cи, а критические места Ассемблер, и этого хватает по самые уши, и удобно, и проще, и без посредников. Ну с другой стороны дело вкуса и привычки.   |  |  
	| 
		
	| 
			
			 
			
				20.03.2015, 20:48
			
			
			
		 |  
	| 
		
			|  | Профессор       |  | 
					Регистрация: 16.09.2009 
						Сообщений: 253
					 
		
 |  |  
	| Ага. Мой друг как-то сказал: Ё-моё! Я иду вверх (изучаю Phyton и т.д.) на уровень абстракции, а ты спускаешься всё ниже (от ассемблера до vhdl/verilog) до уровня вентилей и электрических связей...Вот тут  есть симулятор. Весит очень мало, но вполне годен для симуляции (разрабатываю свой процессор и видео узел на нём)...			 Последний раз редактировалось Paguo-86PK, 20.03.2015 в 20:53.
 |  |  
	| 
		
	| 
			
			 
			
				21.03.2015, 00:36
			
			
			
		 |  
	| 
		
			
			| Профессор       |  | 
					Регистрация: 14.01.2015 
						Сообщений: 12,989
					 
		
 |  |  
	| Ваш друг просто не задумывается о том, что без знаний базовой логики не появились бы и процессоры, а появление последних никак не означает смерть первых. Как и без наличия логики в мышлении никакой язык не поможет создать приложение.
 Надо будет найти архив всего что у меня накопилось, вспомнить что там есть, можно было бы скинуть что-то полезное из библиотек. Правда только, если, не пропало, многое писалось на CD-R Princo, жутко кошмарная штуковина.
 
 Если бы можно было передать компоненты через http/ftp протокол, мог бы подарить и массу различных комплектующих.
 |  |  
	| 
		
	| 
			
			 
			
				21.03.2015, 02:23
			
			
			
		 |  
	| 
		
			|  | Профессор       |  | 
					Регистрация: 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Ц (кажется), ламповые видеокамеры, прибор ночного виденья от танка, прожектор от самолёта... 
Не устали читать?
 
А вот близкие - давно всё выбросить хотят, будь их воля... 
А сейчас отец носит запчасти оргтехники... 
			
			
	
			
			
			
			
			
				  |  |  
	| 
		
	| 
			
			 
			
				21.03.2015, 03:06
			
			
			
		 |  
	| 
		
			
			| Профессор       |  | 
					Регистрация: 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.
 |  |  
	| 
		
	| 
			
			 
			
				21.03.2015, 15:39
			
			
			
		 |  
	| 
		
			|  | Профессор       |  | 
					Регистрация: 16.09.2009 
						Сообщений: 253
					 
		
 |  |  
	| 
	
 
	| Сообщение от laimas   |  
	| Прикинул, что если перенести верхний бокс HDD вниз, где есть место, а вместо него сделать бокс под 2.5" устройства (ОС у меня на SSD, плюс еще два HDD 2.5"), то вполне можно поставить вот такого монстра - http://catalog.onliner.by/fan/coolermaster/rrb2puv10gp, и еще свободнее станет. |  
	
 Что-то черезчур дороговат  |  |  |  |