PDA

Просмотр полной версии : Микропроцессор КР580ВМ80(К580ИК80): Средства разработки



pbogdan
12.02.2008, 15:17
Необходима программа емулятора с дизасемблером или сам дизасемблер с виводом на печать (принтер лазерный) - просмотреть одну прошивку - переписывать очень много .:v2_frown:

CityAceE
12.02.2008, 16:35
IDA?

pbogdan
14.02.2008, 15:14
IDA?

Не очень подошол - нет подершки процессоров 8080 ы подобных - минимум 16 розрядов при дизасамблировании .

Ищу далее .:v2_frown:

balu_dark
14.02.2008, 18:08
а какя версия у тебя IDA? насколько помню в про есть и Z80 ( вполне можно им дизасмить 8080 - совместимость снизу вверх.)

caro
15.02.2008, 09:45
Не очень подошёл - нет поддержки процессоров 8080 и подобныхПодобный, это Z80, и ничего что мнемоника несколько отличается, лучше IDA ёще ничего не придумали.


- минимум 16 разрядов при дизасамблировании .А куда больше для 8-ми битного процессора с 16-разрядной шиной адреса?
Если у вас исходный файл больше чем 64 кБайта, то его надо разбить на страницы, максимум по 64 кбайта.

balu_dark
16.02.2008, 05:42
тут вот есть чтото интересное : http://www.emu8086.com/

andrews
16.02.2008, 12:01
Вот здесь
http://www.cpm.z80.de/
раздача халявы.

pbogdan
16.02.2008, 17:23
Подобный, это Z80, и ничего что мнемоника несколько отличается, лучше IDA ёще ничего не придумали.

А куда больше для 8-ми битного процессора с 16-разрядной шиной адреса?
Если у вас исходный файл больше чем 64 кБайта, то его надо разбить на страницы, максимум по 64 кбайта.


Processor Type

Action name: SetProcessor

Valid processor types are:
type description
---- -----------

8086 - Intel 8086
80286r - Intel 80286 real mode
80286p - Intel 80286 protected mode
80386r - Intel 80386 real mode
80386p - Intel 80386 protected mode
80486r - Intel 80486 real mode
80486p - Intel 80486 protected mode
80586r - Intel Pentium & MMX real mode (IBM PC line)
80586p - Intel Pentium & MMX prot mode
80686p - Intel Pentium Pro & MMX
k62 - AMD K6-2 with 3DNow!
p2 - Intel Pentium II
p3 - Intel Pentium III
athlon - AMD K7
p4 - Intel Pentium 4
metapc - Disassemble all IBMPC opcodes
8085 - Intel 8085
z80 - Zilog 80
z180 - Zilog 180 (Zilog 80 line)
z380 - Zilog 380
64180 - Hitachi HD64180
gb - Gameboy
z8 - Zilog 8 (Zilog 8 line)
860xr - Intel 860 XR (Intel 860 line)
860xp - Intel 860 XP
8051 - Intel 8051 (Intel 51 line)
80196 - Intel 80196 (Intel 80196 line)
80196NP - Intel 80196NP, NU
m6502 - 6502 (65xx line)
m65c02 - 65c02
pdp11 - DEC PDP/11 (PDP line)
68000 - Motorola MC68000
68010 - Motorola MC68010
68020 - Motorola MC68020
68030 - Motorola MC68030
68040 - Motorola MC68040 (Motorola 680x0 line)
68330 - Motorola CPU32 (68330)
68882 - Motorola MC68020 with MC68882
68851 - Motorola MC68020 with MC68851
68020EX - Motorola MC68020 with both
colfire - Motorola ColdFire
68K - Motorola MC680x0 all opcodes
6800 - Motorola MC68HC00
6801 - Motorola MC68HC01
6803 - Motorola MC68HC03
6301 - Hitachi HD 6301
6303 - Hitachi HD 6303
6805 - Motorola MC68HC05 (Motorola 8bit line)
6808 - Motorola MC68HC08
6809 - Motorola MC68HC09
6811 - Motorola MC68HC11
6812 - Motorola MC68HC12
hcs12 - Motorola MC68HCS12
6816 - Motorola MC68HC16
java - java (Java line)
ppc - PowerPC big endian
ppcl - PowerPC little endian (PowerPC line)
arm710a - ARM 7xx series
arm - the same as arm710a (ARM line)
armb - ARM big endian
xscalel - Intel xScale little endian
xscaleb - Intel xScale big endian
tms320c2- TMS320C2x series (TMS 16bit addressing line)
tms320c5- TMS320C5x series
tms320c6- TMS320C6x series (TMS VLIW line)
tms320c3- TMS320C3x series
sh3 - Hitachi SH3 (little endian)
sh3b - Hitachi SH3 (big endian) (Hitachi SH line)
sh4 - Hitachi SH4 (little endian)
sh4b - Hitachi SH4 (big endian)
avr - ATMEL AVR (ATMEL line)
mipsl - MIPS little endian (MIPS line:R2000, R3000, R4000,
mipsb - MIPS big endian R4200, R4300, R4400, R4600,
mipsr - MIPS & RSP R8000, R10000)
r5900 - MIPS R5900
h8300 - H8/300x in normal mode
h8300a - H8/300x in advanced mode (Hitachi H8 line)
h8s300 - H8S in normal mode
h8s300a - H8S in advanced mode
h8500 - H8/500 (Hitachi H8/500 line)
pic12cxx- Michrochip PIC 12Cxx
pic16cxx- Michrochip PIC 16Cxx (PIC line)
pic18cxx- Michrochip PIC 18Cxx
sparcb - SPARC big endian
sparcl - SPARC little endian (SPARC line)
alphab - DEC Alpha big endian
alphal - DEC Alpha little endian (ALPHA line)
hppa - HP PA-RISC big endian (HP PA-RISC line)
dsp56k - Motorola DSP 5600x
dsp561xx- Motorola DSP 561xx (DSP 56K line)
dsp563xx- Motorola DSP 563xx
dsp566xx- Motorola DSP 566xx
c166 - Siemens C166
c166v1 - Siemens C166 v1 family
c166v2 - Siemens C166 v2 family (C166 line)
st10 - SGS-Thomson ST10
super10 - Super10
st20 - SGS-Thomson ST20/C1 (ST20 line)
st20c4 - SGS-Thomson ST20/C2-C4
st7 - SGS-Thomson ST7 (ST7 line)
ia64l - Intel Itanium little endian
ia64b - Intel Itanium big endian (IA64 line)
cli - Microsoft.Net platform
net - Microsoft.Net platform (alias)
i960l - Intel 960 little endian
i960b - Intel 960 big endian (i960 line)
f2mc16l - Fujitsu F2MC-16L
f2mc16lx- Fujitsu F2MC-16LX (Fujitsu F2MC line)
tms32054- TMS320C54xx series
tms32055- TMS320C55xx series
trimedia- Trimedia
78k0 - NEC 78k/0
78k0s - NEC 78k/0s
m740 - Mitsubishi 8-bit
m7700 - Mitsubishi 16-bit
m7750 - Mitsubishi 16-bit (Mitsubishi 16-bit line)
m32r - Mitsubishi 32-bit
m32rx - Mitsubishi 32-bit extended (Mitsubishi 32-bit line)
st9 - STMicroelectronics ST9+
fr - Fujitsu FR family
m7900 - Mitsubishi M7900
kr1878 - Angstrem KR1878
ad218x - Analog Devices ADSP
oakdsp - Atmel OAK DSP
tricore - Infineon Tricore

You can change processor type only within the current line. If you have selected IBM PC line, you can't select Zilog 80 line and vice versa.
For information about additional processor modules please visit our web page at www.datarescue.com/idabase/idaproc.htm

Please note that when you change the processor type, IDA may change the target assembler, so check it out.

You may get a message saying that IDA does not know the specified processor if IDA fails to load the corresponding processor module.

Windows 32bit IDA uses .w32 file extension
Windows 64bit IDA uses .w64 file extension
Linux 32bit IDA uses .ilx file extension
Linux 64bit IDA uses .ilx64 file extension

NOTE: Changing the processor type leads to reanalysis of the whole program. Sometimes this is useful.
NOTE: when you load a new processor module, all analysis options are reset to the values specified in the configuration file.

IDA determines the default processor using the input file extension and the contents of the input file. The table which describes the input file extensions and the corresponding processor types is located in IDA.CFG file and looks like:

DEFAULT_PROCESSOR = {
/* Extension Processor */
"com" : "8086" // IDA will try the specified
"exe" : "80386r" // extensions if no extension is
"dll" : "80386r" // given.
"drv" : "80386r"
"o" : "68000"
"prc" : "68000" // PalmPilot programs
"axf" : "arm710a"
"h68" : "68000" // MC68000 for *.H68 files
"i51" : "8051" // i8051 for *.I51 files
"sav" : "pdp11" // PDP-11 for *.SAV files
"rom" : "z80" // Z80 for *.ROM files
"cla" : "java" // Java classes
"class": "java" // Java classes
"s19": "6811"
"*": "80386p" // Default processor
}

If you want to change the default processor type, you need to change this table. You may add/delete rows in this table.
See also Options submenu.

IDAB 4.92

pbogdan
16.02.2008, 17:29
Польский сервер -http://www.elektroda.pl/

http://www.elektroda.net/download/category11.html то що искал - только файл загрузил в PONY (ROM) (BIN) выгрузил в формате HEX - и всьо в норме .

Добавлено через 7 минут
Немного не в тему но з етого ж адреса -
http://www.jcwolfram.de/projekte/avr/chipbasic32/main.php

Добавлено через 2 часа 6 минут

Польский сервер -http://www.elektroda.pl/

http://www.elektroda.net/download/category11.html то що искал - только файл загрузил в PONY (ROM) (BIN) выгрузил в формате HEX - и всьо в норме .

Добавлено через 7 минут
Немного не в тему но з етого ж адреса -
http://www.jcwolfram.de/projekte/avr/chipbasic32/main.php

ftp://ftp.radio.ru/pub/arhiv/1982/10.djvu 10м команди процессора

svofski
14.02.2009, 23:41
Мне был нужен подручный и портабельный кросс-ассемблер для КР580, но почему-то находилась всё только какая-то допотопная досовская мура. Я написал свой, который работает прямо в браузере. Прошу терзать в свое удовольствие.

Прекрасный ассемблер КР580ВМ80А (http://sensi.org/~svo/i8080/)

Боюсь, что в IE он может не работать. Даже наверное не может он работать в IE. Зато в Firefox/Iceweasel, Chrome, Safari — работает. Про Оперу не уверен, напишите плз как там в Опере.

Raydac
14.02.2009, 23:53
интересное решение

andrews
15.02.2009, 00:21
почему-то находилась всё только какая-то допотопная досовская муралучшие макроассемблеры были сделаны задолго до ДОС, или в CP/M-80, или в ISIS-II. Потом это потеряло актуальность. z80 киллер 8080 :) Из всех древних ядер Intel, более или менее живое остается 8051: до сих пор есть чипы у ADI( Aduc81x-ADuc84x) http://www.analog.com/en/analog-microcontrollers/products/index.html, Atmel http://www.atmel.com/products/8051/default.asp, Maxim http://para.maxim-ic.com/en/search.mvp?fam=hsuc&tree=ucontroller, NXP http://www.nxp.com/#/homepage/cb=[t=p,p=/50809/45995]|pp=[t=pfp,i=45995]=[ и, конечно же, Silicon Labs https://www.silabs.com/Pages/default.aspx. Было бы полезней сделать интерактивный софт разработки для этого ядра. Причем, чем больше моделей микроконтроллеров будет охвачено, тем востребованней будет ресурс. Лучше его сразу делать англоязычным и посетителей тогда будет больше десяти тысяч в год. Кстати, дарю маркетинговый ход, частью подсмотренный на некоторых сайтах. Стимулировать регистрацию можно обещанием давать скачивать бесплатно симулятор и систему разработки после, например, двадцати часов работы на этом сайте. Зарабатывать, естественно, на рекламе. Коммерсы рассеятся, разработчики после такого испытания вряд ли станут с кем-то делиться, если отдавать им софт с их логином и пассвордом.

Tim0xA
15.02.2009, 01:38
svofski, вот это креатив! Очень оригинальная идея. Подсветка меток сделана здорово. Если бы еще бинарник можно было скачать... впрочем hex можно скопировать и конвертнуть самостоятельно.

breeze
15.02.2009, 01:46
Действительно интересное решение ;) а что если сохранить в виде отдельного приложения как это позволяет делать chrome? Или вообще сделать в виде плагина для FF, а то и вообще отдельное приложение на базе движка мозиллы, тогда бы можно и с файлами работать с диска и бинари получать :)

svofski
15.02.2009, 01:59
Intel HEX на самом деле выводится так, что если сделать copy/paste всей области в командную строку на чем-нибудь юниксоподобном, на выходе образуется файл test.bin. Под виндой это можно в цыгвине. Боюсь, что «скачать» бинарник неоткуда — всё работает на клиентском компьютере. Зато можно сам ассемблер сохранить и пользоваться им оффлайново, если вдруг нету интернетов.

Добавлено через 23 минуты
breeze, сохранять локально можно: я даже стайлшит не стал делать отдельным файлом специально для этого. Про то, как это предлагает делать Chrome я, правда, раньше не слышал.

Кстати, перевода на Белорусский у меня еще нет. ;)

AlecV
15.02.2009, 03:11
А оно локальные метки понимает ? Типа 1f и 1b ?

svofski
15.02.2009, 04:04
Нет, я даже и не знаю что это такое. Это не макроассемблер, какие локальные метки?

breeze
15.02.2009, 04:56
breeze, сохранять локально можно: я даже стайлшит не стал делать отдельным файлом специально для этого. Про то, как это предлагает делать Chrome я, правда, раньше не слышал.

А там где-то в меню есть опция - создать application


Кстати, перевода на Белорусский у меня еще нет. ;)

сорри не фанат ;)

Mick
15.02.2009, 10:05
Про Оперу не уверен, напишите плз как там в Опере.

А в Опере у меня что то не работает :(

svofski
15.02.2009, 16:06
Mick, а можно узнать, какая Опера и что именно не работает? Вот Tim0xA говорит, что у него в Опере все отлично.

Mick
15.02.2009, 16:15
Mick, а можно узнать, какая Опера и что именно не работает? Вот Tim0xA говорит, что у него в Опере все отлично.

Опера стоит 9.10 под Win XP.

Правое окно, я не знаю что там должно быть, но оно свернутовверху - одни скролбары видны. Окно в 1 строчку, а в этой строчке три точки и все.
В левом окне пример кода виден, жму на транслировать прелесть, но она не нажимается, а выделяется в ней текст - а дальше что должно быть?

svofski
15.02.2009, 16:32
Mick, попробуй теперь?

Mick
15.02.2009, 16:45
Mick, попробуй теперь?
Теперь вроде работает.
Только вот непонятно зачем нужна кнопка, у которой не понятно нажалась она или нет. И тем более я так понимаю у тебя идет авто анализ вводимых слов, хотел бяку подсунуть, не дал :)

И еще в отображении цвета дампа кода цветные полоски налезают на тектовое представление етих кодов(точнее налезают на первые два символа)

svofski
15.02.2009, 16:46
С Оперой все работает теперь, но мелочи огорчают. Особенно печально в случае ссылки на метку за экраном — пользователи ФФ, Х и С видят стрелочку в сторону перехода (и, кликнув, можно перейти). В Опере стрелочки нету, вместо нее вставляется лишняя строчка. Сожалею ;)

Error404
15.02.2009, 20:13
swofski, безусловно респект, довольно удобная штука.

но... как насчет z80? В идеале в двух опциях - транслировать как z80 код, так и i8080, но с мнемоник Z80. А то от этих мутных mvi\lxi меня всегда тошнило. :)

И еще. ИМХО было бы удобно, если бы транслятор не проявлял инициативы, а транслировал только по нажатию кнопки (или чтобы это была отключаемая опция).

svofski
15.02.2009, 20:30
Error404, дело в том, что если бы меня не тошнило от этих мутных LD, я бы просто воспользовался tpasm-ом, или чем-нибудь ещё. И сделал я этот ассемблер чисто из вредности, чтобы Z80-сятникам стало завидно.

В то же время, каждый волен взять сорскод и сделать из него «Прекрасный ассемблер Z80». Предвижу, что работа будет не самой легкой из-за того, что примерно всем опкодам в Z80 соответствует одна и та же мнемоника ;)

Mick
15.02.2009, 20:52
Error404, дело в том, что если бы меня не тошнило от этих мутных LD, я бы просто воспользовался tpasm-ом, или чем-нибудь ещё. И сделал я этот ассемблер чисто из вредности, чтобы Z80-сятникам стало завидно.


Когда я пересаживался с Апогея на Спектрум, меня тоже бесили Z80 мнемоники. В результате при переносе ассемблера Микрон на Спек, я его немного дополнил своими мнемониками, правда не всеми. Так у меня появились новые мнемоники в Микроне -> LDED, LDBC, SDED, SDBC и т.д. :)

svofski
15.02.2009, 23:53
Ну вот, не я один значит такой привереда ;)

Операторы, я сделал для вас стрелочку!

Mick
16.02.2009, 00:01
Мне был нужен подручный и портабельный кросс-ассемблер для КР580, но почему-то находилась всё только какая-то допотопная досовская мура. Я написал свой, который работает прямо в браузере. Прошу терзать в свое удовольствие.



Кстати вспомнилась среда разработки под винду Softools WinIDE там как для 8085, так и для z80 ассемблеры и Си есть.

Но в браузере - ты точно первый. Вот еще бы многоконность и поддержка инклудов всяких. :)

Добавлено через 54 секунды

Ну вот, не я один значит такой привереда ;)

Операторы, я сделал для вас стрелочку!

А где она должна быть, то.

Error404
16.02.2009, 00:04
Когда я пересаживался с Апогея на Спектрум, меня тоже бесили Z80 мнемоники. В результате при переносе ассемблера Микрон на Спек, я его немного дополнил своими мнемониками, правда не всеми. Так у меня появились новые мнемоники в Микроне -> LDED, LDBC, SDED, SDBC и т.д. :)

хм. И ты успешно свел на ноль главное преимущество - что ВООБЩЕ не надо запоминать дурацкие мнемоники, а надо только представлять как работает команда - откуда и куда идет пересылка. Остальное - из естественного языка. Просто пишешь: "пересылаю" (т.е. LD) <куда>, <откуда>. Или "обмениваю" (т.е. ЕХ) <что> с <чем>. Красиво приведена к общему синтаксическому знаменателю работа с флагами, переходы.
И т.д., а не все эти шизоидные Интеловские комбинации из трех букв - разные для регистров, памяти, для констант, для косвенной адресации. А уж чего там у них для обмена HL с DE или SP вообще не запоминается. :)
Страшно подумать чего мог бы насочинять Интел для z80 с его дополнительными командами, регистрами, способами адресации - хватило ли бы комбинаций букв? :)

Mick
16.02.2009, 00:29
хм. И ты успешно свел на ноль главное преимущество - что ВООБЩЕ не надо запоминать дурацкие мнемоники, а надо только представлять как работает команда - откуда и куда идет пересылка. Остальное - из естественного языка.
Понимаешь, когда я начинал программировать. А изучал программирование на ассемблере по журналу Радио по программе питон. Ну и Апогей был на ВМ80. Мне мнемоники нравились. Я просто научился быстро на нем думать и писать(сейчас уже половину не помню). А когда пересел на Спектрум, то естетсвенно было первым отвращение, как же так смогли зилоговцы так исковеркать такой звучный и мелодичный язык интела. Как смог так и подстроил микрон под себя.
Но могу сказать, что года два назад я встретил такой же ассмеблер в просторах инета, причем коммерческий - у него тоже встречались такие же мнемоники как у меня.

К примеру, я не все мнемоники заменил. Такие как LDI, LDIR и другие односложные я оставил :)

svofski
16.02.2009, 00:37
Если например сделать так, чтобы jmp begin был на экране, а метка begin при этом была бы за его пределами, то при наведении на jmp begin слева появится треугольничек, указывающий в сторону метки begin. На эту строчку тогда можно кликнуть и экран подмотается к begin-у.

AlecV
16.02.2009, 15:57
svofski, я имел в виду быстрый набор меток, чтобы не изобретать имена, в стиле gas:


cmpb $0,byte
je 1f
...
1: bla-bla

_f - ссылка вперед, _b - ссылка назад. Но это вобщем не очень важно.

А чего бы тебе в самом деле не добавить пару опкодов и гордую надпись i8080/i8085 ? :smile:

Еще, настоящие CP/M программы должны начинаться с .aseg, а то все .org в том числе .org 100h будет просто
смещением в текущем сегменте. Пусть хотя бы ее просто игнорирует.

Tim0xA
16.02.2009, 17:44
А чего бы тебе в самом деле не добавить пару опкодов и гордую надпись i8080/i8085 ?
Вообще-то, опкодов оказалось несколько больше, чем два -> http://zx.pk.ru/showpost.php?p=178250&postcount=61

AlecV
16.02.2009, 18:09
Tim0xA, они вроде недокументрованные. Хотя MAME их знает:

http://mamedev.org/source/src/emu/cpu/i8085/8085dasm.c.html

(пониже, после z80 синтаксиса)

Tim0xA
16.02.2009, 19:07
Tim0xA, они вроде недокументрованные.
Ну да, вот отличный документик по этому поводу http://shop-pdp.kent.edu/ashtml/as8085.htm

svofski
17.02.2009, 07:25
Документированные-раздокументированные. Никто даже не попробовал скормить моему ассемблеру реальный код и запустить его. А если бы попробовали, то рассуждали бы о багах и недоделках, а не о инструкциях левых никому на*** не упавших.

Ревизия «Б». Компилирует без модификаций Palo Alto Tiny BASIC (http://en.wikipedia.org/wiki/Li-Chen_Wang) доктора Ванга да еще и так, что он запускается и работает. Правда, почему-то не в МикроДОС-е. Я проверял в ZRUN (такой древний симулятор CP/M). Конечно, программы размером с Бейсик — это не то, для чего мой ассемблер изначально предполагался… Подтормаживает, есть что улучшить. Но работает же ;)

Кстати, я пока отлаживал нуждался в эталонном компиляторе, чтобы сравнить результат. Закончилось все тем, что я нашел эталонный скомпилированный этот Бейсик. Ни один из опробованных мной ассемблеров схавать этот сорец (ссылка в Википедии) почему-то не смог. Что за ерунда, чем вообще ассемблировали-то в 1976-м году?

Mick
17.02.2009, 08:12
Документированные-раздокументированные. Никто даже не попробовал скормить моему ассемблеру реальный код и запустить его. А если бы попробовали, то рассуждали бы о багах и недоделках, а не о инструкциях левых никому на*** не упавших.

Ревизия «Б». Компилирует без модификаций Palo Alto Tiny BASIC (http://en.wikipedia.org/wiki/Li-Chen_Wang) доктора Ванга да еще и так, что он запускается и работает. Правда, почему-то не в МикроДОС-е. Я проверял в ZRUN (такой древний симулятор CP/M). Конечно, программы размером с Бейсик — это не то, для чего мой ассемблер изначально предполагался… Подтормаживает, есть что улучшить. Но работает же ;)

Кстати, я пока отлаживал нуждался в эталонном компиляторе, чтобы сравнить результат. Закончилось все тем, что я нашел эталонный скомпилированный этот Бейсик. Ни один из опробованных мной ассемблеров схавать этот сорец (ссылка в Википедии) почему-то не смог. Что за ерунда, чем вообще ассемблировали-то в 1976-м году?

У меня опять перестал работать в Опере. Теперь окно трансляции вообще пустое. Все же сделай что нибудь с этой кнопкой - я пытаюсь на нее постоянно нажимать, а она не нажимается :)

Tim0xA
17.02.2009, 13:00
Документированные-раздокументированные. Никто даже не попробовал скормить моему ассемблеру реальный код и запустить его. А если бы попробовали, то рассуждали бы о багах и недоделках, а не о инструкциях левых никому на*** не упавших.
Да вообщем-то никто особо и не настаивал.

По поводу багов - не подсвечивается метка в строке типа "jmp START+1".
Неплохо было бы иметь возможность изменять ширину левого окна. А если будет раскраска мнемоники, меток, строк и цифири, то вообще будет здорово.

Добавлено через 2 минуты
Еще почему-то в Opere поиск Ctrl+F начинается с правого окна, хотя курсор расположен в левом окне.

svofski
17.02.2009, 14:48
Mick, есть какие-то причины, по которым ты пользуешься старой Оперой? Просто в ней все время вылезают какие-то совершенно нелепые ошибки и мне приходится для них делать затычки. Это, конечно, увеличивает мою устойчивость к мировому злу, но в принципе не очень продуктивно. Кнопку я никуда не уберу, потому что она мне приносит радость своим присуствием на экране и тем самым укрепляет мое детище перед лицом мирового зла. И кто сказал, что она ничего не делает? Делает, просто этого не видно ;)

START+1 не подсвечивается, потому что не очень понятно, а что подсвечивать-то в такой ситуации. Можно вычислять строчку по адресу, может быть потом как-нибудь. Меня сейчас больше огорчает отсуствие возможности быстро вернуться назад после прыжка на дальнюю метку. Было бы логично иметь возможность вернуться… А то вечно — прыгнешь на метку подальше, а вернуться нельзя…

Поиск да, в Мазиле тоже так. Пока не знаю, чем можно этому помочь. Можно было бы попробовать сделать синхронизацию левого и правого окон, но я боюсь даже подумать, чем это обернется в древней Опере.

AlecV
17.02.2009, 15:14
svofski, а тебе удалось запустить TinyBASIC имени Ли Чена ? Как я понимаю он вообще не будет работать на всякой более-менее серьезной CP/M машине т.к. активно использует RST N для экономии байта на вызове подпрограмм, что перекрывается с системой прерываний машины.

svofski
17.02.2009, 15:16
Я его запустил в ZRUN-е. На Векторе не получилось.

Добавлено через 32 минуты
Mick, я захачил под старую Оперу, попробуй.

Tim0xA
17.02.2009, 16:08
Я уже запустил TinyBASIC на Векторе в МикроДОС. С RST7 пошаманил. В принципе работает, запускается, "Hello World!" пишет, но иногда после некорректного ввода строки зависает. Транслировал исключительно "прекрасным ассемблером" :)

svofski
17.02.2009, 16:30
Гы :D

Tim0xA
17.02.2009, 18:29
Еще проверил разные версии МикроДОС с TinyBASIC. Оказалось, что с T-34, СР/М-39 работает нормально. Файлы создает, читает. Глюки были с одной из старых древних ОС, что под руку попалась некстати и ввела в заблуждение. Вообщем, теперь на Векторе еще один бейсик появился, добавлю в картотеку :)

P.S. А ассемблер действительно прекрасный. Но неудобно дампить с экрана большой кекс. Вот если бы его как-то по кнопке в файл скидывать можно было...

Tim0xA
17.02.2009, 18:47
Продолжаем тестировать:

LXI H,@COLS+15 <- ошибка
метка @COLS существует

cpu 8080 <- ошибка (часто в коде бывает, пусть хоть игнорирует)

COPYRHT:LDAX D <- ошибка, т.к. нет пробела после ":"
L06DA:; <- аналогично

.DB <- ошибка, с точкой не понимает. возможно .DW, .DS тоже.

svofski
17.02.2009, 18:49
Посмотрю. А что это за собака в метке? Это что-то особенное значит, или просто бесёж такой?

Tim0xA
17.02.2009, 18:54
Это просто бесёж. Например, в "драйверах устройств" все подпрограммы так по-собачьи названы.

AlecV
17.02.2009, 20:07
svofski, JFYI, с долларом еще бывают. Но это для больших ассемблеров.

http://sourceware.org/binutils/docs/as/Symbol-Names.html

Mick
17.02.2009, 20:12
Mick, есть какие-то причины, по которым ты пользуешься старой Оперой? Просто в ней все время вылезают какие-то совершенно нелепые ошибки и мне приходится для них делать затычки. Это, конечно, увеличивает мою устойчивость к мировому злу, но в принципе не очень продуктивно. Кнопку я никуда не уберу, потому что она мне приносит радость своим присуствием на экране и тем самым укрепляет мое детище перед лицом мирового зла. И кто сказал, что она ничего не делает? Делает, просто этого не видно ;)


Да вроде ничего не держит. :) Надо я так понял качать новую.

Провери последнюю версию - работает.

svofski
17.02.2009, 20:42
cpu, aseg, .db/dw/ds, метка без пробела — сделал. А собачки идут на кошачий корм до тех пор, пока я не переделал вычислялку на свою собственную. С долларом это совсем уже издевательство, нельзя в одном ассемблере поддержать 40 различных синтаксисов.

Досада: eval позволяет применять мощные выражения. Но древний ассемблер не хочет мощных, он хочет убогих и чтобы приоритет выполнения операций был исключительно глупый слева направо.

Добавлено через 4 минуты

Да вроде ничего не держит. :) Надо я так понял качать новую.

Провери последнюю версию - работает.

С другой стороны, у меня навигация работает в старой, а в новой — не очень. Вопрос: клик по ссылке на метку подматывает к ней адекватно, или пальцем в небо? У меня от оперы к опере это все очень по-разному работает. Что хотят, то и делают.

Tim0xA
17.02.2009, 22:41
Вопрос: клик по ссылке на метку подматывает к ней адекватно, или пальцем в небо?
У меня недоподматывает строк на 10 примерно.

svofski
18.02.2009, 00:32
Tim0xA, Mick, попробуйте в своих Балаганах и Цирках, как оно теперь. Подмотка должна теперь работать на середину окна. Это заметно только на больших файлах, в маленьком примере каким-то чудесным чудом оно работало и раньше.

И еще появилась новая маленькая, но удобная фича.

Tim0xA
18.02.2009, 01:00
Подмотка работает и фича тоже.

svofski
18.02.2009, 01:09
Спасибо!

b2m
19.02.2009, 13:35
Нельзя же так обижать пользователей IE, их тоже много :)
Вопчем, для любителей вышеуказанной программы: тоже хороший ассемблер i8080 (http://bashkiria-2m.narod.ru/i8080.html)

svofski
19.02.2009, 18:07
Новая ревизия, навигационные фичи:
— теперь метка вызывает табличку-меню, через которое можно погулять по всем ссылкам на эту метку и, при желании, вернуться обратно
— таблица меток в конце листинга стала покомпактней и «ожила»
Все это во всей красе, лучше всего, наблюдать на Бейсике доктора Ваня. Для удобства я его положил сюда http://pastebin.com/m7f32267e

b2m, отличный ассемблер ;) Добавил ссылку на него в свой IE-отлуп.

b2m
19.02.2009, 18:49
svofski, меня больше интересует, работает ли эта глюкала в других браузерах. Я не особо силён в веб-программировании, использовал только самые простые фичи. А ещё, хотелось бы сравнить результаты компиляции, чтобы ошибки отловить, но на моём компе - только IE :)

А за ссылку - спасибо.

svofski
19.02.2009, 19:11
Твой javascript мощнее моего =) Я на этом ассемблере js только начал познавать и даже не догадывался, как много нам открытий чудных... К несчастью, 99% людей, в том числе считающих себя достаточно продвинутыми чтобы просвещать, уверены, что javascript — это такая примочка для снежинок на хомяке. А язык мощный.

В других браузерах твой ассемблер работает. Вообще, беда начинается когда затрагиваются потроха HTML и CSS DOM-а. Хоть святых вон выноси.

Результат на твоем примере совпадает. А что, это стандартная директива
end <label>, и вначало вставляется jmp на <label> ? Никогда такого не видел.

b2m
19.02.2009, 19:36
Результат на твоем примере совпадает.

А на твоём - нет :) Я уже две ошибки у себя нашёл...


А что, это стандартная директива
end <label>, и вначало вставляется jmp на <label> ? Никогда такого не видел.
Вроде стандарт, я часто раньше пользовался. Только это линкер делает, а не ассемблер. Последний только информацию об этом в объектном файле оставляет. Кстати это первая ошибка: когда стоит не метка, а число, то оно на 3 увеличивается :)
Вторая ошибка более прозаическая: не учёл, что метки в equ на втором проходе тоже определяются, переменную last_lbl забыл установить.

А насчёт стандартов: я, например, всегда использовал $ как текущий адрес, а у тебя - точка. И директивы с точкой - я раньше о таком и не слышал даже, впервые узнал только из кросс-ассемблера, который есть у меня на сайте.

svofski
19.02.2009, 19:52
Будет работать тогда, когда запустится Palo Alto BASIC :)

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

А все эти директивы с точкой и запятой, метки с двоеточием и без — вилы. Кто во что горазд, причем в каждом исходнике обязательно вперемешку то так то эдак. Ассемблер написать сложнее, чем Си ;)

...

Хотя если подумать, можно было бы выделить собственно ассемблер в отдельный объект и написать несколько ассемблеров — 6502, например, мало ли чего еще...

b2m
19.02.2009, 20:10
Например, на место доллара просто подсовывается текущий адрес, хотя само выражение вычисляется позже
Это правильно. Выражение может содержать метки, определённые позже. А в equ без этого вообще никак: equ это просто подмена подстроки, если доллар появится в другом месте, он будет иметь отличное значение от того, где стоял equ.


Хотя если подумать, можно было бы выделить собственно ассемблер в отдельный объект и написать несколько ассемблеров — 6502, например, мало ли чего еще...
У меня код, который содержит список опкодов и их компиляцию (специфичную для каждого процессора), гораздо больше чем весь остальной код, который можно было бы использовать для другого процессора :)
Казалось бы, объекты - это не для Javascript. Но вот такая фича, как jQuery (написанная на Javascript), просто поражает своей мощью.

Tim0xA
03.03.2009, 13:11
svofski, обнаружены ошибки трансляции в строках


MVI A,'.'
DB 56;


и еще есть пара пожеланий
1) чтобы после трансляции сохранялась позиция экрана в правом окне, а не перематывалась в начало
2) добавить кнопку навигации по ошибкам (перейти к следующей, к предыдущей)

svofski
03.03.2009, 13:37
О! Натурально, баги. Спасибо, буду фиксить.

Добавлено через 11 часов 29 минут
Ассемблер пофиксил.

Со скроллом я, признаться, не понял. У меня ничего не перематывается, даже в Опере. На всякий случай вставил код, который сохраняет и насильно восстанавливает прокрутку после ассемблирования. Проверь?

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

Tim0xA
26.03.2009, 12:37
Добавлено через 11 часов 29 минут
Ассемблер пофиксил.

Со скроллом я, признаться, не понял. У меня ничего не перематывается, даже в Опере. На всякий случай вставил код, который сохраняет и насильно восстанавливает прокрутку после ассемблирования. Проверь?
Из-за слияния сообщений, я пропустил твой ответ. Обнаружил только спустя три недели. Сейчас с прокруткой все в порядке.

Добавь поддержку строк такого типа:


STR ' VERSION 1.0 (C) 1980'

svofski
26.03.2009, 13:16
Добавил. Надеюсь, что я правильно понял, что это то же самое, что и DB?

Tim0xA
14.04.2009, 12:53
Ассемблер не понимает символ $, как признак шестнадцатеричного числа в строках типа:


org $7900
db $28
mvi a,$DF

b2m
14.04.2009, 19:48
Это-ж не Паскаль :)
Доллар использовался обычно в метках, как и буквы. Есть вроде даже одна зарезервированная для линкера метка: $MEMRY - означает конец программы. Это когда несколько объектных файлов линкуются и неизвестно, какой из них последний будет.

Tim0xA
14.04.2009, 22:47
Это-ж не Паскаль :)
Доллар использовался обычно в метках, как и буквы.
Оно то может и так, но вот дизассемблер DASM http://www.wheresmyvote.org/ECU/DASMxx/DASMx.htm генерит код с $ (посмотрю в настройках, можно ли настроить префикс 0x). И ассемблер TASM http://home.comcast.net/~tasm/index.htm потом хавает код с $ без проблем. Но я уже привык к svofsk-ому ASM-у, он всегда под рукой, вот и хочется его подстроить максимально. Интересно еще что скажет svofski по этому поводу.

svofski
15.04.2009, 16:43
Tim0xA, попробуй сейчас.

Tim0xA
15.04.2009, 17:47
Не понимает $ перед символами A-F, например "lxi h,$DEF1"

svofski
15.04.2009, 17:52
А, ну конечно. А теперь?

Tim0xA
15.04.2009, 18:26
Теперь порядок.

Jons
18.04.2009, 23:51
Почемуто у меня вот это(см вложение), и непонятно как в файл сохранять, а вообще то как пожелание для b2m и Ramirosa, неплохо бы приделать встроенный ассемблер в эмуляторе, как для i8080 так и для Z80

svofski
19.04.2009, 00:15
А что в этом вложении ненормального, кроме интернет эксплорера?

Jons
19.04.2009, 00:18
я к нему привык :) ещё пробовал в Гугльхроме и в Сафари, тоже самое

Jons
19.04.2009, 00:21
на http://feeds2.feedburner.com/svofski?format=xml совсем по другому выглядит

svofski
19.04.2009, 00:23
Это - не прекрасный ассемблер. Это просто ассемблер, который b2m создал для того, чтобы те, кто привыкли к ИЭ могли бы тоже немножко поассемблировать. Прекрасный ассемблер один и он тут: http://sensi.org/~svo/i8080 -- но нужен гугльхром или сафари или фаяфокс.

Jons
19.04.2009, 00:53
работает :) здОрово!!!, вот только если в тексте допущена ошибка почемуто на неё неуказывается

svofski
19.04.2009, 01:09
Ошибка должна подсвечиваться розовым и в дампе должен быть розовый пропуск. Нет?

Jons
19.04.2009, 18:15
теперь да:) спасибо!! вот только после каждого открытия сайта приходится текст набивать по новой, или его надо выделить и сохранить в отдельном файле а потом снова вставлять?

Добавлено через 1 минуту
а такто всё сделано отлично, я тоже одно время изучал JAVA, только для мобил

Добавлено через 9 минут
не могу найти эту прогу, она только под линукс? gobjcopy

svofski
19.04.2009, 18:56
Сохранять конечно можно только копи-пастом, это ограничение секурности. gobjcopy входит в состав GNU binutils, но наверное она бывает еще в комплектах с чем-нибудь. Например, в WinAVR входит objcopy, который вполне должен сгодиться.

Tim0xA
27.04.2009, 17:16
Наличие точки с запятой без пробела после команд, операндом которых является регистровая пара, считается ошибкой:


INR H;
INX H;

svofski
06.05.2009, 18:43
Наличие точки с запятой без пробела после команд, операндом которых является регистровая пара, считается ошибкой
Больше не считается.

Jons
10.05.2009, 13:42
решетка (#) перед шестнадцатеричным числовым операндом считается ошибкой, например - LXI B,#80FF, многие ассемблеры поддерживают такую запись

svofski
10.05.2009, 15:38
А был вообще какой-нибудь символ в первой половине ASCII, который бы в каком-нибудь ассемблере не использовался как префикс шестнадцатеричного числового операнда? :)

hdc
09.06.2009, 04:13
Доброе время суток,

Чтобы привести в порядок свои старые наработки на
Специалисте, я где-то год назад написал ассемблер и дизассемблер.

Вчера выложил их исходники (C++) в "музей":
http://www.asvcorp.ru/darch/tools/index.html

Если вдруг оно кому надо, то можно поисправлять
ошибки, собрать пакеты/бинарники для популярных
систем.

svofski
09.06.2009, 18:33
Эта тема вообще-то про конкретный ассемблер --- http://sensi.org/~svo/i8080
Но за исходники все равно спасибо! =)

svofski
05.08.2009, 13:36
Ревизия G:
поправил пробелы в mov;
добавил псевдокомманды .hexfile и .binfile. Это просто строчки, которые вставляются в текст для копипасты вместо фиксированных test.hex и test.bin. А то иногда надо, чтобы имя файла было каким-нибудь особенным.

svofski
20.08.2009, 13:50
Теперь, при наличии соединения, кнопка «Транслировать прелесть» (کامپایل کردن این کد زیبا) засылает на компьютер готовый бинарник, который остается только сохранить на диск. Имя бинарника можно задавать директивой .binfile, например


.binfile test.com

tnt23
20.08.2009, 17:16
кнопка «Транслировать прелесть» (کامپایل کردن این کد زیبا)

Первое слово определенно "кампилядь", а не транслировать.

svofski
20.08.2009, 17:32
Почему, тебя постигла неудача?

tnt23
20.08.2009, 20:46
Я попытался вспомнить хоть какие-нибудь буквы, и воспоминания эти к концу первого слова иссякли :)

Tim0xA
17.09.2009, 11:49
Продолжаем работу над ошибками:


LXI H,@COLS+15
SHLD INT0+1

INT0: EQU 0000H
@COLS: DB 0

svofski
17.09.2009, 18:39
Случай с INT0 исправил. А вот собачку заменяй, пожалуйста, вручную. Она не вписывается в концепцию прекрасности.

Jons
27.09.2009, 01:49
Теперь, при наличии соединения, кнопка «Транслировать прелесть» (کامپایل کردن این کد زیبا) засылает на компьютер готовый бинарник, который остается только сохранить на диск. Имя бинарника можно задавать директивой .binfile, например
при нажатии на кнопку вываливается на эту страницу http://sensi.org/~svo/i8080/hex2bin.cgi в google hrome
зы: в Сафари тоже

svofski
27.09.2009, 04:20
Ох, сколько ж еще нам открытий чудных... Пофиксил вроде.

Jons
27.09.2009, 11:55
ага, теперь работает, svofski а нельзя модуль hex2bin.cgi поместить в саму страницу? а то самое основное получить бинарник и в офлайне не работает, у мну наработе нет инета а времени кодить бывает навалом

svofski
27.09.2009, 13:42
Если ты хочешь делать все офлайн, то заведи cygwin, или если у тебя линукс ничего уже заводить не надо. Делаешь копипасту из последней части результата, где HEX, в терминал и у тебя получается тот же bin. По-другому, к сожалению, нельзя принципиально, я не от большой любви к серверным скриптам так сделал. Собственно, б&#243;льшую часть 8 Bit Snail я писал именно копипастой в терминал и только под конец уже устал и сделал конверсию со стороны сервера.

Не, ну как совсем отчаяный вариант ты можешь установить у себя локально сервер с mod_python-ом и переправить запросы на локалхост. Но проще взять уже tasm35, или в чем сейчас модно кодить для 8080. Мой ассемблер однозначно предназначен для маленьких хак, а не для эпических предприятий =)

Jons
27.09.2009, 16:15
не для эпических предприятий =)
мне для себя под Вектор кодить :), нигде не нашёл модуль hex2bin.cgi скачать(ты его сам писал?), а сервер локальный у меня есть, связка apache+php+mysql

svofski
22.10.2009, 01:32
Во!
http://code.google.com/p/radio86/
Чудесный эмулятор Радио-86РК на чистом JS. Использует мой прекрасный ассемблер для хаковспоможения. В Хромиуме работает исправно, а в FF какие-то нелады с фокусом клавиатурным. Гыы!!

Tim0xA
22.10.2009, 14:57
svofski, ты уже начал делать эмулятор Вектора на JS? ;)

svofski
22.10.2009, 15:00
Да мне своего FPGA-шного пока хватает для должной красноты глаз =)

Tim0xA
22.10.2009, 16:42
DB 'OS COM'


Вместо N-пробелов в строке на выходе получаем только один.

svofski
22.10.2009, 16:45
Ага. Я знаю, это анноит, но простого способа исправить я пока не придумал.

svofski
15.07.2010, 16:38
В дополнение к прекрасному ассемблеру теперь есть Вполне сносный Си для КР580 (http://sensi.org/~svo/i8080/c).

svofski
16.07.2010, 13:15
Безумная популярность так-себе-Си вызвала вчера аварию на подстанции. Сейчас все восстановлено.

demetrius2003
11.04.2011, 11:37
Доброго всем времени суток!
Интересует любая информация по кросс-ассемблерам\дизассемблерам для КР580. Хоть под MS-DOS, хоть под Windows, хоть под Linux.
С уважением, Дмитрий.

dk_spb
11.04.2011, 12:23
IDA умеет 8080 дизассемблировать

Nuts_
11.04.2011, 12:29
так это надо по оригинальном процу Intel 8080 смотреть или какой там номер

AlecV
11.04.2011, 17:13
demetrius2003, а чем не устраивает родной M80 под CP/M ?

sergey2b
11.04.2011, 17:26
http://bashkiria-2m.narod.ru/
http://bashkiria-2m.narod.ru/files/tasm301.zip

я вечером еще посмотрю но этот наиболее приличный

demetrius2003
12.04.2011, 17:17
Да, пожалуй лучше ida найти вряд ли что-то возможно. Поюзал версию 3,8б. Там процессор i8085. Но думаю это не принципиально, т. к. шибко он на i8080 похож. Тасм изучить надо. М80 под cp\m не устраивает по двум причинам - машины, с которыми я работал её (cp\m) не имели, поэтому знаю я эту операционку плохо. А точнее вообще практически не знаю. И потом, хотелось бы именно кросс-средство под Виндовс, т. к. очень я люблю принтером пользоваться, а как это из-под эмулятора сделать, да ещё грамотно, пока не знаю.
P.S.: Linux тоже пойдёт. С ним я тоже работаю.
С уважением, Дмитрий.

sergey2b
12.04.2011, 17:45
demetrius2003 пришлите личкой ваш email я перешлю кроскомпиляторы котоые у меня есть для dos/win

tasm особо изучать нечего

mbojenov
01.02.2012, 19:06
Подскажите пожалуйста хороший учебник по ассемблеру 8080 ( или прямо для РК) для начинающих! Очень нужно...

Vladimir_S
01.02.2012, 19:21
Подскажите пожалуйста хороший учебник по ассемблеру 8080
Подсказать-то не трудно, а вот где его достать. Есть хороший учебник - "Ассемблер для
intel 8080 и intel 8085" авторы Сэйвел и Левенталь.
Еще в Радио с №9 за 1982 неплохая подборка и с №1 за 1989г.
Посмотри - это полезно. Когда вникнишь ничего сложного.

mbojenov
01.02.2012, 20:26
Vladimir_S, книгу посмотрел - сразу начинают накидывать килограммы приемов-операнд с краткими пояснениями.
Для человека, который ассемблер уже немного знает, и знает что точно хочет - Да, хороший вариант. Для начинающего этот вариант не лучше книг типа "Юров. Ассемблер", где сначала предлагают выучить всю теорию.
У Фрунзе лучше - он понемножку предлагает информацию о системе и команды.
Жаль, у него специфика другая - микроконтроллеры X51

мне нужна книжка с подобным типом подачи информации.

Vladimir_S
01.02.2012, 21:34
Ну а в журналах? Уж там-то очень подробно и доходчиво. Начиная с №12 1988г.
Там насколько помню есть одна программулина которая при пошаговом пуске показывает состаяние всех регистров проца - очень удобно для начинающих.

HardWareMan
02.02.2012, 07:54
Враки. Про i8080 начали тереть еще в 82-83 годах. Там же и был Микро80 (ЕМНИП, который перерос в РК). Там было доступненько. А вот в статьях про РК был очень сексуальный цветной разворот с табличками, раскладками и пр. И основную, которую я сам юзал при изучении, я даже перерисовал в кореле. А оригинал до сих пор затертый имеется, наклеен на картонку с двух сторон...

Vladimir_S
02.02.2012, 08:36
Враки. Про i8080 начали тереть еще в 82-83 годах.
Так я и написал, что хорошая подборка статей была в №9 - №12 за 1982г.

fifan
02.02.2012, 10:59
А вот ещё лучше перерисовка. Made by HardWareMan.

Vladimir_S
02.02.2012, 11:41
А вот ещё лучше перерисовка.
Полезная штука на первых парах.

predatoralpha
02.02.2012, 12:36
Для самого первого ознакомления я бы посоветовал:
http://zxpress.ru/book.php?id=18
Очень доступно и понятно.
Правда для Z80, но ...

Vladimir_S
06.02.2012, 05:46
Подскажите пожалуйста хороший учебник по ассемблеру 8080
Ну и как успехи?

mbojenov
06.02.2012, 17:46
пока ничего лучше журнала радио не нашел.

В руки попал учебник "Язык ассемблера для ibm pc и программирования" Питера Абеля с автографом переводчика :).
Хотя и учебник, но заданий нет и все кратенько-кратенько.

Vladimir_S
06.02.2012, 18:42
пока ничего лучше журнала радио не нашел.
Этого вполне достаточно, а задания сам себе придумывай.
Что-нибудь с выводом в экранную область для наглядности и реши эту задачу пятью разными способами.

Elvys
11.10.2015, 01:13
---------------

HardWareMan
21.12.2015, 08:50
Полезная, цветная табличка. Скачать Intel_8080_OPCODES.rar (https://yadi.sk/d/lX3_WNAejTTL2)
А в чем ее, извиняюсь спросить, особая полезность после наших православных из Радио?
http://savepic.su/6876083m.jpg (http://savepic.su/6876083.jpg)

А теперь вопрос, а то как-то я упустил или не уловил, вот такой момент по поводу стека.
Если я указываю начало стека адресом 0000h то он будет начинаться с адреса FFFFh, то есть это первая ячейка в которую запишется первый байт отправляемый в стек, это я как бы уловил. А вот теперь меня интересует другой вопрос, есть ли какое либо ограничение у объёма стека, так как по идее так можно писать до тех пор пока вообще всю память не заполнишь данными стека, и если нет ограничения, то какого объёма максимум, разумный максимум, обычно на него требуется, сколько байт?

Я же уже не раз показывал эти таблички из букваря по i8080:
http://savepic.su/6849456.png (http://savepic.su/6879152.png)
http://savepic.su/6850480.png (http://savepic.su/6867888.png)
Контроля глубины стека тут нет, этот процессор не заточен под многозадачность и защиту памяти. Единственный контроль за стеком - это индикатор обращения к нему в регистре STATUS. Т.е., команда RST 7 по адресу 0038H заполнит всю память числом 39H/00H, пока не затрется сама команда RST 7.



Нужно это для того, чтобы организовать страничную память, но естественно вне зависимости от выбранной страницы, стек у меня будет оставаться на месте, в строго фиксированной области памяти на 0-й странице, то есть при обращении МП к стеку, автоматически будет выбираться 0-я страница памяти.
Вот тут и встаёт вопрос, сколько выделить на стек памяти.
Фанта, тебе решать. (с) Сколько не выделяй все равно мало будет. Но грамотно написанному софту хватает даже 64 байта.

x-code
31.07.2018, 15:33
Не уверен, что ранее упоминался в этой ветке: The Macroassembler AS (http://john.ccac.rwth-aachen.de:8000/as/index.html)