📄 2c1.c
字号:
#include<stdio.h>
#include<string.h>
#include<z8.h>
void com_add(FILE *p,struct coms cms,struct dataseg dseg[64])
{unsigned int a,n;
int i,j;
if((cms.di[0]=='h'&&cms.di[1]=='l')||(cms.di[0]=='H'&&cms.di[1]=='L'))
{a=0x9;n=word_bit(cms.si);if(n!=0xff){a=a+n;BYTE;return;}
else{PREC(cms.si);exit(0);}}
else if(cms.di[0]=='i'||cms.di[0]=='I')
{if(cms.di[1]=='x'||cms.di[1]=='X'){a=0xdd;BYTE;n=word_bit(cms.si);
if(n!=0xff){a=0x9;a=a+n;BYTE;return;}
else{PREC(cms.si);exit(0);}}
else if(cms.di[1]=='y'||cms.di[1]=='y'){a=0xfd;BYTE;n=word_bit(cms.si);
if(n!=0xff){a=0x9;a=a+n;BYTE;return;}else{PREC(cms.si);exit(0);}}
else{PREC(cms.di);exit(0);}}
else {if(cms.si[0]==0){strcpy(cms.si,cms.di);cms.di[0]='a';cms.di[1]=0;}
if(cms.di[1]==0&&(cms.di[0]=='a'||cms.di[0]=='A'))
{if(Is_char(cms.si[0])){a=0x80;n=bit_si(cms.si);
if(n<=0x7){a=a+n;BYTE;return;}else {PREC(cms.si);exit(0);}}
else if(cms.si[0]=='#')
{a=0xc6;BYTE;
for(i=0;Ture(cms.si[i]);i++)
{j=i+1;cms.si[i]=cms.si[j];}
if(Is_num(cms.si[0])){a=ljs(cms.si);
if(a>0xff){OVER(a);exit(0);}else{BYTE;return;}}
else{i=find_da(dseg,cms.si);if(i==-1){PREC(cms.si);exit(0);}
a=dseg[i].data;if(a>0xff){OVER(a);exit(0);} BYTE;return;}}
else
if(cms.si[0]=='('||cms.si[0]=='[')
{for(i=1;Ture(cms.si[i])&&cms.si[i]!=')'&&cms.si[i]!=']';i++)
{j=i-1;cms.si[j]=cms.si[i];}cms.si[i-1]=0;
if((cms.si[0]=='h'||cms.si[0]=='H')&&(cms.si[1]=='l'||cms.si[1]=='L'))
{a=0x86;BYTE;return;}
else if(cms.si[0]=='i'||cms.si[0]=='I')
{if(cms.si[1]=='x'||cms.si[1]=='X')
{a=0x86dd;WORD;if(cms.si[2]=='+')
{j=0;
for(i=3;(Ture(cms.si[i]))&&cms.si[i]!=')'&&cms.si[i]!=']';i++,j++)
{cms.si[j]=cms.si[i];}cms.si[j]=0;
if(Is_num(cms.si[0]))a=ljs(cms.si);
else {i=find_da(dseg,cms.si);if(i==-1){PREC(cms.si);exit(0);}
a=dseg[i].data;}
if(a>0xff){OVER(a);exit(0);}}
else a=0;BYTE;return;}
else if(cms.si[1]=='y'||cms.si[1]=='Y')
{a=0x86fd;WORD;if(cms.si[2]=='+')
{j=0;
for(i=3;(Ture(cms.si[i]))&&cms.si[i]!=')'&&cms.si[i]!=']';i++,j++)
{cms.si[j]=cms.si[i];}cms.si[j]=0;
if(Is_num(cms.si[0]))a=ljs(cms.si);
else {i=find_da(dseg,cms.si);if(i==-1){PREC(cms.si);exit(0);}
a=dseg[i].data;}
if(a>0xff){OVER(a);exit(0);}}
else a=0;BYTE;return;}}}}}
printf("[%d]Error",No-1);exit(0);}
void com_adc(FILE *p,struct coms cms,struct dataseg dseg[64])
{unsigned int a,n;
int i,j;
if((cms.di[0]=='h'&&cms.di[1]=='l')||(cms.di[0]=='H'&&cms.di[1]=='L'))
{a=0xed;BYTE;a=0x4a;n=word_bit(cms.si);if(n!=0xff){a=a+n;BYTE;return;}
else{PREC(cms.si);exit(0);}}
else {if(cms.si[0]==0){strcpy(cms.si,cms.di);cms.di[0]='a';cms.di[1]=0;}
if(cms.di[1]==0&&(cms.di[0]=='a'||cms.di[0]=='A'))
{if(Is_char(cms.si[0])){a=0x88;n=bit_si(cms.si);
if(n<=0x7){a=a+n;BYTE;return;}else {PREC(cms.si);exit(0);}}
else if(cms.si[0]=='#')
{a=0xce;BYTE;
for(i=0;Ture(cms.si[i]);i++)
{j=i+1;cms.si[i]=cms.si[j];}
if(Is_num(cms.si[0])){a=ljs(cms.si);
if(a>0xff){OVER(a);exit(0);}else{BYTE;return;}}
else{i=find_da(dseg,cms.si);if(i==-1){PREC(cms.si);exit(0);}
a=dseg[i].data;if(a>0xff){OVER(a);exit(0);} BYTE;return;}}
else
if(cms.si[0]=='('||cms.si[0]=='[')
{for(i=1;Ture(cms.si[i])&&cms.si[i]!=')'&&cms.si[i]!=']';i++)
{j=i-1;cms.si[j]=cms.si[i];}cms.si[i-1]=0;
if((cms.si[0]=='h'||cms.si[0]=='H')&&(cms.si[1]=='l'||cms.si[1]=='L'))
{a=0x8e;BYTE;return;}
else if(cms.si[0]=='i'||cms.si[0]=='I')
{if(cms.si[1]=='x'||cms.si[1]=='X')
{a=0x8edd;WORD;if(cms.si[2]=='+')
{j=0;
for(i=3;(Ture(cms.si[i]))&&cms.si[i]!=')'&&cms.si[i]!=']';i++,j++)
{cms.si[j]=cms.si[i];}cms.si[j]=0;
if(Is_num(cms.si[0]))a=ljs(cms.si);
else {i=find_da(dseg,cms.si);if(i==-1){PREC(cms.si);exit(0);}
a=dseg[i].data;}
if(a>0xff){OVER(a);exit(0);}}
else a=0;BYTE;return;}
else if(cms.si[1]=='y'||cms.si[1]=='Y')
{a=0x8efd;WORD;if(cms.si[2]=='+')
{j=0;
for(i=3;(Ture(cms.si[i]))&&cms.si[i]!=')'&&cms.si[i]!=']';i++,j++)
{cms.si[j]=cms.si[i];}cms.si[j]=0;
if(Is_num(cms.si[0]))a=ljs(cms.si);
else {i=find_da(dseg,cms.si);if(i==-1){PREC(cms.si);exit(0);}
a=dseg[i].data;}
if(a>0xff){OVER(a);exit(0);}}
else a=0;BYTE;return;}}}}}
printf("[%d]Error",No-1);exit(0);}
void com_sub(FILE *p,struct coms cms,struct dataseg dseg[64])
{unsigned int a,n;
int i,j;
if(cms.si[0]==0){strcpy(cms.si,cms.di);cms.di[0]='a';cms.di[1]=0;}
if(cms.di[1]==0&&(cms.di[0]=='a'||cms.di[0]=='A'))
{if(Is_char(cms.si[0])){a=0x90;n=bit_si(cms.si);
if(n<=0x7){a=a+n;BYTE;return;}else {PREC(cms.si);exit(0);}}
else if(cms.si[0]=='#')
{a=0xd6;BYTE;
for(i=0;Ture(cms.si[i]);i++)
{j=i+1;cms.si[i]=cms.si[j];}
if(Is_num(cms.si[0])){a=ljs(cms.si);
if(a>0xff){OVER(a);exit(0);}else{BYTE;return;}}
else{i=find_da(dseg,cms.si);if(i==-1){PREC(cms.si);exit(0);}
a=dseg[i].data;if(a>0xff){OVER(a);exit(0);} BYTE;return;}}
else
if(cms.si[0]=='('||cms.si[0]=='[')
{for(i=1;Ture(cms.si[i])&&cms.si[i]!=')'&&cms.si[i]!=']';i++)
{j=i-1;cms.si[j]=cms.si[i];}cms.si[i-1]=0;
if((cms.si[0]=='h'||cms.si[0]=='H')&&(cms.si[1]=='l'||cms.si[1]=='L'))
{a=0x96;BYTE;return;}
else if(cms.si[0]=='i'||cms.si[0]=='I')
{if(cms.si[1]=='x'||cms.si[1]=='X')
{a=0x96dd;WORD;if(cms.si[2]=='+')
{j=0;
for(i=3;(Ture(cms.si[i]))&&cms.si[i]!=')'&&cms.si[i]!=']';i++,j++)
{cms.si[j]=cms.si[i];}cms.si[j]=0;
if(Is_num(cms.si[0]))a=ljs(cms.si);
else {i=find_da(dseg,cms.si);if(i==-1){PREC(cms.si);exit(0);}
a=dseg[i].data;}
if(a>0xff){OVER(a);exit(0);}}
else a=0;BYTE;return;}
else if(cms.si[1]=='y'||cms.si[1]=='Y')
{a=0x96fd;WORD;if(cms.si[2]=='+')
{j=0;
for(i=3;(Ture(cms.si[i]))&&cms.si[i]!=')'&&cms.si[i]!=']';i++,j++)
{cms.si[j]=cms.si[i];}cms.si[j]=0;
if(Is_num(cms.si[0]))a=ljs(cms.si);
else {i=find_da(dseg,cms.si);if(i==-1){PREC(cms.si);exit(0);}
a=dseg[i].data;}
if(a>0xff){OVER(a);exit(0);}}
else a=0;BYTE;return;}}}}
printf("[%d]Error",No-1);exit(0);}
void com_sbc(FILE *p,struct coms cms,struct dataseg dseg[64])
{unsigned int a,n;
int i,j;
if((cms.di[0]=='h'&&cms.di[1]=='l')||(cms.di[0]=='H'&&cms.di[1]=='L'))
{a=0xed;BYTE;a=0x42;n=word_bit(cms.si);if(n!=0xff){a=a+n;BYTE;return;}
else{PREC(cms.si);exit(0);}}
else {if(cms.si[0]==0){strcpy(cms.si,cms.di);cms.di[0]='a';cms.di[1]=0;}
if(cms.di[1]==0&&(cms.di[0]=='a'||cms.di[0]=='A'))
{if(Is_char(cms.si[0])){a=0x98;n=bit_si(cms.si);
if(n<=0x7){a=a+n;BYTE;return;}else {PREC(cms.si);exit(0);}}
else if(cms.si[0]=='#')
{a=0xde;BYTE;
for(i=0;Ture(cms.si[i]);i++)
{j=i+1;cms.si[i]=cms.si[j];}
if(Is_num(cms.si[0])){a=ljs(cms.si);
if(a>0xff){OVER(a);exit(0);}else{BYTE;return;}}
else{i=find_da(dseg,cms.si);if(i==-1){PREC(cms.si);exit(0);}
a=dseg[i].data;if(a>0xff){OVER(a);exit(0);} BYTE;return;}}
else
if(cms.si[0]=='('||cms.si[0]=='[')
{for(i=1;Ture(cms.si[i])&&cms.si[i]!=')'&&cms.si[i]!=']';i++)
{j=i-1;cms.si[j]=cms.si[i];}cms.si[i-1]=0;
if((cms.si[0]=='h'||cms.si[0]=='H')&&(cms.si[1]=='l'||cms.si[1]=='L'))
{a=0x9e;BYTE;return;}
else if(cms.si[0]=='i'||cms.si[0]=='I')
{if(cms.si[1]=='x'||cms.si[1]=='X')
{a=0x9edd;WORD;if(cms.si[2]=='+')
{j=0;
for(i=3;(Ture(cms.si[i]))&&cms.si[i]!=')'&&cms.si[i]!=']';i++,j++)
{cms.si[j]=cms.si[i];}cms.si[j]=0;
if(Is_num(cms.si[0]))a=ljs(cms.si);
else {i=find_da(dseg,cms.si);if(i==-1){PREC(cms.si);exit(0);}
a=dseg[i].data;}
if(a>0xff){OVER(a);exit(0);}}
else a=0;BYTE;return;}
else if(cms.si[1]=='y'||cms.si[1]=='Y')
{a=0x9efd;WORD;if(cms.si[2]=='+')
{j=0;
for(i=3;(Ture(cms.si[i]))&&cms.si[i]!=')'&&cms.si[i]!=']';i++,j++)
{cms.si[j]=cms.si[i];}cms.si[j]=0;
if(Is_num(cms.si[0]))a=ljs(cms.si);
else {i=find_da(dseg,cms.si);if(i==-1){PREC(cms.si);exit(0);}
a=dseg[i].data;}
if(a>0xff){OVER(a);exit(0);}}
else a=0;BYTE;return;}}}}}
printf("[%d]Error",No-1);exit(0);}
void com_and(FILE *p,struct coms cms,struct dataseg dseg[64])
{unsigned int a,n;
int i,j;
if(cms.si[0]==0){strcpy(cms.si,cms.di);cms.di[0]='a';cms.di[1]=0;}
if(cms.di[1]==0&&(cms.di[0]=='a'||cms.di[0]=='A'))
{if(Is_char(cms.si[0])){a=0xa0;n=bit_si(cms.si);
if(n<=0x7){a=a+n;BYTE;return;}else {PREC(cms.si);exit(0);}}
else if(cms.si[0]=='#')
{a=0xe6;BYTE;
for(i=0;Ture(cms.si[i]);i++)
{j=i+1;cms.si[i]=cms.si[j];}
if(Is_num(cms.si[0])){a=ljs(cms.si);
if(a>0xff){OVER(a);exit(0);}else{BYTE;return;}}
else{i=find_da(dseg,cms.si);if(i==-1){PREC(cms.si);exit(0);}
a=dseg[i].data;if(a>0xff){OVER(a);exit(0);} BYTE;return;}}
else
if(cms.si[0]=='('||cms.si[0]=='[')
{for(i=1;Ture(cms.si[i])&&cms.si[i]!=')'&&cms.si[i]!=']';i++)
{j=i-1;cms.si[j]=cms.si[i];}cms.si[i-1]=0;
if((cms.si[0]=='h'||cms.si[0]=='H')&&(cms.si[1]=='l'||cms.si[1]=='L'))
{a=0xa6;BYTE;return;}
else if(cms.si[0]=='i'||cms.si[0]=='I')
{if(cms.si[1]=='x'||cms.si[1]=='X')
{a=0xa6dd;WORD;if(cms.si[2]=='+')
{j=0;
for(i=3;(Ture(cms.si[i]))&&cms.si[i]!=')'&&cms.si[i]!=']';i++,j++)
{cms.si[j]=cms.si[i];}cms.si[j]=0;
if(Is_num(cms.si[0]))a=ljs(cms.si);
else {i=find_da(dseg,cms.si);if(i==-1){PREC(cms.si);exit(0);}
a=dseg[i].data;}
if(a>0xff){OVER(a);exit(0);}}
else a=0;BYTE;return;}
else if(cms.si[1]=='y'||cms.si[1]=='Y')
{a=0xa6fd;WORD;if(cms.si[2]=='+')
{j=0;
for(i=3;(Ture(cms.si[i]))&&cms.si[i]!=')'&&cms.si[i]!=']';i++,j++)
{cms.si[j]=cms.si[i];}cms.si[j]=0;
if(Is_num(cms.si[0]))a=ljs(cms.si);
else {i=find_da(dseg,cms.si);if(i==-1){PREC(cms.si);exit(0);}
a=dseg[i].data;}
if(a>0xff){OVER(a);exit(0);}}
else a=0;BYTE;return;}}}}
printf("[%d]Error",No-1);exit(0);}
void com_or(FILE *p,struct coms cms,struct dataseg dseg[64])
{unsigned int a,n;
int i,j;
if(cms.si[0]==0){strcpy(cms.si,cms.di);cms.di[0]='a';cms.di[1]=0;}
if(cms.di[1]==0&&(cms.di[0]=='a'||cms.di[0]=='A'))
{if(Is_char(cms.si[0])){a=0xb0;n=bit_si(cms.si);
if(n<=0x7){a=a+n;BYTE;return;}else {PREC(cms.si);exit(0);}}
else if(cms.si[0]=='#')
{a=0xf6;BYTE;
for(i=0;Ture(cms.si[i]);i++)
{j=i+1;cms.si[i]=cms.si[j];}
if(Is_num(cms.si[0])){a=ljs(cms.si);
if(a>0xff){OVER(a);exit(0);}else{BYTE;return;}}
else{i=find_da(dseg,cms.si);if(i==-1){PREC(cms.si);exit(0);}
a=dseg[i].data;if(a>0xff){OVER(a);exit(0);} BYTE;return;}}
else
if(cms.si[0]=='('||cms.si[0]=='[')
{for(i=1;Ture(cms.si[i])&&cms.si[i]!=')'&&cms.si[i]!=']';i++)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -