User Tag List

Страница 1 из 2 12 ПоследняяПоследняя
Показано с 1 по 10 из 154

Тема: Мнемоники i8080 vs Z80

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1

    Регистрация
    04.03.2010
    Адрес
    Россия. Пятигорск.
    Сообщений
    2,296
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    5
    Поблагодарили
    4 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    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

    - - - Добавлено - - -

    Цитата Сообщение от Ewgeny7 Посмотреть сообщение
    а на вывод - двадцать четыре (01ххххх1, ххххх >= 01000)...
    Как вроде 27. В инструкции указан диапазон 10...37

  2. #1
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  3. #2

    Регистрация
    03.07.2005
    Адрес
    Санкт-Петербург
    Сообщений
    10,168
    Спасибо Благодарностей отдано 
    147
    Спасибо Благодарностей получено 
    84
    Поблагодарили
    55 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Viktor2312 Посмотреть сообщение
    Как вроде 27. В инструкции указан диапазон 10...37
    24. Не все коды задействованы.
    Да, удалить пост не забудь!
    Здесь набор команд представлен удобнее.

    - - - Добавлено - - -

    Цитата Сообщение от Error404 Посмотреть сообщение
    Как и сказочки про БилГейтца что он бейсик на бумажке написал.
    Я вообще такого не читал.
    Было такое, что Гей-ц, летя в самолете со своим Барсиком, умудрился что-то там ДОПИСАТЬ и закончить сей продукт. Как потом оказалось - без ошибок. Но это может быть и десяток-другой команд. Такое я где-то читал в историях барсиков.

    Цитата Сообщение от Error404 Посмотреть сообщение
    Все разработки крупных заводов или припроизводственных институтов (и блатных "золотых мальчиков" типа Билла) делались на мейнфреймах, зачастую на языках более высокого уровня чем ассемблер.
    Может быть и такое, я свечку не держал. А в моем посте больше сарказма, чем утверждения

    Цитата Сообщение от Error404 Посмотреть сообщение
    Как там в 8008 - тоже 3 питания?
    Дык.
    ScorpEvo ZS 1024 turbo+ CF-HDD/FDD/Mouse/SMUC 3.1/ProfROMse/NeoGS/ZC
    Speccy-2007 128/AY/TR-DOS

    Сайт с документацией к "Scorpion ZS 256"

  4. #3

    Регистрация
    04.03.2010
    Адрес
    Россия. Пятигорск.
    Сообщений
    2,296
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    5
    Поблагодарили
    4 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Ewgeny7 Посмотреть сообщение
    24. Не все коды задействованы.
    Ну, может. У меня в инструкциях указан диапазон такой 10...37, а особо читать не хочется их и много, они и на английском, а это соответственно долго, да и объёмные они, по 45 МБ. Поэтому особо не стал вникать в текст, но там есть и про NOP, как она реализуется. Но опять же из-за не нужности, детально вникать не хочется.

    Цитата Сообщение от Ewgeny7 Посмотреть сообщение
    Да, удалить пост не забудь!
    Спасибо, что напомнил. Обязательно, но позже.

  5. #4

    Регистрация
    03.07.2005
    Адрес
    Санкт-Петербург
    Сообщений
    10,168
    Спасибо Благодарностей отдано 
    147
    Спасибо Благодарностей получено 
    84
    Поблагодарили
    55 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Viktor2312 Посмотреть сообщение
    Но опять же из-за не нужности, детально вникать не хочется.
    А я вникаю, готовлюсь, мне миникомп на нем собирать и запускать.
    Правда, заказанный процессор опять куда-то в Черную Дыру Абамы пропал.
    Для желающих поучавствовать в тотализаторе - RF462001245CN

    - - - Добавлено - - -

    Цитата Сообщение от Viktor2312 Посмотреть сообщение
    да и объёмные они, по 45 МБ
    Возьми поменьше, по 5 с хвостиком мегабайт.

    - - - Добавлено - - -

    Вариант компа на 4004 придется таки делать с участием CPLD. Цены на реал высоки.
    А ядро 4004 с (обещанным) точным симулированием есть в интернетах. Аж в EPM570 влезает, прям как потактовый клон ВМ80
    ScorpEvo ZS 1024 turbo+ CF-HDD/FDD/Mouse/SMUC 3.1/ProfROMse/NeoGS/ZC
    Speccy-2007 128/AY/TR-DOS

    Сайт с документацией к "Scorpion ZS 256"

  6. #5

    Регистрация
    04.03.2010
    Адрес
    Россия. Пятигорск.
    Сообщений
    2,296
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    5
    Поблагодарили
    4 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Ewgeny7 Посмотреть сообщение
    А я вникаю, готовлюсь, мне миникомп на нем собирать и запускать.
    Я видел как ты бездарно растрачиваешь время и "мозги" на поделки (микроконтроллеры на рассыпухе), ИМХО. Лучше бы занялся ПЭВМ "Ириша", там поле не паханное как и по "железу", так и по ПО. Вот вчера сидел разбирался с программкой по подсчёту контрольной суммы из красной книжечки. Посмотрел, что какая команда делает, вычертил алгоритм, перевёл в коды. В общим суть уловил, что она делает, но нужно ещё разбираться. В общем интересно провёл время перед сном.
    Чистяков говорит, что чушь, я тоже пока не понял её принцип, так как на экран ничего не выводится как вроде, тупо поскладывала у себя в "уме" и вернулась в монитор.

    Вот её код:

    Код:
    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       ; Возврат в монитор
    11 00 40 01 80 03 21 00 00 1A 85 6F 13 1A 8C 67
    13 0B 78 B1 C2 09 01 CF


    Последний раз редактировалось Viktor2312; 14.12.2016 в 13:07.

  7. #6

    Регистрация
    03.07.2005
    Адрес
    Санкт-Петербург
    Сообщений
    10,168
    Спасибо Благодарностей отдано 
    147
    Спасибо Благодарностей получено 
    84
    Поблагодарили
    55 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Mick Посмотреть сообщение
    Опять на екарном бабае заказал или на сей раз на али?
    Вообще - оба раза на али. В первый раз деньги вернули. И во второй вернут, куда денутся.

    Цитата Сообщение от Viktor2312 Посмотреть сообщение
    Я видел как ты бездарно растрачиваешь время и "мозги" на поделки
    А ты зато со смыслом тратишь, ага.
    Я хоть изучаю другие архитектуры, что для самого себя полезно и интересно.
    А что ты сделаешь с Иришей?
    ScorpEvo ZS 1024 turbo+ CF-HDD/FDD/Mouse/SMUC 3.1/ProfROMse/NeoGS/ZC
    Speccy-2007 128/AY/TR-DOS

    Сайт с документацией к "Scorpion ZS 256"

  8. #7

    Регистрация
    24.01.2008
    Адрес
    Уфа
    Сообщений
    3,926
    Спасибо Благодарностей отдано 
    105
    Спасибо Благодарностей получено 
    290
    Поблагодарили
    216 сообщений
    Mentioned
    10 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Viktor2312 Посмотреть сообщение
    я тоже пока не понял её принцип
    Обычная сумма 16-битных слов (младший байт первый).

  9. #8

    Регистрация
    14.06.2005
    Адрес
    г. Калуга
    Сообщений
    10,141
    Спасибо Благодарностей отдано 
    216
    Спасибо Благодарностей получено 
    769
    Поблагодарили
    417 сообщений
    Mentioned
    23 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Ewgeny7 Посмотреть сообщение
    Правда, заказанный процессор опять куда-то в Черную Дыру Абамы пропал.
    Для желающих поучавствовать в тотализаторе - RF462001245CN
    Опять на екарном бабае заказал или на сей раз на али?
    На али можешь деньги потом вернуть, когда в заявленный срок не придет. За дней пять до окончания срока можешь уже открывать спор.
    У меня недавно тоже такое случилось, вроде трек международный, но не трекался. А так как о нем инфы нет, то проблем с возвратом денег не возникло.
    Сайт поддержки моих изделий - http://micklab.ru/
    Группа ВКонтакте - https://vk.com/micklab

  10. #9

    Регистрация
    05.10.2016
    Адрес
    г. Санкт-Петербург
    Сообщений
    1,080
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    5
    Поблагодарили
    5 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Viktor2312
    Чистяков говорит, что эта п/п-мма подсчёта КС - чушь
    Он так говорил потому, что это и не промышленный стандарт CRC и не отечественный стандарт КС F82A. Это собственное изобретение авторов ИРИШИ, чтобы контроллировать целость блоков считанных с МГ-ленты.

    Вот как принято было считать КС блока в СССР:

    Код:
    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
    Код:
    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
    PS: А логика работы подпрограммы от тебя ускользает потому-что ты написал её на неудобном ассемблере. Перепиши её в мнемониках Z80 и всё станет ясно.
    Последний раз редактировалось barsik; 14.12.2016 в 14:41.

  11. #10

    Регистрация
    04.03.2010
    Адрес
    Россия. Пятигорск.
    Сообщений
    2,296
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    5
    Поблагодарили
    4 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от barsik Посмотреть сообщение
    Вот как принято было считать КС в СССР:
    Этот код же для Z80, а соответственно мне совершенно не понятен, я мнемокоды Z80 не знаю.

    Где, в какой литературе можно подробно ознакомиться с тем как подсчитывается контрольная сумма программы?
    Где подробно, на русском расписан стандарт КС F82A.
    Чтобы можно было изучить, понять. И написать для ПЭВМ "Ириша" полноценную программу для подсчёта КС любой программы?

    Ответить лучше тут, так как здесь, это уже оффтоп получается, и если что, я потом не факт, что смогу найти ваш ответ...

Страница 1 из 2 12 ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. I8080 TO Z80 SOURCE TRANSLATOR
    от Sergey в разделе Программирование
    Ответов: 33
    Последнее: 25.05.2025, 15:08
  2. Ответов: 72
    Последнее: 08.12.2019, 00:36
  3. Совместимость Z80 и i8080 (580ВМ80)
    от Dmitry Dubrovenko в разделе Для начинающих
    Ответов: 50
    Последнее: 08.05.2016, 09:54
  4. Код эмуляции i8080 на С
    от medvdv в разделе Эмуляторы отечественных компьютеров
    Ответов: 15
    Последнее: 27.03.2015, 03:43
  5. Эмулятор i8080
    от Higgins в разделе Разное
    Ответов: 2
    Последнее: 20.05.2011, 11:43

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •