![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Команды КР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-то еще лучше будет..