summary refs log tree commit diff stats
path: root/doc/print_keys.py
Commit message (Expand)AuthorAgeFilesLines
* added doc/print_keys.pyhut2010-04-081-0/+14
n17' href='#n17'>17 18 19 20 21 22 23 24 25 26 27 28 29
//: Support for dynamic allocation.
//:
//: Just provide a special label marking the first unused address in the data
//: segment. Then we'll write SubX helpers to make use of it.

:(before "Begin rewrite_global_variables")
insert_heap_global_variable(p);
:(code)
void insert_heap_global_variable(program& p) {
  if (SIZE(p.segments) < 2)
    return;  // no data segment defined
  // Start-of-heap:
  p.segments.at(1).lines.push_back(label("Start-of-heap"));
}

line label(string s) {
  line result;
  result.words.push_back(word());
  result.words.back().data = (s+":");
  return result;
}

line imm32(const string& s) {
  line result;
  result.words.push_back(word());
  result.words.back().data = s;
  result.words.back().metadata.push_back("imm32");
  return result;
}