Модераторы: LSD

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> zx+asm, subj 
V
    Опции темы
oleg1973
Дата 13.6.2005, 14:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


asm fanat
****


Профиль
Группа: Экс. модератор
Сообщений: 3283
Регистрация: 16.7.2003
Где: Italy




и так пока там решаетса вопрос о том делат тему или нет вот мои наблюдения на тему:
после комфорта вин/линух с их окошками кодит в самом емуляторе ушербно )
рекомендую кросс компилер sjasm или z80asm при необходимости к ним прикручиваетса IDE

еше нам понадобитца некий софт для переноса скомпиленного бинарника на образ диска TRD
я нашел пару плагинов для тотал командера, работают вполне сносно

ну и естестно нада емулятор, тем у кого реал спека нет )
помучив вчера чтук 10 емулей я остановилса на

EmuZWin v2.6 release 1.6
(С) by Vladimir Kladov, 2003-2005

и

ZX-Emul for Windows v0.31a by Vladimir Yudin aka Lion17
Rostov-on-Don, Russia © 2002-2005

кому нада ссылки пишите или могу сюда кинут )))
в принципе в гуугле за 5 мин исчетса



--------------------
SST 465555
icq 200-512-712
PM MAIL WWW ICQ   Вверх
Payne
Дата 13.6.2005, 20:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Детектив
*


Профиль
Группа: Участник
Сообщений: 247
Регистрация: 6.4.2005
Где: Петербург




Я думаю, на первых порах можно обойтись эмулем и программой GENS v MONS. Многое еще нужно вспомнить, многому просто научиться.
На крайняк я могу достать "из под дивана" свой Спек, подключить его к ящику (а то монитор че-то кашлял, когда я его последний раз включал smile ), к магнитофону, а потом юзать тот же Real Spectrum, чтобы делать TAP-images.

Цитата(oleg1973 @ 13.6.2005, 14:42)
EmuZWin v2.6 release 1.6
(С) by Vladimir Kladov, 2003-2005

и

ZX-Emul for Windows v0.31a by Vladimir Yudin aka Lion17
Rostov-on-Don, Russia © 2002-2005

А почему не поюзать ZX-32?
PM MAIL WWW ICQ Skype   Вверх
oleg1973
Дата 13.6.2005, 21:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


asm fanat
****


Профиль
Группа: Экс. модератор
Сообщений: 3283
Регистрация: 16.7.2003
Где: Italy




а zx32 поддерживает мультиколор general sound и прочие прибамбасы?


--------------------
SST 465555
icq 200-512-712
PM MAIL WWW ICQ   Вверх
Mayk
Дата 13.6.2005, 22:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


^аВаТаР^ сообщение>>
****


Профиль
Группа: Участник
Сообщений: 2616
Регистрация: 22.5.2005
Где: за границей разум а




Давайте вспоминать команды. Переписываю их из "Ассемблер Z-80" под редакцие Y. TAHT - это единственная кника по асму на Z80, которуя я прочитал от корки до корки(тут вместо "8-битовый регистр" говорится "рука", вместо "16-битовый" - "нога").
Отмечу жирным команды, которые я не помню в той или иной мере.
(обозначения: r8 - A,B,C,D,E,H,L, r16 - BC, DE, HL, IX, IY, n8 - любое 8-битное число, cn - условие, значение одного из флагов, n16 - любое 16-битное число)

ADC A, r8 - сложение с учетом переполнения
ADC A, n8 - сложение с учетом переполнения
ADC A, (HL)/(IX+n8)/(IY+n8) - сложение с учетом переполнения
ADC HL, BC/DE/HL/SP - сложение с учетом переполнения
ADD A, r8 - сложение
ADD A, n8 - сложение
ADD A, (HL)/(IX+n8)/(IY+n8) - сложение
ADD HL, BC/DE/HL/SP - сложение
ADD IX, BC/DE/IX/SP - сложение
ADD IY, BC/DE/IY/SP - сложение
AND r8/n8/(HL)/(IX+n8)/(IY+n8) - логическое И для аккумулятора.
BIT - проверка включен ли n-ный бит
CALL addr - вызов процедуры
CALL cond, addr - вызов процедуры по условию
CCF - инвертирование значения флага переноса CY (Payne)
CP r8 - сравнить аккумулятор с регистром
CP n8 - сравнить с аккумулятор с числом
CPD - сравнение аккумулятора и ячейки с декрементом
CPDR - сравнение аккумулятора и ячейки с декрементом BC раз
CPI - сравнение аккумулятора и ячейки с инкрементом
CPIR - сравнение аккумулятора и ячейки с инкрементом BC раз
CPL - команда, инвертирующая все биты значения из регистра-аккумулятора (Payne)
DAA - BCD коррекция после сложение(19h+01h=1ah -- daa --> 20h)
DEC (HL/IX+n/IY+n) - вычесть единицу из указанной ячейки памяти
DEC r8/r16/SP - вычесть единицу из указанного регистра
DI - запретить прерывания
DJNZ n8 - уменьшает B, сравнивает его с нулем, если не ноль - прыжок
EI - разрешить прерывания
EX (SP), HL/IX/IY - обменять значения верхушки стека с указаным регистром
EX AF, AF' - обменять значения AF и альтернативного AF'
EX DE, HL - обменять значения DE и HL
EXX - обменять регистры и альтернативные 'регистры
HALT - ничего не делать до прерывания
IM 0/1/2 - режим прерывания.
IN r8, ( C ) - принять байт из порта, записанного в C
IN A, n8 - принять байт из порта под номером n8
INC (HL/IX+n8/IY+n8) - прибавить единицу к указанной ячейке памяти
INC r8/r16/SP - увеличить регистр на 1
IND - ввод байта из порта в ячейку памяти с декрементом (Payne)
INDR - ввод массива значений из портов в память с декрементом
INI -ввод байта из порта в ячейку памяти с инкрементом (Payne)
INIR - ввод массива значений из портов в память с инкрементом (Payne)
JP (HL/IX/IY) - Переход на адрес, который берется из указанного регистра
JP n16 - переход на указанный адрес
JP cn, n16 - переход на указанный адрес в случае выполнения условия
JR n8 - переход относительно текущего адреса
JR cn,n8 - переход относительно текущего адреса
LD (n16), A/r16/SP - загрузить в ячейку указанный регистр
LD (BC), A - загрузить в ячейку BC аккумулятор
LD (DE), A - загрузить в ячейку DE аккумулятор
LD (HL), r8 - загрузить в ячейку HL указанный регистр
LD (IX+n8/IY+n8), - загрузить в ячейку, номер которой r16 +n8, указанный регистр
LD r8,r8 - загрузить в один регситр содержимое другого
LD r16, r16 - загрузить в один регситр содержимое другого
LD r8,n8 - загрузить в регистр число
LD r16, n16 - загрузить в регистр число
LD r8, (HL/IX+n8/IY+n8) - загрузить в регистр ячейку памяти
LD r8, (n16) - загрузить в регистр ячейку памяти
LD r16, (n16) - загрузить в регистр ячейку памяти
LD A, R - загрузить в аккамулятор регситр сохранения памяти R
LD A, I - загрузить в аккамулятор регситр прерывания I
LD I,A - загрузить в регситр прерывания I аккамулятор (DENNN)
LD SP, (n16) - установить SP из ячейки памяти
LD SP, n16 - установить SP на ячейки памяти
LD SP, IX/IY/HL - загрузить в SP указанный регистр
LDD - byte(DE)=byte(HL), BC=BC-1, DE=DE-1, HL=HL-1
LDI - byte(DE)=byte(HL), BC=BC-1, DE=DE+1, HL=HL+1
LDDR - пока BC не ноль повторять byte(DE)=byte(HL), BC=BC-1, DE=DE-1, HL=HL-1
LDIR - пока BC не ноль повторять byte(DE)=byte(HL), BC=BC-1, DE=DE+1, HL=HL+1
NEG - изменить знак аккамулятора (A=-A)
NOP - ничего не делать

... to be continued (ниже)...

Это сообщение отредактировал(а) Mayk - 14.6.2005, 15:53


--------------------
 Здесь был кролик. Но его убили.
Человеки < кроликов, йа считаю.
PM MAIL WWW ICQ   Вверх
oleg1973
Дата 14.6.2005, 00:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


asm fanat
****


Профиль
Группа: Экс. модератор
Сообщений: 3283
Регистрация: 16.7.2003
Где: Italy




IM 0/1/2
прерывания , вектор как раз в регистр I пишется
при IM 2 (вроде сам тоже не помню) каждые 70000 тактов проц передает управление на код который находится по адресу указаному в регистре I
IM 0 не задействовано



--------------------
SST 465555
icq 200-512-712
PM MAIL WWW ICQ   Вверх
DENNN
Дата 14.6.2005, 09:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 3878
Регистрация: 27.3.2002
Где: Москва




Цитата(oleg1973 @ 14.6.2005, 00:04)
IM 0 не задействовано

IM0 кажись использовалось в микродрайвах. Там прерывание бросается по адресу, указанному в потоке. Потоки размещаются в памяти между системными переменными и областью, отведенной под код бейсика.
IM 1 - стандартный режим прерываний.
IM 2 - расширенный режим. Есть два вида конструкций. В первом виде при наступлении прерывания код следующей выполняемой инструкции помещается в стек и управление передается по адресу, записанному в ячейке по адресу, в котором старший бит равен регистру I, а младший бит равен #FF. Такая схема описывается во всей литературе, которую я видел.
Но есть еще другая конструкция железа (видимо пришедшая со времен первого спеки). В ней младший байт равен не #FF, а берется значение с шины данных, т.е. случайное число, но кратное двум (почему, сейчас не помню).
За отрисовку экрана отвечает отдельная микросхема, называемая ULA. В момент начала формирования верхней строки генерируется прерывание. На шине данных в этот момент информация, которая формирует изображение на мониторе. Именно отсюда и берется этот второй случайный байт. В более поздних моделях это было "пофиксено" и байт стал равняться всегда #FF


Цитата(Mayk @ 13.6.2005, 22:45)
LD A, I - загрузить в аккамулятор регситр I (что есть I?)

Верно. Причем вроде д.б. обратная операция LD I,A

Цитата(Mayk @ 13.6.2005, 22:45)
INI

Вроде прерывание генерировать должно было. Но на спекки не использовалась (за исключением интерфейса с микродрайвом).

Команды LDDR и LDIR примечательны тем, что на самом деле они работают не как цикл, а перемещают блок памяти за 5 тактов (могу сейчас ошибаться). Блоки источника и приемника могут перекрываться, отсюда и две вариации команды.

Сейчас многое уже не помню, но если интересно, могу в сети инфу найти и освежить память smile
PM ICQ   Вверх
Mayk
Дата 14.6.2005, 10:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


^аВаТаР^ сообщение>>
****


Профиль
Группа: Участник
Сообщений: 2616
Регистрация: 22.5.2005
Где: за границей разум а




Цитата(oleg1973 @ 14.6.2005, 00:04)
код который находится по адресу указаному в регистре I

Вот тут нашел:
Цитата

In IM 1, the processor simply executes an RST #38 instruction if an interrupt is requested.


Цитата(DENNN @ 14.6.2005, 09:49)

в котором старший бит равен регистру I, а младший бит равен #FF. Такая схема описывается во всей литературе, которую я видел.

Про IM 2 там сказано следующее
Цитата

The other mode that is commonly used on the Spectrum is IM 2. If an interrupt is requested, the processor first builds a 16 bit address by combining the I register (as the high byte) with whatever the interrupting device places on the data bus. The processor then fetches the 16-bit address at this interrupt table entry, and finally calls the subroutine at that address.--- skip ---
The normal Spectrum contains no hardware to place a byte on the bus, and the bus will therefore always read FF (because the ULA also doesn't read the screen if it generates an interrupt), so the resulting index address is 256*I+255


Цитата(DENNN @ 14.6.2005, 09:49)

Верно. Причем вроде д.б. обратная операция LD I,A

Да, есть такая.
Цитата(DENNN @ 14.6.2005, 09:49)

могу в сети инфу найти и освежить память

Давай.


Это сообщение отредактировал(а) Mayk - 14.6.2005, 10:45


--------------------
 Здесь был кролик. Но его убили.
Человеки < кроликов, йа считаю.
PM MAIL WWW ICQ   Вверх
Payne
Дата 14.6.2005, 10:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Детектив
*


Профиль
Группа: Участник
Сообщений: 247
Регистрация: 6.4.2005
Где: Петербург




Цитата(Mayk @ 13.6.2005, 22:45)
что есть I?

I - это регистр вектора прерываниий Z80.

Цитата(Mayk @ 13.6.2005, 22:45)
CPL - ???

CPL - команда, инвертирующая все биты значения из регистра-аккумулятора, то есть A -> !A. После выполнения операции устанавливаются флаги переноса и отрицательного результата.

Цитата(Mayk @ 13.6.2005, 22:45)
IND - ??? Hex : ED AA
INCR - ??? Hex : ED BA
INI - ??? Hex: ED A2
INIR - ??

IND - ввод байта из порта в ячейку памяти с декрементом;
INCR - ?
INI - ввод байта из порта в ячейку памяти с инкрементом;
INIR - ввод массива значений из портов в память с инкрементом.
PM MAIL WWW ICQ Skype   Вверх
Mayk
Дата 14.6.2005, 11:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


^аВаТаР^ сообщение>>
****


Профиль
Группа: Участник
Сообщений: 2616
Регистрация: 22.5.2005
Где: за границей разум а




Цитата(Mayk @ 13.6.2005, 22:45)
CPF - ??? - сравнить с флагом? (команда 3F)

Опечатка в книге. Следует читать CCF.
CCF - сбросить флаг переноса C

Цитата(Mayk @ 13.6.2005, 22:45)
CPD - ??? - Hex: ED A9

Опытным путем - сравнение аккамулятора A и (HL) с декрементом HL, BC
По аналогии:
CPI - Опытным путем - сравнение аккамулятора A и (HL) с декрементом BC, инкрементом HL

CPIR - Выполнить команду CPI BC кол-во раз
CPDR - Выполнить команду CPD BC кол-во раз

INCR - Двойная опечатка в книге(ну и мрак). Похоже следует читать
INDR, Opcode: ED 8A
По аналогии - ввод массива значений из портов в память с декрементом.
Похоже, половину команд вспомнили.

Это сообщение отредактировал(а) Mayk - 14.6.2005, 11:39


--------------------
 Здесь был кролик. Но его убили.
Человеки < кроликов, йа считаю.
PM MAIL WWW ICQ   Вверх
Payne
Дата 14.6.2005, 12:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Детектив
*


Профиль
Группа: Участник
Сообщений: 247
Регистрация: 6.4.2005
Где: Петербург




Цитата(Mayk @ 14.6.2005, 11:12)
CCF - сбросить флаг переноса C

В моей книге дано следующее описание: CCF - инвертирование значения флага переноса CY. При этом состояние флага переноса меняется на противоположное, флаг отрицательного результата N сбрасывается, состояние флага H не определено.

Цитата(Mayk @ 14.6.2005, 11:12)
Похоже, половину команд вспомнили.

Может, нужно еще вспомнить регистры процессора Z80?
Предлагаю сделать это.

Регистры данных и аккумулятор
Микропроцессор Z80 работает с двумя наборами регистров - основным и альтернативным. Оба набора состоят из семи 8-разрядных регистров данных и флагового регистра. Регистры основного набора обозначаются буквами A, B, C, D, E, H, L и F (флаговый). Регистры альтернативного набора соответственно - A', B', C', D', E', H', L' и F'. С помощью специальных команд можно переключать работу процессора с одного набора регистров на другой. Но определить, какой из наборов активен в данный момент, невозможно.
Для выполнения многих команд обрабатываемые данные должны быть занесены в специальный регистр - аккумулятор A.
Команды, обрабатывающие 16-разрядные числа, используют пары регистров в следующих сочетаниях: BC, DE, HL, AF и, соответственно, BC', DE', HL', AF'. При этом в регистры B, D, H, A, B', D', H', A' записывается старший байт числа, а в C, E, L, F, C', E', L', F' - младший. Спаренные регистры, например, можно использовать для хранения адресов ячеек памяти.

Счетчик команд
Выполняя очередную команду, процессор должен знать, откуда ему взять следующую. За этим следит 16-разрядный регистр счетчика команд PC. В PC записывается адрес команды, которая должна выполниться после текущей.

Индексные регистры
Существует возможность обращаться к ячейкам памяти, указывая смещение их адреса относительно содержимого 16-разрядных индексных регистров IX и IY. Смещение может быть задано числом в пределах -128...+127.

Указатель стека
16-разрядный регистр указателя стека SP содержит адрес вершины стека. Здесь, думаю, все понятно, поскольку стек в Z80 работает по тому же принципу, что и в x86/Pentium. То есть так же растет в сторону уменьшения адресов и при каждой записи или чтении адрес вершины стека меняется на 2.

Регистр флагов
Флагом называется отдельный бит регистра флагов F. Значимыми являются 6 из 8 битов флагового регистра:
- бит 0. CY (carry flag) - флаг переноса;
- бит 1. N (negative) - флаг отрицательного результата;
- бит 2. P/V (parity/overflow) - флаг четности/переполнения;
- бит 4. H (half-carry) - флаг вспомогательного переноса;
- бит 6. Z (zero) - флаг нуля;
- бит 7. S (sing) - флаг вычитания.
PM MAIL WWW ICQ Skype   Вверх
DENNN
Дата 14.6.2005, 13:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 3878
Регистрация: 27.3.2002
Где: Москва




Цитата(Payne @ 14.6.2005, 12:57)
обращаться к ячейкам памяти, указывая смещение их адреса относительно содержимого 16-разрядных индексных регистров IX и IY.

Анналогичные операции выполняются с парой регистров HL.
PM ICQ   Вверх
oleg1973
Дата 14.6.2005, 13:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


asm fanat
****


Профиль
Группа: Экс. модератор
Сообщений: 3283
Регистрация: 16.7.2003
Где: Italy




ну что все вспомнили? )
ldir силная чтука на х86 ее нехватает )
но тока она не за 5 тактов перебрасывает там скокото тактов на байт
факт что перерисовка экрана с ldir вроде как не получается, не укладываетса в 70000 тактов что приводит к мерцанию
поэтому все вымучивауют свои варианты обновления экрана



--------------------
SST 465555
icq 200-512-712
PM MAIL WWW ICQ   Вверх
Mayk
Дата 14.6.2005, 15:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


^аВаТаР^ сообщение>>
****


Профиль
Группа: Участник
Сообщений: 2616
Регистрация: 22.5.2005
Где: за границей разум а




Цитата(Payne @ 14.6.2005, 12:57)
CCF - инвертирование значения флага переноса CY

Точно!


Цитата(oleg1973 @ 14.6.2005, 13:35)
ну что все вспомнили? )

Нее, у нас еще половина команд осталась ;)

Итак (нашел файлик со списком команд и их кратким описанием. Нет опечтакам!):

OR r8/n8/(HL)/(IX+n8)/(IY+n8) - логическое или для аккумулятора и операнда
OUT (n8), A - вывод аккумулятора в порт n8
OUT ( C ), r8 - вывод байта в порт
OUTD - вывод байта в порт с декрементом
OTDR - делать OUTD пока b не 0
OUTI - вывод байта в порт с инкрементом
OTIR - делать OUTI пока b не 0
POP r16/AF - восстановить из стека 16-битный регистр
PUSH r16/AF - поместить в стек 16-битный регистр
RES 0-7, r - сбросить указанный бит в указанном регистре
RES 0-7, (HL)/(IX+n8)/(IY+n8) - сбросить указанный бит в ячейки памяти
RET - возврат
RET cn - возврат при условии
RETI - возврат из прерывания
RETN - возврат из немаскируемого прерывания
RLA - ну и куда девается крайний левый(кстати, это который 0x80?) бит?
RL r8 - повороты я не помню
RLCA - вот это кажется крайний бит кидает в другой крайний - ???
RLC r8 - ???
RLC (HL)/(IX+n8)/(IY+n8) - ???
RLD - ???
RRA - ???
RR r8 -???
RRCA - ???
RRC r8 - ???
RRC (HL)/(IX+n8)/(IY+n8) - ???
RRD - ???
RST 0/0x08/0x10/0x18/0x20/0x28/0x30/0x38 - аналогично CALL 0/../0x38, но в одну команду
SBC r8 - вычесть из аккумулятора r8 с учетом флага переноса
SBC A, n8 - вычесть из аккумулятора n8 с учетом флага переноса
SBC (HL) - вычесть из аккумулятора ячейку памяти с учетом флага переноса
SBC A, (IX+n8)/(IY+n8) - вычесть из аккумулятора ячейку памяти с учетом флага переноса
SCF - установить флаг переноса
SET 0-7, r8/(HL)/(IX+n8)/(IY+n8) - установить бит в ячейке памяти
SLA r8 - сдвиг бит регстра влево (умножение на 2)
SLA (HL)/(IX+n8)/(IY+n8) - сдвиг бит влево в ячейке
SRA r8 - сдвиг бит регстра вправо (деление на 2)
SRA (HL)/(IX+n8)/(IY+n8) - сдвиг бит вправо в ячейке
SLL r8 - ???
SLL (HL)/(IX+n)/(IY+n) - ???
SRL r8 - ???
SRL (HL)/(IX+n)/(IY+n) - ???
SUB r8 - вычесть регистр из аккумулятора
SUB n8 - вычесть n8 из аккумулятора
SUB (HL)/(IX+n)/(IY+n) - вычесть ячейку памяти из аккумулятора
XOR r8 - логическое исключающее или для аккумулятора и r8
XOR n8 - логическое исключающее или для аккумулятора и n8
XOR (HL)/(IX+n)/(IY+n) - логическое исключающее или для аккумулятора и ячейки памяти


Надо еще вспомнить устройство экрана, ввод информации с клавиатуры, работу с памятью >48K, работу с TRDOS.

Это сообщение отредактировал(а) Mayk - 14.6.2005, 15:43


--------------------
 Здесь был кролик. Но его убили.
Человеки < кроликов, йа считаю.
PM MAIL WWW ICQ   Вверх
oleg1973
Дата 14.6.2005, 15:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


asm fanat
****


Профиль
Группа: Экс. модератор
Сообщений: 3283
Регистрация: 16.7.2003
Где: Italy




Цитата
RLA - ну и куда девается крайний левый(кстати, это который 0x80?) бит?
а почему он должен куда то деватся? помоему это крутит акумулятор и все
а команды типа RLC. делают тоже самое но с установкой влага С в зависимости от состояния бита (вроде так )


--------------------
SST 465555
icq 200-512-712
PM MAIL WWW ICQ   Вверх
Mayk
Дата 14.6.2005, 15:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


^аВаТаР^ сообщение>>
****


Профиль
Группа: Участник
Сообщений: 2616
Регистрация: 22.5.2005
Где: за границей разум а




Цитата(oleg1973 @ 14.6.2005, 15:50)
а почему он должен куда то деватся?

Он может попасть в C и/или в другой крайний бит или вообще исчезнуть.
То есть RLCшники ставят флаг C в крайний левый бит, крутят байт, на место крайнего правого бита ставят C(он же левый бит до RLC)?




--------------------
 Здесь был кролик. Но его убили.
Человеки < кроликов, йа считаю.
PM MAIL WWW ICQ   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила раздела «Флейм»
Sneg0k

Добро пожаловать в «Флейм».

В разделе не действуют многие правила:

  • Можно оффтопить(умеренно)
  • Можно общаться на темы, не только связанные с программированием.

Строго запрещено:

  • Размещать рекламу
  • Обсуждать политику
  • Оскорблять друг-друга и переходить на личности
  • Наезжать, провоцировать других участников форума
  • Материться
  • Троллить

Напоминаем о существовании волшебной кнопочки "Репорт". Если вы увидели сообщение, несовместимое с жизнью, просьба подвести на нее курсор и клацнуть левой клавишей мышки. Тем самым вы сможете призвать злого, но жутко справедливого джина-модератора, который нашлет порчу на злостного нарушителя. Кстати - счётчик сообщений здесь не растёт.


Глас Винграда:


Глас Философии:


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Sneg0k

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Флейм | Следующая тема »


 




[ Время генерации скрипта: 0.1146 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.