Ejemplo n.º 1
0
        private void GenerateProcLineUsingVariableASM(string tacWord)
        {
            if (tacWord == "_ax")
            {
                TACFile.GetNextWord();
                AssemblyFile.AddLine($"     mov ax, {GetAndFormatWord()}");
            }
            else
            {
                TACFile.GetNextWord(); // skip equal sign
                string axReg  = GetAndFormatWord();
                char   opChar = TACFile.PeekNextChar();

                if (opChar == '*' || opChar == '/' || opChar == '-' || opChar == '+')
                {
                    GenerateOperationLineASM(opChar, axReg, tacWord);
                }
                else
                {
                    GenerateAssignmentLineASM(axReg, tacWord);
                }
            }
        }