Esempio n. 1
0
 public void AssembleLabel(LabeledBlock lab)
 {
     helper.BeginScope(lab.name);
     helper.addLabel(lab.name, assembler.addr);
     AssembleBlock(lab.block);
     helper.EndScope(assembler);
 }
Esempio n. 2
0
        public void StartAssembly(List <Node> nodes)
        {
            helper.BeginScope();
            LabeledBlock entryPoint = getEntryPoint(nodes);

            AssembleLabel(entryPoint);
            nodes.Remove(entryPoint);
            foreach (Node n in nodes)
            {
                if (n is LabeledBlock)
                {
                    AssembleLabel((LabeledBlock)n);
                }
            }
            helper.EndScope(assembler);
            assembler.FixLabels(helper);
        }