# Pre-RFC: Conditionally-supported volatile access to address 0

**URL:** <https://internals.rust-lang.org/t/pre-rfc-conditionally-supported-volatile-access-to-address-0/12881>\
**Category:** libs\
**Created:** [August 13, 2020, 3:50am UTC](https://internals.rust-lang.org/t/pre-rfc-conditionally-supported-volatile-access-to-address-0/12881 "2020-08-13T03:50:17Z")\
**Posts on this page:** 1\
**Showing post:** 23

<div class="post-metadata">

**Author:** ![Tom-Phinney](https://sea2.discourse-cdn.com/flex002/user_avatar/internals.rust-lang.org/tom-phinney/32/3299_2.png) [@Tom-Phinney](https://internals.rust-lang.org/u/Tom-Phinney)\
**Post date:** [August 13, 2020, 9:29pm UTC](https://internals.rust-lang.org/t/pre-rfc-conditionally-supported-volatile-access-to-address-0/12881/23 "2020-08-13T21:29:43Z")

</div>

The [65816, AKA WDC 65C816](https://en.wikipedia.org/wiki/WDC_65C816), is a 37-year-old enhanced variant of a 6502, which explains its legacy use of `0x0…0` as a valid address. Your use of modern atomics to restrict compiler code motion makes sense, even if `atomic`s per se weren't something that the original 6502 designers ever considered.

---

_[View the full topic](https://internals.rust-lang.org/t/pre-rfc-conditionally-supported-volatile-access-to-address-0/12881)._
