?? casl_tab.c
字號:
g_lCurrentParseCodeNumber++;
;
break;}
case 67:
#line 456 "casl.y"
{ g_tempCode.iSrcCodeLineNumber = g_iLineNumber;;
break;}
case 68:
#line 458 "casl.y"
{
if (NULL != yyvsp[-6])
{
g_mapLabel.insert(LabelMap::value_type(g_lCurrentParseCodeNumber, (char*)yyvsp[-6]));
free((char*)yyvsp[-6]);
}
g_tempCode.type = CASL_OR;
g_tempCode.operand1.type = REG_OPERAND;
g_tempCode.operand1.OperandVal.regOperand.regNumber = g_iCurrentRegNumber;
g_tempCode.operand2.type = EA_OPERAND;
g_tempCode.operand2.OperandVal.eaOperand.regNumber = g_iCurrentEARegNumber;
g_tempCode.operand2.OperandVal.eaOperand.address = g_currentEAAddress;
// g_tempCode.iSrcCodeLineNumber = g_iLineNumber - 1;
g_vecIntermediateCode.push_back(g_tempCode);
//將下一個Parse的代碼的編號加一
g_lCurrentParseCodeNumber++;
;
break;}
case 69:
#line 478 "casl.y"
{ g_tempCode.iSrcCodeLineNumber = g_iLineNumber;;
break;}
case 70:
#line 480 "casl.y"
{
if (NULL != yyvsp[-6])
{
g_mapLabel.insert(LabelMap::value_type(g_lCurrentParseCodeNumber, (char*)yyvsp[-6]));
free((char*)yyvsp[-6]);
}
g_tempCode.type = CASL_EOR;
g_tempCode.operand1.type = REG_OPERAND;
g_tempCode.operand1.OperandVal.regOperand.regNumber = g_iCurrentRegNumber;
g_tempCode.operand2.type = EA_OPERAND;
g_tempCode.operand2.OperandVal.eaOperand.regNumber = g_iCurrentEARegNumber;
g_tempCode.operand2.OperandVal.eaOperand.address = g_currentEAAddress;
// g_tempCode.iSrcCodeLineNumber = g_iLineNumber - 1;
g_vecIntermediateCode.push_back(g_tempCode);
//將下一個Parse的代碼的編號加一
g_lCurrentParseCodeNumber++;
;
break;}
case 77:
#line 507 "casl.y"
{ g_tempCode.iSrcCodeLineNumber = g_iLineNumber;;
break;}
case 78:
#line 510 "casl.y"
{
if (NULL != yyvsp[-6])
{
g_mapLabel.insert(LabelMap::value_type(g_lCurrentParseCodeNumber, (char*)yyvsp[-6]));
free((char*)yyvsp[-6]);
}
g_tempCode.type = CASL_CPA;
g_tempCode.operand1.type = REG_OPERAND;
g_tempCode.operand1.OperandVal.regOperand.regNumber = g_iCurrentRegNumber;
g_tempCode.operand2.type = EA_OPERAND;
g_tempCode.operand2.OperandVal.eaOperand.regNumber = g_iCurrentEARegNumber;
g_tempCode.operand2.OperandVal.eaOperand.address = g_currentEAAddress;
// g_tempCode.iSrcCodeLineNumber = g_iLineNumber - 1;
g_vecIntermediateCode.push_back(g_tempCode);
//將下一個Parse的代碼的編號加一
g_lCurrentParseCodeNumber++;
;
break;}
case 79:
#line 530 "casl.y"
{ g_tempCode.iSrcCodeLineNumber = g_iLineNumber;;
break;}
case 80:
#line 533 "casl.y"
{
if (NULL != yyvsp[-6])
{
g_mapLabel.insert(LabelMap::value_type(g_lCurrentParseCodeNumber, (char*)yyvsp[-6]));
free((char*)yyvsp[-6]);
}
g_tempCode.type = CASL_CPL;
g_tempCode.operand1.type = REG_OPERAND;
g_tempCode.operand1.OperandVal.regOperand.regNumber = g_iCurrentRegNumber;
g_tempCode.operand2.type = EA_OPERAND;
g_tempCode.operand2.OperandVal.eaOperand.regNumber = g_iCurrentEARegNumber;
g_tempCode.operand2.OperandVal.eaOperand.address = g_currentEAAddress;
// g_tempCode.iSrcCodeLineNumber = g_iLineNumber - 1;
g_vecIntermediateCode.push_back(g_tempCode);
//將下一個Parse的代碼的編號加一
g_lCurrentParseCodeNumber++;
;
break;}
case 81:
#line 554 "casl.y"
{ g_tempCode.iSrcCodeLineNumber = g_iLineNumber;;
break;}
case 82:
#line 557 "casl.y"
{
if (NULL != yyvsp[-6])
{
g_mapLabel.insert(LabelMap::value_type(g_lCurrentParseCodeNumber, (char*)yyvsp[-6]));
free((char*)yyvsp[-6]);
}
g_tempCode.type = CASL_SLA;
g_tempCode.operand1.type = REG_OPERAND;
g_tempCode.operand1.OperandVal.regOperand.regNumber = g_iCurrentRegNumber;
g_tempCode.operand2.type = EA_OPERAND;
g_tempCode.operand2.OperandVal.eaOperand.regNumber = g_iCurrentEARegNumber;
g_tempCode.operand2.OperandVal.eaOperand.address = g_currentEAAddress;
// g_tempCode.iSrcCodeLineNumber = g_iLineNumber - 1;
g_vecIntermediateCode.push_back(g_tempCode);
//將下一個Parse的代碼的編號加一
g_lCurrentParseCodeNumber++;
;
break;}
case 83:
#line 577 "casl.y"
{ g_tempCode.iSrcCodeLineNumber = g_iLineNumber;;
break;}
case 84:
#line 580 "casl.y"
{
if (NULL != yyvsp[-6])
{
g_mapLabel.insert(LabelMap::value_type(g_lCurrentParseCodeNumber, (char*)yyvsp[-6]));
free((char*)yyvsp[-6]);
}
g_tempCode.type = CASL_SRA;
g_tempCode.operand1.type = REG_OPERAND;
g_tempCode.operand1.OperandVal.regOperand.regNumber = g_iCurrentRegNumber;
g_tempCode.operand2.type = EA_OPERAND;
g_tempCode.operand2.OperandVal.eaOperand.regNumber = g_iCurrentEARegNumber;
g_tempCode.operand2.OperandVal.eaOperand.address = g_currentEAAddress;
// g_tempCode.iSrcCodeLineNumber = g_iLineNumber - 1;
g_vecIntermediateCode.push_back(g_tempCode);
//將下一個Parse的代碼的編號加一
g_lCurrentParseCodeNumber++;
;
break;}
case 85:
#line 600 "casl.y"
{ g_tempCode.iSrcCodeLineNumber = g_iLineNumber;;
break;}
case 86:
#line 603 "casl.y"
{
if (NULL != yyvsp[-6])
{
g_mapLabel.insert(LabelMap::value_type(g_lCurrentParseCodeNumber, (char*)yyvsp[-6]));
free((char*)yyvsp[-6]);
}
g_tempCode.type = CASL_SLL;
g_tempCode.operand1.type = REG_OPERAND;
g_tempCode.operand1.OperandVal.regOperand.regNumber = g_iCurrentRegNumber;
g_tempCode.operand2.type = EA_OPERAND;
g_tempCode.operand2.OperandVal.eaOperand.regNumber = g_iCurrentEARegNumber;
g_tempCode.operand2.OperandVal.eaOperand.address = g_currentEAAddress;
// g_tempCode.iSrcCodeLineNumber = g_iLineNumber - 1;
g_vecIntermediateCode.push_back(g_tempCode);
//將下一個Parse的代碼的編號加一
g_lCurrentParseCodeNumber++;
;
break;}
case 87:
#line 623 "casl.y"
{ g_tempCode.iSrcCodeLineNumber = g_iLineNumber;;
break;}
case 88:
#line 626 "casl.y"
{
if (NULL != yyvsp[-6])
{
g_mapLabel.insert(LabelMap::value_type(g_lCurrentParseCodeNumber, (char*)yyvsp[-6]));
free((char*)yyvsp[-6]);
}
g_tempCode.type = CASL_SRL;
g_tempCode.operand1.type = REG_OPERAND;
g_tempCode.operand1.OperandVal.regOperand.regNumber = g_iCurrentRegNumber;
g_tempCode.operand2.type = EA_OPERAND;
g_tempCode.operand2.OperandVal.eaOperand.regNumber = g_iCurrentEARegNumber;
g_tempCode.operand2.OperandVal.eaOperand.address = g_currentEAAddress;
// g_tempCode.iSrcCodeLineNumber = g_iLineNumber - 1;
g_vecIntermediateCode.push_back(g_tempCode);
//將下一個Parse的代碼的編號加一
g_lCurrentParseCodeNumber++;
;
break;}
case 94:
#line 651 "casl.y"
{g_tempCode.iSrcCodeLineNumber = g_iLineNumber;;
break;}
case 95:
#line 654 "casl.y"
{
if (NULL != yyvsp[-4])
{
g_mapLabel.insert(LabelMap::value_type(g_lCurrentParseCodeNumber, (char*)yyvsp[-4]));
free((char*)yyvsp[-4]);
}
g_tempCode.type = CASL_JMP;
g_tempCode.operand1.type = EA_OPERAND;
g_tempCode.operand1.OperandVal.eaOperand.regNumber = g_iCurrentEARegNumber;
g_tempCode.operand1.OperandVal.eaOperand.address = g_currentEAAddress;
g_tempCode.operand2.type = EMPTY_OPERAND;
// g_tempCode.iSrcCodeLineNumber = g_iLineNumber - 1;
g_vecIntermediateCode.push_back(g_tempCode);
//將下一個Parse的代碼的編號加一
g_lCurrentParseCodeNumber++;
;
break;}
case 96:
#line 673 "casl.y"
{ g_tempCode.iSrcCodeLineNumber = g_iLineNumber;;
break;}
case 97:
#line 676 "casl.y"
{
if (NULL != yyvsp[-4])
{
g_mapLabel.insert(LabelMap::value_type(g_lCurrentParseCodeNumber, (char*)yyvsp[-4]));
free((char*)yyvsp[-4]);
}
g_tempCode.type = CASL_JPZ;
g_tempCode.operand1.type = EA_OPERAND;
g_tempCode.operand1.OperandVal.eaOperand.regNumber = g_iCurrentEARegNumber;
g_tempCode.operand1.OperandVal.eaOperand.address = g_currentEAAddress;
g_tempCode.operand2.type = EMPTY_OPERAND;
// g_tempCode.iSrcCodeLineNumber = g_iLineNumber - 1;
g_vecIntermediateCode.push_back(g_tempCode);
//將下一個Parse的代碼的編號加一
g_lCurrentParseCodeNumber++;
;
break;}
case 98:
#line 695 "casl.y"
{ g_tempCode.iSrcCodeLineNumber = g_iLineNumber;;
break;}
case 99:
#line 698 "casl.y"
{
if (NULL != yyvsp[-4])
{
g_mapLabel.insert(LabelMap::value_type(g_lCurrentParseCodeNumber, (char*)yyvsp[-4]));
free((char*)yyvsp[-4]);
}
g_tempCode.type = CASL_JMI;
g_tempCode.operand1.type = EA_OPERAND;
g_tempCode.operand1.OperandVal.eaOperand.regNumber = g_iCurrentEARegNumber;
g_tempCode.operand1.OperandVal.eaOperand.address = g_currentEAAddress;
g_tempCode.operand2.type = EMPTY_OPERAND;
// g_tempCode.iSrcCodeLineNumber = g_iLineNumber - 1;
g_vecIntermediateCode.push_back(g_tempCode);
//將下一個Parse的代碼的編號加一
g_lCurrentParseCodeNumber++;
;
break;}
case 100:
#line 717 "casl.y"
{ g_tempCode.iSrcCodeLineNumber = g_iLineNumber;;
break;}
case 101:
#line 720 "casl.y"
{
if (NULL != yyvsp[-4])
{
g_mapLabel.insert(LabelMap::value_type(g_lCurrentParseCodeNumber, (char*)yyvsp[-4]));
free((char*)yyvsp[-4]);
}
g_tempCode.type = CASL_JNZ;
g_tempCode.operand1.type = EA_OPERAND;
g_tempCode.operand1.OperandVal.eaOperand.regNumber = g_iCurrentEARegNumber;
g_tempCode.operand1.OperandVal.eaOperand.address = g_currentEAAddress;
g_tempCode.operand2.type = EMPTY_OPERAND;
// g_tempCode.iSrcCodeLineNumber = g_iLineNumber - 1;
g_vecIntermediateCode.push_back(g_tempCode);
//將下一個Parse的代碼的編號加一
g_lCurrentParseCodeNumber++;
;
break;}
case 102:
#line 739 "casl.y"
{ g_tempCode.iSrcCodeLineNumber = g_iLineNumber;;
break;}
case 103:
#line 742 "casl.y"
{
if (NULL != yyvsp[-4])
{
g_mapLabel.insert(LabelMap::value_type(g_lCurrentParseCodeNumber, (char*)yyvsp[-4]));
free((char*)yyvsp[-4]);
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -