PC-01 Lviv http://pc01.lviv.ua/forum/ |
|
DprToLvt (PasToLvt) http://pc01.lviv.ua/forum/viewtopic.php?f=20&t=153 |
Page 12 of 15 |
Author: | Zelya [ 29 Nov 2012, 17:14 ] |
Post subject: | Re: DprToLvt (PasToLvt) |
Quote: Насколько реально будет преобразовать команды процессора ИНТЕЛ (!!!или как там правильно назвать систему команд нынешних процесоров) "тот" код в КР580?
Практически нереально. Во-первых, современные процессоры за одну операцию обрабатывают 32/64 бита, Вам нужно писать дополнительную логику для "длинных операций". Во-вторых, современные процессоры имеют огромное количество дополнительных команд, каждую из которых нужно реализировать дополнительной процедурой (например, умножение) В-третьих, регистры сильно эволюционировали со времен 8080 В-четвертых, практически любая скомпилированная программа будет использовать функции операционной системы. В-пятых, адрессация памяти абсолютно разная. ... В-четыреста пятьдесят восьмых, короче невозможно. |
Author: | sadfsdfsdaf [ 29 Nov 2012, 21:25 ] |
Post subject: | Re: DprToLvt (PasToLvt) |
Quote: Насколько реально будет преобразовать команды процессора ИНТЕЛ (!!!или как там правильно назвать систему команд нынешних процесоров) "тот" код в КР580? у Дельфи плохой оптимизатор, поэтому "peephole" (щелевого просмотрщика) с шаблонами будет достаточно (для компилятора с Си такой подход уже не пройдёт). Однако в любом случае - писать ассемблер сразу - было бы быстрее и менее трудозатратно.to Zelya: там речь шла не про эмулятор х86 на 580-м (который теоретически возможен, хотя бы по академическим соображениям, а практически в 48кб оперативки скорее всего не влезет). |
Author: | Zelya [ 30 Nov 2012, 11:37 ] |
Post subject: | Re: DprToLvt (PasToLvt) |
sadfsdfsdaf Quote: там речь шла не про эмулятор х86 на 580-м (который теоретически возможен, хотя бы по академическим соображениям, а практически в 48кб оперативки скорее всего не влезет).
Эмулятор x86 на 8080 - это отдельная и очень интересная тема. Но все-таки мне кажется, что автор желает перепарсить х86 байткод в 8080 байткод.sas9568635 Совсем-совсем простые программки, если пополам 50% автоматически, 50% допиливать ручками, то, может, и получится. Смотрите, в Вашем коде: Первое: компилятор все равно использует 32-битные рагистры, и переполнение и знак Вы никак не проверите, кроме моторошной работы с кучей if. Второе: mov edx, [c+$4] - для 8080 это огромнаякуча операций, которая кроме того "поломает" значение регистра А, т.е. его надо сохранять и доставать. И еще несколько "убойных" мест, только в простейшем цикле. Вы не упрощаете задачу, а серьезно затрудняете. |
Author: | sas9568635 [ 30 Nov 2012, 17:56 ] |
Post subject: | Re: DprToLvt (PasToLvt) |
Quote: Вы не упрощаете задачу, а серьезно затрудняете.
ОК! Уже согласен! Спасибо за внимание!Я просто думал что так будет возможно проще... чем расшифровка исходника (хоть и проверенного предварительно Дельфи)... все его Begin end else if... а также переменных и прочее... А будут ли у кого рекомендации про анализу исходника перед компилированием?... Может литература подскажите какую (ТОЛКОВУЮ!!!) по этому вопросу... или еще чего нить... исходники писанные на Дельфи (Паскале) компиляторов Паскаля в КР580?.... |
Author: | Zelya [ 30 Nov 2012, 18:40 ] |
Post subject: | Re: DprToLvt (PasToLvt) |
Quote: А будут ли у кого рекомендации про анализу исходника перед компилированием?...
Я компилирую в два прохода. Первый проверяет базовый синтаксис (узнается ли команда впринципе) и собирает адресса меток и переменных. Второй проход подставляет значения меток и переменных, и уже детально разбирает команду с аргументами, после чего записывает ее байткоды.Может литература подскажите какую (ТОЛКОВУЮ!!!) по этому вопросу... или еще чего нить... исходники писанные на Дельфи (Паскале) компиляторов Паскаля в КР580?.... А как делают правильно, не знаю |
Author: | sas9568635 [ 01 Dec 2012, 17:45 ] | ||
Post subject: | Re: DprToLvt (PasToLvt) | ||
01.12.2012 Изменения и нововведения: Модуль очень сильно изменен благодаря исходникам MARAT_BEST`а. Спасибо ему за выложеные исходники. Сейчас все что можно работает и причем работает исправно Модуль вполне доведен до логического завершения. Ознакомьтесь с файлами-примерами,я думаю все там будет понятно.
|
Author: | MARAT_BEST [ 03 Dec 2012, 06:53 ] |
Post subject: | Re: DprToLvt (PasToLvt) |
Quote: 01.12.2012 Изменения и нововведения:
для компиляции зачемто еще нужен файлик qtintf.dll
Модуль очень сильно изменен благодаря исходникам MARAT_BEST`а. Спасибо ему за выложеные исходники. Сейчас все что можно работает и причем работает исправно Модуль вполне доведен до логического завершения. Ознакомьтесь с файлами-примерами,я думаю все там будет понятно. |
Author: | sas9568635 [ 03 Dec 2012, 13:05 ] | ||
Post subject: | Re: DprToLvt (PasToLvt) | ||
Quote: для компиляции зачемто еще нужен файлик qtintf.dll Хм... ну держи раз нужен...файл находился в C:\Windows\system32\
|
Author: | MARAT_BEST [ 03 Dec 2012, 13:13 ] |
Post subject: | Re: DprToLvt (PasToLvt) |
Quote: Quote: для компиляции зачемто еще нужен файлик qtintf.dll Хм... ну держи раз нужен...файл находился в C:\Windows\system32\ не понятно зачем он тебе ? |
Author: | Zelya [ 03 Dec 2012, 13:36 ] |
Post subject: | Re: DprToLvt (PasToLvt) |
Quote: qtintf.dll
А нафига ее юзать-то? Вы ж под Линукс портировать не будите. Убейте все формочки с буквой Q впереди, почистите uses - и будет все очень здорово. А то доставлять никому не нужные (в том числе и Вам) dll-ки - это не наш метод .
|
Author: | sas9568635 [ 03 Dec 2012, 13:38 ] |
Post subject: | Re: DprToLvt (PasToLvt) |
Quote: спасибо .... да нет мне не нужен ....
????!!!??!?!?!?! - В каком смысле "зачем он мне" ?..не понятно зачем он тебе ? Я до этого момента не знал об этом файле вообще ничего... Раз ТЫ написал, что "нужен файл" то я подумал может у тебя Дельфи его требует... |
Author: | sas9568635 [ 03 Dec 2012, 13:39 ] |
Post subject: | Re: DprToLvt (PasToLvt) |
Quote: Quote: qtintf.dll
А нафига ее юзать-то? Вы ж под Линукс портировать не будите. Убейте все формочки с буквой Q впереди, почистите uses - и будет все очень здорово. А то доставлять никому не нужные (в том числе и Вам) dll-ки - это не наш метод .??? Граждене, я вообще не пойму о чём речь?... Вы мне внятно можете объяснить.. а то я не знаю плакать мне или смеятся... |
Author: | MARAT_BEST [ 03 Dec 2012, 13:45 ] |
Post subject: | Re: DprToLvt (PasToLvt) |
Quote:
??? Граждене, я вообще не пойму о чём речь?... Вы мне внятно можете объяснить..
а то я не знаю плакать мне или смеятся... Quote: Quote: qtintf.dll
А нафига ее юзать-то? Вы ж под Линукс портировать не будите. Убейте все формочки с буквой Q впереди, почистите uses - и будет все очень здорово. А то доставлять никому не нужные (в том числе и Вам) dll-ки - это не наш метод .у вас гдето (возможно при компиляции библиотеки, в uses попала ссылка на данный DLL) |
Author: | sas9568635 [ 03 Dec 2012, 14:16 ] |
Post subject: | Re: DprToLvt (PasToLvt) |
Quote: у вас гдето (возможно при компиляции библиотеки, в uses попала ссылка на данный DLL)
Code: uses Classes, Forms, Windows, SysUtils, Graphics, IdGlobal, QDialogs, UnitMain in 'UnitMain.pas', EkranLVUnit in 'EkranLVUnit.pas' {MainFormEmu}, RegViewLVUnit in 'RegViewLVUnit.pas' {RegViewForm}, I8080 in 'I8080.pas', I8080proc in 'I8080proc.pas', ExecuteLV in 'ExecuteLV.pas', Delays in 'Delays.pas', SAStypes in '..\..\Poject\UNITdelphi\SAStypes.PAS', SASFiles in '..\..\Poject\UNITdelphi\SASFiles.pas', SASstring in '..\..\Poject\UNITdelphi\SASstring.PAS', Memory_ in 'Memory_.pas', FormatLVT in 'FormatLVT.pas', FormatE3 in 'FormatE3.pas', FormatEMU in 'FormatEMU.pas', SASChar in '..\..\Poject\UNITdelphi\SASChar.PAS', FormatSAV in 'FormatSAV.pas';В УПОР НЕВИЖУ ! Я так подозреваю может из-за примениея типа данных INT64. |
Page 12 of 15 | All times are UTC+03:00 |
Powered by phpBB® Forum Software © phpBB Limited https://www.phpbb.com/ |