c64_assembler/memory/
define.rs

1use super::{user_count::UserCount, Address};
2
3#[derive(Clone)]
4pub struct Define {
5    pub name: String,
6    pub value: Value,
7    user_count: usize,
8}
9impl Define {
10    pub fn new(name: &str, value: Value) -> Define {
11        Define {
12            name: name.to_string(),
13            value,
14            user_count: 0,
15        }
16    }
17}
18
19#[derive(Copy, Clone)]
20pub enum Value {
21    Address(Address),
22    Zeropage(Address),
23}
24
25impl UserCount for Define {
26    fn user_increase(&mut self) {
27        self.user_count += 1;
28    }
29
30    fn user_count(&self) -> usize {
31        self.user_count
32    }
33}