⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 2c2.c

📁 z80的软件仿真程序以及源代码
💻 C
字号:
#include<stdio.h>
#include<string.h>
#include<z8.h>
void com_rl(FILE *p,struct coms cms,struct dataseg dseg[64])
{unsigned int a,n;
int i,j;
if(cms.di[0]=='a'||cms.di[0]=='A'){a=0x17;BYTE;return;}
else{if(Is_char(cms.di[0])){a=0xcb;BYTE;a=0x10;n=bit_si(cms.di);
if(n<=0x7){a=a+n;BYTE;return;}else {PREC(cms.di);exit(0);}}
else 
if(cms.di[0]=='('||cms.di[0]=='[')
{for(i=1;Ture(cms.di[i])&&cms.di[i]!=')'&&cms.di[i]!=']';i++)
{j=i-1;cms.di[j]=cms.di[i];}cms.di[i-1]=0;
if((cms.di[0]=='h'||cms.di[0]=='H')&&(cms.di[1]=='l'||cms.di[1]=='L'))
{a=0x16cb;WORD;return;}
else if(cms.di[0]=='i'||cms.di[0]=='I')
{if(cms.di[1]=='x'||cms.di[1]=='X')
 {a=0xcbdd;WORD;if(cms.di[2]=='+')
  {j=0;
   for(i=3;(Ture(cms.di[i]))&&cms.di[i]!=')'&&cms.di[i]!=']';i++,j++)
      {cms.di[j]=cms.di[i];}cms.di[j]=0;
       if(Is_num(cms.di[0]))a=ljs(cms.di);
       else {i=find_da(dseg,cms.di);if(i==-1){PREC(cms.di);exit(0);}
       a=dseg[i].data;}
       if(a>0xff){OVER(a);exit(0);}}
      else a=0;BYTE;a=0xd3;BYTE;return;} 
else if(cms.di[1]=='y'||cms.di[1]=='Y')
 {a=0xcbfd;WORD;if(cms.di[2]=='+')
   {j=0;
     for(i=3;(Ture(cms.di[i]))&&cms.di[i]!=')'&&cms.di[i]!=']';i++,j++)
	{cms.di[j]=cms.di[i];}cms.di[j]=0;
        if(Is_num(cms.di[0]))a=ljs(cms.di);
        else {i=find_da(dseg,cms.di);if(i==-1){PREC(cms.di);exit(0);}
        a=dseg[i].data;}
        if(a>0xff){OVER(a);exit(0);}}
else a=0;BYTE;a=0xd3;BYTE;return;}}}}
printf("[%d]Error",No-1);exit(0);}
void com_sra(FILE *p,struct coms cms,struct dataseg dseg[64])
{unsigned int a,n;
int i,j;
if(Is_char(cms.di[0])){a=0xcb;BYTE;a=0x28;n=bit_si(cms.di);
if(n<=0x7){a=a+n;BYTE;return;}else {PREC(cms.di);exit(0);}}
else 
if(cms.di[0]=='('||cms.di[0]=='[')
{for(i=1;Ture(cms.di[i])&&cms.di[i]!=')'&&cms.di[i]!=']';i++)
{j=i-1;cms.di[j]=cms.di[i];}cms.di[i-1]=0;
if((cms.di[0]=='h'||cms.di[0]=='H')&&(cms.di[1]=='l'||cms.di[1]=='L'))
{a=0x2ecb;WORD;return;}
else if(cms.di[0]=='i'||cms.di[0]=='I')
{if(cms.di[1]=='x'||cms.di[1]=='X')
 {a=0xcbdd;WORD;if(cms.di[2]=='+')
  {j=0;
   for(i=3;(Ture(cms.di[i]))&&cms.di[i]!=')'&&cms.di[i]!=']';i++,j++)
      {cms.di[j]=cms.di[i];}cms.di[j]=0;
       if(Is_num(cms.di[0]))a=ljs(cms.di);
       else {i=find_da(dseg,cms.di);if(i==-1){PREC(cms.di);exit(0);}
       a=dseg[i].data;}
       if(a>0xff){OVER(a);exit(0);}}
      else a=0;BYTE;a=0x2e;BYTE;return;} 
else if(cms.di[1]=='y'||cms.di[1]=='Y')
 {a=0xcbfd;WORD;if(cms.di[2]=='+')
   {j=0;
     for(i=3;(Ture(cms.di[i]))&&cms.di[i]!=')'&&cms.di[i]!=']';i++,j++)
	{cms.di[j]=cms.di[i];}cms.di[j]=0;
        if(Is_num(cms.di[0]))a=ljs(cms.di);
        else {i=find_da(dseg,cms.di);if(i==-1){PREC(cms.di);exit(0);}
        a=dseg[i].data;}
        if(a>0xff){OVER(a);exit(0);}}
else a=0;BYTE;a=0x2e;BYTE;return;}}}
printf("[%d]Error",No-1);exit(0);}
void com_srl(FILE *p,struct coms cms,struct dataseg dseg[64])
{unsigned int a,n;
int i,j;
if(Is_char(cms.di[0])){a=0xcb;BYTE;a=0x38;n=bit_si(cms.di);
if(n<=0x7){a=a+n;BYTE;return;}else {PREC(cms.di);exit(0);}}
else 
if(cms.di[0]=='('||cms.di[0]=='[')
{for(i=1;Ture(cms.di[i])&&cms.di[i]!=')'&&cms.di[i]!=']';i++)
{j=i-1;cms.di[j]=cms.di[i];}cms.di[i-1]=0;
if((cms.di[0]=='h'||cms.di[0]=='H')&&(cms.di[1]=='l'||cms.di[1]=='L'))
{a=0x3ecb;WORD;return;}
else if(cms.di[0]=='i'||cms.di[0]=='I')
{if(cms.di[1]=='x'||cms.di[1]=='X')
 {a=0xcbdd;WORD;if(cms.di[2]=='+')
  {j=0;
   for(i=3;(Ture(cms.di[i]))&&cms.di[i]!=')'&&cms.di[i]!=']';i++,j++)
      {cms.di[j]=cms.di[i];}cms.di[j]=0;
       if(Is_num(cms.di[0]))a=ljs(cms.di);
       else {i=find_da(dseg,cms.di);if(i==-1){PREC(cms.di);exit(0);}
       a=dseg[i].data;}
       if(a>0xff){OVER(a);exit(0);}}
      else a=0;BYTE;a=0x3e;BYTE;return;}
else if(cms.di[1]=='y'||cms.di[1]=='Y')
 {a=0xcbfd;WORD;if(cms.di[2]=='+')
   {j=0;
     for(i=3;(Ture(cms.di[i]))&&cms.di[i]!=')'&&cms.di[i]!=']';i++,j++)
	{cms.di[j]=cms.di[i];}cms.di[j]=0;
        if(Is_num(cms.di[0]))a=ljs(cms.di);
        else {i=find_da(dseg,cms.di);if(i==-1){PREC(cms.di);exit(0);}
        a=dseg[i].data;}
        if(a>0xff){OVER(a);exit(0);}}
else a=0;BYTE;a=0x3e;BYTE;return;}}}
printf("[%d]Error",No-1);exit(0);}
void com_rr(FILE *p,struct coms cms,struct dataseg dseg[64])
{unsigned int a,n;
int i,j;
if(cms.di[0]=='a'||cms.di[0]=='A'){a=0x1f;BYTE;return;}
else{if(Is_char(cms.di[0])){a=0xcb;BYTE;a=0x18;n=bit_si(cms.di);
if(n<=0x7){a=a+n;BYTE;return;}else {PREC(cms.di);exit(0);}}
else 
if(cms.di[0]=='('||cms.di[0]=='[')
{for(i=1;Ture(cms.di[i])&&cms.di[i]!=')'&&cms.di[i]!=']';i++)
{j=i-1;cms.di[j]=cms.di[i];}cms.di[i-1]=0;
if((cms.di[0]=='h'||cms.di[0]=='H')&&(cms.di[1]=='l'||cms.di[1]=='L'))
{a=0x1ecb;WORD;return;}
else if(cms.di[0]=='i'||cms.di[0]=='I')
{if(cms.di[1]=='x'||cms.di[1]=='X')
 {a=0xcbdd;WORD;if(cms.di[2]=='+')
  {j=0;
   for(i=3;(Ture(cms.di[i]))&&cms.di[i]!=')'&&cms.di[i]!=']';i++,j++)
      {cms.di[j]=cms.di[i];}cms.di[j]=0;
       if(Is_num(cms.di[0]))a=ljs(cms.di);
       else {i=find_da(dseg,cms.di);if(i==-1){PREC(cms.di);exit(0);}
       a=dseg[i].data;}
       if(a>0xff){OVER(a);exit(0);}}
      else a=0;BYTE;a=0xdb;BYTE;return;} 
else if(cms.di[1]=='y'||cms.di[1]=='Y')
 {a=0xcbfd;WORD;if(cms.di[2]=='+')
   {j=0;
     for(i=3;(Ture(cms.di[i]))&&cms.di[i]!=')'&&cms.di[i]!=']';i++,j++)
	{cms.di[j]=cms.di[i];}cms.di[j]=0;
        if(Is_num(cms.di[0]))a=ljs(cms.di);
        else {i=find_da(dseg,cms.di);if(i==-1){PREC(cms.di);exit(0);}
        a=dseg[i].data;}
        if(a>0xff){OVER(a);exit(0);}}
else a=0;BYTE;a=0xdb;BYTE;return;}}}}
printf("[%d]Error",No-1);exit(0);}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -