А кто сказал, что я этого не делаю)
Вид для печати
По теме мнемоник. Разумеется, это вопрос из разряда "фломастеров".
Я, например, начинал с интеловских, они для меня родные и понятные. Если брать аналогию из языков разговорных, я ими "думаю".
Два раза заставлял себя осилить "вражеские" мнемоники Z80, не смог, мозг отторгает. Опять же, вижу аналогию с разговорным языком: если бы у нас слова были "почти одинаковыми", и отличались "парой символов" в конце, то учить такой язык лично мне было бы крайне трудно, а точнее - невозможно.
Ловлю себя на том, что разнообразие интеловских мнемоник зачастую работает как комментарии к коду: смотрю на листинг и сразу понимаю о чём речь, где инициализация параметров цикла (LXI..), а где тело (LDAX/STAX/MOV), причём по последовательности последних сразу понятно из "базового" [HL] идёт взятие данных (MOV - первый) или из какого-то другого регистра (первый LDAX..). Вплоть до того, что по отличию вводной "LXI.." или "LHLD.." мгновенно понимаю какая у меня подпрограмма! Если бы было сухое "LD..", то пришлось бы каждый раз вникать.
Портянка из визуально совершенно одинаковых LD х,х лично для меня сродни дампу машинных кодов. Впрочем, в последних я когда-то программировал, и там как раз визуально таки были отличия (все эти конструкции "21 хх хх", "С3 хх хх", "CD хх хх", "E5 D5 C5" и т.п. читаются на раз.
Как-то так :v2_dizzy_snowball:
Ну вот я уже говорил ранее: в интельных мнемониках программу можно читать. В зилоговских ее надо дополнительно распарсивать. Так что разрабы были умные, вопреки стенаниям barsik'а, они заботились о программистах тоже, ибо чтение листинга это тоже в какой-то степени ассемблирование. И если программа бездушная возьмет скоростью, то живые мозги уже начнут спотыкаться (и требовать обязательного тщательного комментирования).
Я кстати тоже, когда на любой хекс смотрю сразу глаза цепляются и синхронизируются к командам ВМ80, даже там, где это не надо. :)
http://www.justkino.org/uploads/post...075_skrin3.jpg
Где не надо, там обычно нет привычных конструкций, так что глазу особо не за что цепляться... /-)
Даже если вижу "FE 0D", то глаз уже автоматом "просканировал" окружение и не нашёл там подходящего контекста (как правило это С2 хх хх опосля и CD 03 F8 до..) ;)
- - - Добавлено - - -
Имхо, скорее всего действительно уши первых мнемоник растут из "упрощения жизни" ассемблеру, а не для удобства программиста. Но "так случилось", что человекам (некоторым) это ещё и удобнее :)
Собственно, все четко поделились на тех кому ближе языки низкого уровня (и им ближе Интеловские мнемоники), и кому ближе языки высокого уровня (и соответственно, Z80). Форумные проекты участников это четко иллюстрируют, кстати. Пишущим на ЯВУ довольно странно страдать оттого что присвоение всегда делается одни и тем же знаком "=" независимо от типов присваиваемых операндов, их подобная лаконичность в коде Z80 (LD) не смущает, а наоборот воспринимается как удобство, а десять разных операторов присвоения воспринимают как нонсенс, а не удобство. Как то так?
Не соглашусь. Одна половинка меня любит кодить на "Микроне", а вторая распрекрасно "хоббится" на С++Билдере. Одно другому никак не мешает, и никаких сопоставлений между ASSM'ом и ЯВУ мозг не проводит. Иногда на Си приходится вставлять код на ASSM'е, правда сейчас значительно реже (отпала проблема нехватки быстродействия писюков :)).
Это потому, что ты либо не писал что-то вне экологии Ориона/РК/специалиста для i8080/Z80, либо даже просто не ковырял "тяжелые" программы для упомянутых ЛК. Вот например вполне осмысленный код:
http://savepic.net/8712488.png
Совпадение?Не думаю!Именно. Как ты думаешь, чей это код (подсказка на скрине)?
HardWareMan, как я вижу выделенное на скрине. С9 - это RET, 47 не помню, хотя наверное выделено неверно: там 01 С9 47, т.е. в ВС или в DE грузим 47С9h. Далее из 4000h читаем в аккум, последний сдвигаем вероятно вправо (делим пополам, если по-русски), потом по какой-то кондиции флага <C> делаем RET, далее МУВ А,Б, затем CALL 1DAh и JMP 0B35h. Ещё что-то помню даже :)
А писал я только для Орионов и для Синклера-48. "Читал" ещё РК86, Партнёр, АОН на ВМ80, ну и синклеровское всякое.
Злостно воспользовался служебным положением и вытащил тему из "Радио 86РК", где ей в общем-то и не место. Пускай место будет тут.
- - - Добавлено - - -
Поведаю о нескольких командах столь ожидаемого мною процессора i8008.
Есть у него группа команд прямой пересылки данных из регистра в регистр. Ну, как и у всех вменяемых процессоров. Моторолла МС6800 завистливо выглядывает изза угла со своими ДВУМЯ командами TAB и TBA :)
В качестве первой буквы мнемоники там взяли L(oad), что уже само по себе как-то странно... Где же MOVе? Ну да фиг с ним.
Думаете, построение мнемоник так идет типа Lxx A,B?
А вот фигу. Было сделано интересней.
Грузим в регистр А значение другого регистра или число:
LAA
LAB
LAC
LAD
LAE
LAH
LAL
LAI
Красиво, правда? :)
Могу привести подобное и для прочих регистров (B,C,D,E,H,L), но не буду, поскольку смысл понятен.
У этого процессора в большинстве случаев можно тупо парсить три буквы мнемоники и сразу пихать код команды. Здесь программа-ассемблер вообще простая как три рубля должна быть. Но при чтении сорцов поначалу возникает чувство огромной кучи команд, которые ты панически "не помнишь". Но потом вспоминаешь, что это лишь разновидность того-то.
Вот в данном случае, как мне кажется, есть слегка перебор с привязкой мнемоника-код.
- - - Добавлено - - -
Бонусом - догадайтесь, что делает команда LLL :)
ёптель, так об этом я и писал Х страниц треда ранее: тупое упрощение ассемблирующей программы - вот причина особенностей мнемоник Интел - все переложить на программиста, он таковский, "жить захочет и не так раскорячится". Десяток мнемоник загрузки у 8080 это еще оказывается у них был прогресс: научились обрабатывать операнды из второго столбика :) , у 8008 их вон было пару сотен. Рукалицо.
Error404, просто самый первый ассемблер писался ручками на бумажжжке. Поэтому он обязан был быть простой, краткий, легкий, резкий как понос. А вот далее уже можно было усложнять его, поскольку писать новый в старом - уже легче, чем на бумажке :)
- - - Добавлено - - -
Вообще, изучать старинные процессоры - очень интересно.
Например, у этого же 8008 есть по ВОСЕМЬ кодов команд JMP и CAL. Но нет команды NOP. Зато HLT - аж три кода, включая и... 00h.
Работа с портами организована тоже - полное рукалицо. То, к какому порту ты обращаешься, прописано в самом коде команды, а не в отдельном байте. При этом, портов на ввод может быть восемь (0100ххх1), а на вывод - двадцать четыре (01ххххх1, ххххх >= 01000)...
Что поделаешь, заря процессоростроения...
INTEL 8008 Instructions
CPU control group
binary old new Description
0 0 0 0 0 0 0 x HLT HLT
1 1 1 1 1 1 1 1 HLT HLT
Input and output group
binary old new Description
0 1 0 0 M M M 1 INP IN port MMM
0 1 R R M M M 1 OUT OUT port RRMMM (RR <> 0)
Jump group
binary old new Description
0 1 x x x 1 0 0 JMP JMP unconditionally jump
0 1 0 0 0 0 0 0 JFC JNC JMP if carry = 0
0 1 0 0 1 0 0 0 JFZ JNZ JMP if result <> 0
0 1 0 1 0 0 0 0 JFS JP JMP if sign = 0 (positive)
0 1 0 1 1 0 0 0 JFP JPO JMP if parity = odd
0 1 1 0 0 0 0 0 JC JC JMP if carry = 1
0 1 1 0 1 0 0 0 JZ JZ JMP if result = 0
0 1 1 1 0 0 0 0 JS JM JMP if sign = 1 (negative)
0 1 1 1 1 0 0 0 JP JPE JMP if parity = even
Call and return group
binary old new Description
0 1 x x x 1 1 0 CAL CALL unconditionally call subroutine
0 1 0 0 0 0 1 0 CFC CNC CALL if carry = 0
0 1 0 0 1 0 1 0 CFZ CNZ CALL if result <> 0
0 1 0 1 0 0 1 0 CFS CP CALL if sign = 0 (positive)
0 1 0 1 1 0 1 0 CFP CPO CALL if parity = odd
0 1 1 0 0 0 1 0 CC CC CALL if carry = 1
0 1 1 0 1 0 1 0 CZ CZ CALL if result = 0
0 1 1 1 0 0 1 0 CS CM CALL if sign = 1 (negative)
0 1 1 1 1 0 1 0 CP CPE CALL if parity = even
0 0 x x x 1 1 1 RET RET unconditionally return
0 0 0 0 0 0 1 1 RFC RNC RET if carry = 0
0 0 0 0 1 0 1 1 RFZ RNZ RET if result <> 0
0 0 0 1 0 0 1 1 RFS RP RET if sign = 0 (positive)
0 0 0 1 1 0 1 1 RFP RPO RET if parity = odd
0 0 1 0 0 0 1 1 RC RC RET if carry = 1
0 0 1 0 1 0 1 1 RZ RZ RET if result = 0
0 0 1 1 0 0 1 1 RS RM RET if sign = 1 (negative)
0 0 1 1 1 0 1 1 RP RPE RET if parity = even
0 0 A A A 1 0 1 RST RST call subroutine at adrs AAA000
Load group
binary old new Description
1 1 D D D S S S Lds MOV d,s load d with content of s
1 1 D D D 1 1 1 LdM MOV d,M load d with content of Mem
1 1 1 1 1 s s s LMs MOV M,s load M with content of s
0 0 d d d 1 1 0 LdI MVI d Load register d with data
0 0 1 1 1 1 1 0 LMI MVI M Load Memory M with data b
Arithmetic group
binary old new Description
1 0 0 0 0 s s s ADs ADD s add contents of s to A
1 0 0 0 0 1 1 1 ADM ADD M add contents of M to A
0 0 0 0 0 1 0 0 ADI ADI b add constant b to A
1 0 0 0 1 s s s ACs ADC s add contents of s + CY to A
1 0 0 0 1 1 1 1 ACM ADC M add contents of M + CY to A
0 0 0 0 1 1 0 0 ACI ACI b add constant b + CY to A
1 0 0 1 0 s s s SUs SUB s sub contents of s from A
1 0 0 1 0 1 1 1 SUM SUB M sub contents of M from A
0 0 0 1 0 1 0 0 SUI SUI b sub constant b from A
1 0 0 1 1 s s s SBs SBB s sub contents of s + CY from A
1 0 0 1 1 1 1 1 SBM SBB M sub contents of M + CY from A
0 0 0 1 1 1 0 0 SBI SBI b sub constant b + CY from A
1 0 1 0 0 s s s NDs ANA s logical AND of s and A to A
1 0 1 0 0 1 1 1 NDM ANA M logical AND of M and A to A
0 0 1 0 0 1 0 0 NDI ANI b logical AND of const b and A to A
1 0 1 0 1 s s s XRs XRA s logical XOR of s and A to A
1 0 1 0 1 1 1 1 XRM XRA M logical XOR of M and A to A
0 0 1 0 1 1 0 0 XRI XRI b logical XOR of const b and A to A
1 0 1 1 0 s s s ORs ORA s logical OR of s and A to A
1 0 1 1 0 1 1 1 ORM ORA M logical OR of M and A to A
0 0 1 1 0 1 0 0 ORI ORI b logical OR of const b and A to A
1 0 1 1 1 s s s CPs CMP s compare s with A, set flags
1 0 1 1 1 1 1 1 CPM CMP M compare M with A, set flags
0 0 1 1 1 1 0 0 CPI CPI b compare const b with A, set flags
0 0 d d d 0 0 0 INd INR d increment register d (d<>A)
0 0 d d d 0 0 1 DCd DCR r decrement register d (d<>A)
Rotate group
binary old new Description
0 0 0 0 0 0 1 0 RLC RLC rotate content of A left
0 0 0 0 1 0 1 0 RRC RRC rotate content of A right
0 0 0 1 0 0 1 0 RAL RAL rotate content of A left through CY
0 0 0 1 1 0 1 0 RAR RAR rotate content of A right through CY
- - - Добавлено - - -
Как вроде 27. В инструкции указан диапазон 10...37
Почти. Да, я 01 не выделил.
LXI B,47C9H
LDA 4000H
RRC
RST 1
MOV A,B
CALL 01DAH
JMP 0B35H
Вполне осмысленный код, верно? А ведь это М68000, кусок в кишках Titan - Overdrive Megademo. :)
- - - Добавлено - - -
Конечно. Чего его жалеть то? Сидит, нихрена не делает, только штаны протирает. ИЧСХ, за полвека почти ничего не изменилось.
Сказочки это все, про бумажки (ну может кроме начала 50х). Как и сказочки про БилГейтца что он бейсик на бумажке написал. Мифы. Городские легенды. Не надо примерять на себя. Все разработки крупных заводов или припроизводственных институтов (и блатных "золотых мальчиков" типа Билла) делались на мейнфреймах, зачастую на языках более высокого уровня чем ассемблер. Мейнфреймы (и машины среднего класса типа IBM360) даже в нищем СССР для этого были более чем доступны, чего уж говорить о странах золотого миллиарда. Потому что это производство, а не гараж с любителями (которых были единицы штук и ничего фундаментального или ресурсоемкого они не сделали). И перед глазами у них были примеры ассемблеров с тех самых платформ - весьма развитые (на ассемблере мейнфреймов до сих пор пишут бизнес-приложения). Другое дело, что любую разработку можно сделать удобной, а можно по принципу "сейчас бысто сделаем просто чтоб было, все равно на нем писать всерьез не станут - только чтобы ЯВУ осилить, да контроллеры с кодом в десяток строк"
- - - Добавлено - - -
Кстати, вполне возможно что бешеный успех мелким восьмибиткам и не планировался, соответственно и не напрягались особо на счет удобств пользователя. А дальше уже работал капиталистический принцип "ну пипл же хавает" (чему этот тред - подтверждение).
Оффтоп. Как там в 8008 - тоже 3 питания?
24. Не все коды задействованы.
Да, удалить пост не забудь!
Здесь набор команд представлен удобнее.
- - - Добавлено - - -
Я вообще такого не читал.
Было такое, что Гей-ц, летя в самолете со своим Барсиком, умудрился что-то там ДОПИСАТЬ и закончить сей продукт. Как потом оказалось - без ошибок. Но это может быть и десяток-другой команд. Такое я где-то читал в историях барсиков.
Может быть и такое, я свечку не держал. А в моем посте больше сарказма, чем утверждения :)
Дык.
Ну, может. У меня в инструкциях указан диапазон такой 10...37, а особо читать не хочется их и много, они и на английском, а это соответственно долго, да и объёмные они, по 45 МБ. Поэтому особо не стал вникать в текст, но там есть и про NOP, как она реализуется. Но опять же из-за не нужности, детально вникать не хочется.
Спасибо, что напомнил. Обязательно, но позже.
А я вникаю, готовлюсь, мне миникомп на нем собирать и запускать.
Правда, заказанный процессор опять куда-то в Черную Дыру Абамы пропал.
Для желающих поучавствовать в тотализаторе - RF462001245CN
- - - Добавлено - - -
Возьми поменьше, по 5 с хвостиком мегабайт.
- - - Добавлено - - -
Вариант компа на 4004 придется таки делать с участием CPLD. Цены на реал высоки.
А ядро 4004 с (обещанным) точным симулированием есть в интернетах. Аж в EPM570 влезает, прям как потактовый клон ВМ80 :)
Я видел как ты бездарно растрачиваешь время и "мозги" на поделки (микроконтроллеры на рассыпухе), ИМХО. Лучше бы занялся ПЭВМ "Ириша", там поле не паханное как и по "железу", так и по ПО. Вот вчера сидел разбирался с программкой по подсчёту контрольной суммы из красной книжечки. Посмотрел, что какая команда делает, вычертил алгоритм, перевёл в коды. В общим суть уловил, что она делает, но нужно ещё разбираться. В общем интересно провёл время перед сном.
Чистяков говорит, что чушь, я тоже пока не понял её принцип, так как на экран ничего не выводится как вроде, тупо поскладывала у себя в "уме" и вернулась в монитор.
Вот её код:
11 00 40 01 80 03 21 00 00 1A 85 6F 13 1A 8C 67Код:0100 LXI D, 4000 ; Адрес начала программы
0103 LXI B, 380 ; Длина программы делённая на 2
0106 LXI H, 0000 ; Счётчик контрольной суммы
0109 LDAX D ; Выборка байт
010A ADD L ; И их суммирование в рег. H
010B MOV L, A ;
010C INX D ;
010D LDAX D ;
010E ADC H ;
010F MOV H, A ;
0110 INX D ;
0111 DCX B ; Уменьшение счётчика слов
0112 MOV A, B ;
0113 ORA C ; Проверка на границу программы
0114 JNZ 109 ; Если не конец, то уход в цикл
0117 RST 1 ; Возврат в монитор
13 0B 78 B1 C2 09 01 CF
Опять на екарном бабае заказал или на сей раз на али?
На али можешь деньги потом вернуть, когда в заявленный срок не придет. За дней пять до окончания срока можешь уже открывать спор.
У меня недавно тоже такое случилось, вроде трек международный, но не трекался. А так как о нем инфы нет, то проблем с возвратом денег не возникло.
Он так говорил потому, что это и не промышленный стандарт CRC и не отечественный стандарт КС F82A. Это собственное изобретение авторов ИРИШИ, чтобы контроллировать целость блоков считанных с МГ-ленты.Цитата:
Сообщение от Viktor2312
Вот как принято было считать КС блока в СССР:
Код:CHSUM: LD BC,0
CHSLOO: LD A,C
ADD A,(HL)
LD C,A
EX AF,AF ; при КР580 заменить на PUSH AF
CALL CMPDH
RET Z ; при КР580 заменить на JP Z,POPRET
EX AF,AF
LD A,B
ADC A,(HL)
LD B,A
INC HL
JR CHSMLOO
CMPDH: LD A,H ; это F956 в М3 и F990 в РК86
CP D
RET NZ
LD A,L
CP E
RET
PS: А логика работы подпрограммы от тебя ускользает потому-что ты написал её на неудобном ассемблере. Перепиши её в мнемониках Z80 и всё станет ясно.Код:CHSUMMA PROC ; BADR:DX, ENDADR:CX, RET:BX
MOV SI, DX
XOR BX, BX
CHS_01: ADD BL, ES:[SI]
PUSHF
CMP SI, CX
JZ CHS_02
POPF
ADC BH, ES:[SI]
INC SI
JMP CHS_01
CHS_02: POPF
RET
CHSUMMA ENDP
Этот код же для Z80, а соответственно мне совершенно не понятен, я мнемокоды Z80 не знаю.
Где, в какой литературе можно подробно ознакомиться с тем как подсчитывается контрольная сумма программы?
Где подробно, на русском расписан стандарт КС F82A.
Чтобы можно было изучить, понять. И написать для ПЭВМ "Ириша" полноценную программу для подсчёта КС любой программы?
Ответить лучше тут, так как здесь, это уже оффтоп получается, и если что, я потом не факт, что смогу найти ваш ответ...
Сколько стоят 4004 и 8008 ?
А почему забыли 4040 ?
Как можно использовать 4004? К нему же нужно свое ОЗУ и своё ПЗУ.
8008 выпускали с апреля 1972 и всего несколько лет. Почти наверняка он дохлый. Больше шансов получить живой 8008, если купить ГДР-овский аналог http://www.cpu-world.com/CPUs/8008/DDR-U808D.html. Он выпускался аж до середины 80-х.
Там ОЗУ слишком мало (640 байт). Но калькуляторы с ценой в 300-400 USD делали. Компьютеры на микропроцессорах начались только с 8008.Цитата:
Сообщение от Titus
В основном на базе 8008 делали терминалы с внутренней экранной памятью (что почти что компьютер). Читал, что на 8008 делали и любительские компьютеры, хотя и без экрана (с HEX-индикаторами).Цитата:
8008 microprocessor was used in Mark-8 computer, which is considered to be the first personal computer
Об истории вражеских микро-компьютеров:
http://oldcomputers.net/
Особенно посмотрите про APPLE-I и =II (в частности, про клуб владельцев APPLE-I).
Оно разработано было для калькуляторов. И вряд ли пошло дальше, поскольку достаточно быстро на базе 4004 слепили 8008.
Это так, но я рискнул. Причем выбрал за одну и ту же стоимость именно интеловский, я этому кооперативу чуть больше доверяю.
На 8008 делали "терминальные" компьютеры, описание парочки из них есть у меня. Для 8008 существует и BASIC, названный SCALBAL, исходники его также есть у меня. Рассчитываю использовать их.
- - - Добавлено - - -
8008 - от 3000рэ и до 1000$.
4004 - кратно дороже. Видел от 6000 рублей.
- - - Добавлено - - -
4040 так же с доставкой выходит от 6000рэ.
- - - Добавлено - - -
За вечер всё учится ПРИ ЖЕЛАНИИ.
Неее, оригинал ясен перец музейный экспонат - там "многа денег". Обычный простой i8080 позднего разлива, в пластике.
- - - Добавлено - - -
Я имел в виду всякие дампы ЕХЕ'шников от писи, там реально ни одна мышца не дёргается при просмотре :)
ORLY?
http://savepic.net/8665218.png
:D
Тут понятен только текстовый массив, но доллар в конце всё портит :)
Желания нет. А вот от КР580ВМ80А, одно удовольствие...
А с Иришей я пока ничего не делаю, но буду мучить и расширять её, проводить эксперименты, тренироваться и изучать программирование, более углублённо, вон читал Floating-Point Arithmetic Library очень интересно. А ещё хочу добавить аппаратное умножение, а потом поэкспериментировать с быстрым аппаратным умножением, в общем - что я делаю/собираюсь делать с Иришей - насиловать её мозги...
И как же мне там ответить, если это теперь стало невозможно. Личные сообщения и E-mail полностью блокированы. Причём я захожу не как гость, а как пользователь. Но сайт ведёт себя, как будто я гость. Это значит, что мой аккаунт дезактивирован. Не могу редактировать свои старые сообщения (нет кнопки "редактировать") и оставлять новые сообщения (исчезла кнопка "ответить в теме"). В моём профиле исчезли пункты "послать личное сообщение" и "послать E-mail". В профиле Viktor2312 не нажимаются кнопки "послать ЛС" и "послать E-mail".Цитата:
Сообщение от barsik
Так что теперь, уважаемый Viktor2312, лучше уж Вы к нам на Колыму, - заходите "на огонёк" на сайт ZX-PK.ru. Здесь личные сообщения отлично работают. Правда здесь "убивает" идиотическое ограничение длины ЛС на 5000 букв. Интересно зачем это вообще надо, если личные сообщения временны и после прочтения сразу-же удаляются? В этом плане Ваш сайт был лучше, т.к в нём таких идиотических ограничений нет.
Вообще-то у меня все 70 мб исходников в мнемониках Z80, но чудом нашёл нужный кусок в мнемонике КР580
Если Вы уже знаете ассемблер КР580, то для перехода на мнемоники Z80 Вам достаточно раздобыть какую-нибудь книжку, где есть сравнительная таблица мнемоник КР580 и Z80. Это часто встречается в книгах о ZX-Spectrum.Код:; ПОДСЧЕТ CHECK SUM: (HL)...(DE) --> BC
CHSUM: LXI B,0
CHSLOO: MOV A,C ; Неперемещаемо !!! 0F944H
ADD M
MOV C,A
PUSH PSW
CALL CMPDH
JZ POPRET
POP PSW
MOV A,B
ADC M
MOV B,A
INX H
JMP CHSLOO
POPRET: POP PSW
RET
; ───────────────────────────────────────────────────
; HL-DE ??
CMPDH: MOV A,H ; Неперемещаемо !!! 0F956H
CMP D
RNZ
MOV A,L
CMP E
RET
Лучшая из таблиц, что я видел приведена в книге: Madarasz Laszlo, "mP-Hobby". Издательство: Muszaki Konyvkiado. Budapest, 1987. Здесь на страницах 210...216 приведены все команды Z80, причём с кодами, а также указаны соответствующие мнемоники КР580. Я переходил на Z80 в 1989 по ней. Вообще эта книга для аппаратчиков даже полезнее, чем Дж.Коффрон "Расширение МПСС". Машиностроение, 1987. Правда есть крошечный нюанс, надо знать венгерский язык. Чтобы это прочитать мне пришлось купить ещё одну книжку: Энико Сий, "Курс венгерского языка". Издательство Танькёньвкиадо. Будапешт 1981. 630 страниц, цена 4р.20 коп (в 1988). Не обращайте внимание, что венгерский язык финно-угорской группы считается самым трудным в Европе. Уже через полгода после начала изучения, Вы сможете кое-как читать технические тексты. Ну, а имея доступ в Интернет, прочитать книгу на чужом языке вообще не проблема.
Только у вас какие-то непонятные вещи всё время проискодят.
Не был, а есть. http://vrcp.ru/smiles/fc.gif
Да не, я уж лучше там буду, тут я так времено побыл, пофлеймить...
Сохраню себе, потом поразбираюсь, что да как.
Не нужны они мне, меня Z80 не интересует.
Вообще издеваетесь, Венгерский, освоить, чтобы изучить, не нужный мне ассемблер для Z80, не увольте. Уж лучше я на родном английском почитаю, эту литературу, и интереснее и понятнее, и полезнее в освоении языка, как английского, так и машинного.
8080 Assembly Language Programming 1978
8080 Floating-Point Arithmetic Library 1978
Intel 8080 Microcomputer Systems 1975
Utilities for 8080_Based Development Systems 1981
и другую подобную...
Ладно, всё это фигня, пора удаляться и заниматься делом, а не лить флейм из пустого в порожнее... http://vrcp.ru/smiles/fi.gif
Масса софта писана под Z80. Что ужасного в том, чтобы понимать оба диалекта по сути почти одинаковых процессоров и тырить полезный код, как в данном случае? Я не вижу логики в твоих словах, Железяка :)
Ладно там изучать 7 ассемблеров - это на любителя, но в данном случае-то...