Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Команды КР580 в виде Дельфи процедур [D6, XP]


sas9568635 ©   (2012-07-12 14:50:00) 

Пишу среду разработки  (Эмулятор)… ( http://sas.forumbb.ru/viewtopic.php?id=290)
Правильно ли реализованы следующие процедуры:

Procedure SBBD;
Begin
if FlagC then wremb:=1 else wremb:=0;
RgA:=RgA-RgD-wremb;
end;

Procedure SBI(b:byte);
Begin
if FlagC then wremb:=1 else wremb:=0;
RgA:=RgA-b-wremb;
end;

Procedure ORI(b:byte);
Begin
RgA:=RgA or b;
SetFlagAc(false);SetFlagC(false);
end;


Не знаю как реализовать Команду DAA на Дельфи, вот есть вырезки из СИ(которого я не знаю) и Асма, помогите транслировать в Дельфи конструкции или опишите пожалуйста каждую строку словами

Procedure DAA;
case 0x27: // 27 DAA
tmp1 = 0;
if ((RgF & f_C) || ( RgA         > 0x99)) tmp1 |= 0x60;
if ((RgF & f_A) || ((RgA & 0x0F) > 0x09)) tmp1 |= 0x06;
tmp2 = RgA + tmp1;
RgF = i8080_flags[tmp2 & 0xFF];
if ((tmp2 ^ RgA ^ tmp1) & 0x10) RgF |= f_A;
if (tmp2 > 0xFF) RgF |= f_C;
RgA = tmp2 & 0xFF;
clock += 4;
izmRgPC(+1);
break;


Вот асм реализация DAA

; DAA
C27:
 mov ax, [RgPSW]
 sahf
 daa
 lahf
 mov [RgPSW], ax
 ret

вот еще огрызок который мне пытались перевести на паскаль (Дельфи):

tmp := src1 + src2;
SetFlagAc(((src1 xor src2 xor tmp) and 16) 0);
dst := tmp;


sas9568635   (2012-07-14 19:42:00) [1]


> читать справку на эту тему не барское дело.

Да чего мне одни процедуры писать на пасе, а другие на асме... вот даже так ! ну смешно ведь блин...  
Граждане! Я на каком форуме?... На форуме "Базарные бабы"?.. Нет!?... Дак а чего когда я задаю вопросы мне всекие реплики и коментарии не по делу пишутся?... Типа: "А что...?"  "А зачем...?" "А почему в..?"


Inovet   (2012-07-13 06:23:00) [2]

> [4] Германн ©   (13.07.12 01:27)
> Пишешь эмулятор некоего процессора и не знаешь как правильно
> использовать конкретный ассемблер?

Копипастит. А в этом сообщении о том, кусоук из асм программы не получилось вставить в Делфи. Оно и понятно, читать справку на эту тему не барское дело.


Германн   (2012-07-13 01:27:00) [3]


> У меня уже было такое что пытался прикрутить "левую" асм
> процедуру... То заПУШЕвать регистры надо... то еще чего.
> .. то результат как "выцепливать" хрен поймешь...

Хм. Пишешь эмулятор некоего процессора и не знаешь как правильно использовать конкретный ассемблер?


sas9568635   (2012-07-12 16:04:00) [4]


> ну так и возьми ее за интересующую реализацию)Обязательно
> на Делфи что ли лепить процедуры эмуляции ?На basm-то еще
> лучше будет..

У меня уже было такое что пытался прикрутить "левую" асм процедуру... То заПУШЕвать регистры надо... то еще чего... то результат как "выцепливать" хрен поймешь...


Inovet   (2012-07-12 15:58:00) [5]

Дежавю?
http://www.delphimaster.ru/cgi-bin/forum.pl?n=18&id=1340908025


Сергей М.   (2012-07-12 15:42:00) [6]


> Вот асм реализация DAA


ну так и возьми ее за интересующую реализацию)
Обязательно на Делфи что ли лепить процедуры эмуляции ?
На basm-то еще лучше будет..


Наверх

Титульная страница Поиск, карта сайта Написать письмо