{"id":3231,"date":"2025-04-17T10:22:18","date_gmt":"2025-04-17T10:22:18","guid":{"rendered":"https:\/\/webprojects.cloud\/wordpress\/splatco\/?post_type=spl_knowledgebase&#038;p=3231"},"modified":"2025-06-10T07:41:58","modified_gmt":"2025-06-10T07:41:58","slug":"ram-allocation-ground-rules","status":"publish","type":"spl_knowledgebase","link":"https:\/\/webprojects.cloud\/wordpress\/splatco\/knowledgebase\/splat-pc-programming-software\/splat-pc-ram-allocation-schemes\/splat-pc-automatic-ram-allocation\/ram-allocation-ground-rules\/","title":{"rendered":"RAM Allocation: Ground rules"},"content":{"rendered":"\n<p>The auto-allocation scheme is designed to co-exist with manual allocation. There are a few rules you need to remember to make the most of both schemes.<\/p>\n\n\n\n<h6 class=\"wp-block-heading\"><a href=\"https:\/\/webprojects.cloud\/wordpress\/splatco\/knowledgebase\/glossary-of-terms\/#o414\">RAM<\/a>\u00a0used by auto-allocation<\/h6>\n\n\n\n<p>Auto-allocation will use the following RAM:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>For normal data, anything above location 19 (inclusive) that has not been assigned in&nbsp;<code>mEQU<\/code>&nbsp;directives.<\/li>\n\n\n\n<li>For semaphores, anything above location 32 (inclusive) that has not been assigned in&nbsp;<code>mEQU<\/code>&nbsp;directives.<\/li>\n<\/ul>\n\n\n\n<h6 class=\"wp-block-heading\">How much RAM&nbsp;<code>mEQU<\/code>&nbsp;uses<\/h6>\n\n\n\n<p><code>mEQU<\/code>&nbsp;now has an optional byte count argument. For example<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">Foo:      mEQU      12,8<\/pre>\n\n\n\n<p>will mark locations 12 through 19 (8 bytes) as used and give label&nbsp;<code>Foo<\/code>&nbsp;the value 12. If you omit the second argument, it is taken to be 4 (to conservatively allow space for a floating point variable).<\/p>\n\n\n\n<h6 class=\"wp-block-heading\"><code>mEQU<\/code>&nbsp;allocations can be overlapped.<\/h6>\n\n\n\n<p>SPLat\/PC will let you reference the same RAM location any number of times in&nbsp;<code>mEQU<\/code>&nbsp;directives. That means that you are totally responsible for managing the memory allocated with&nbsp;<code>mEQU<\/code>&nbsp;directives. It also allows you to allocate the same RAM to different purposes if you are quite sure they will be used at different times by your program. This can be dangerous but can conserve RAM.<\/p>\n\n\n\n<h6 class=\"wp-block-heading\">You should not know where auto-allocated variables are stored<\/h6>\n\n\n\n<p>You may be able to work out where your auto-allocated variables are stored, but don&#8217;t try and use that knowledge beyond very immediate debugging. There is no guarantee they won&#8217;t move next time you edit your program, next time you translate it, next week or when we release a new version of SPLat\/PC.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>The auto-allocation scheme is designed to co-exist with manual allocation. There are a few rules you need to remember to make the most of both&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":3230,"menu_order":0,"template":"","class_list":["post-3231","spl_knowledgebase","type-spl_knowledgebase","status-publish","hentry"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v25.6 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>RAM Allocation: Ground rules - SPLat Controls<\/title>\n<meta name=\"robots\" content=\"noindex, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"RAM Allocation: Ground rules - SPLat Controls\" \/>\n<meta property=\"og:description\" content=\"The auto-allocation scheme is designed to co-exist with manual allocation. There are a few rules you need to remember to make the most of both...\" \/>\n<meta property=\"og:url\" content=\"https:\/\/webprojects.cloud\/wordpress\/splatco\/knowledgebase\/splat-pc-programming-software\/splat-pc-ram-allocation-schemes\/splat-pc-automatic-ram-allocation\/ram-allocation-ground-rules\/\" \/>\n<meta property=\"og:site_name\" content=\"SPLat Controls\" \/>\n<meta property=\"article:modified_time\" content=\"2025-06-10T07:41:58+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/webprojects.cloud\/wordpress\/splatco\/knowledgebase\/splat-pc-programming-software\/splat-pc-ram-allocation-schemes\/splat-pc-automatic-ram-allocation\/ram-allocation-ground-rules\/\",\"url\":\"https:\/\/webprojects.cloud\/wordpress\/splatco\/knowledgebase\/splat-pc-programming-software\/splat-pc-ram-allocation-schemes\/splat-pc-automatic-ram-allocation\/ram-allocation-ground-rules\/\",\"name\":\"RAM Allocation: Ground rules - SPLat Controls\",\"isPartOf\":{\"@id\":\"https:\/\/webprojects.cloud\/wordpress\/splatco\/#website\"},\"datePublished\":\"2025-04-17T10:22:18+00:00\",\"dateModified\":\"2025-06-10T07:41:58+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/webprojects.cloud\/wordpress\/splatco\/knowledgebase\/splat-pc-programming-software\/splat-pc-ram-allocation-schemes\/splat-pc-automatic-ram-allocation\/ram-allocation-ground-rules\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/webprojects.cloud\/wordpress\/splatco\/knowledgebase\/splat-pc-programming-software\/splat-pc-ram-allocation-schemes\/splat-pc-automatic-ram-allocation\/ram-allocation-ground-rules\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/webprojects.cloud\/wordpress\/splatco\/knowledgebase\/splat-pc-programming-software\/splat-pc-ram-allocation-schemes\/splat-pc-automatic-ram-allocation\/ram-allocation-ground-rules\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/webprojects.cloud\/wordpress\/splatco\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"SPLat\/PC programming software\",\"item\":\"https:\/\/webprojects.cloud\/wordpress\/splatco\/knowledgebase\/splat-pc-programming-software\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"SPLat\/PC: RAM allocation schemes\",\"item\":\"https:\/\/webprojects.cloud\/wordpress\/splatco\/knowledgebase\/splat-pc-programming-software\/splat-pc-ram-allocation-schemes\/\"},{\"@type\":\"ListItem\",\"position\":4,\"name\":\"SPLat\/PC: Automatic RAM allocation\",\"item\":\"https:\/\/webprojects.cloud\/wordpress\/splatco\/knowledgebase\/splat-pc-programming-software\/splat-pc-ram-allocation-schemes\/splat-pc-automatic-ram-allocation\/\"},{\"@type\":\"ListItem\",\"position\":5,\"name\":\"RAM Allocation: Ground rules\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/webprojects.cloud\/wordpress\/splatco\/#website\",\"url\":\"https:\/\/webprojects.cloud\/wordpress\/splatco\/\",\"name\":\"SPLat Controls\",\"description\":\"OEM Embedded Machine Controllers\",\"publisher\":{\"@id\":\"https:\/\/webprojects.cloud\/wordpress\/splatco\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/webprojects.cloud\/wordpress\/splatco\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/webprojects.cloud\/wordpress\/splatco\/#organization\",\"name\":\"SPLat Controls\",\"url\":\"https:\/\/webprojects.cloud\/wordpress\/splatco\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/webprojects.cloud\/wordpress\/splatco\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/webprojects.cloud\/wordpress\/splatco\/wp-content\/uploads\/2024\/10\/logo.svg\",\"contentUrl\":\"https:\/\/webprojects.cloud\/wordpress\/splatco\/wp-content\/uploads\/2024\/10\/logo.svg\",\"caption\":\"SPLat Controls\"},\"image\":{\"@id\":\"https:\/\/webprojects.cloud\/wordpress\/splatco\/#\/schema\/logo\/image\/\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"RAM Allocation: Ground rules - SPLat Controls","robots":{"index":"noindex","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"og_locale":"en_US","og_type":"article","og_title":"RAM Allocation: Ground rules - SPLat Controls","og_description":"The auto-allocation scheme is designed to co-exist with manual allocation. There are a few rules you need to remember to make the most of both...","og_url":"https:\/\/webprojects.cloud\/wordpress\/splatco\/knowledgebase\/splat-pc-programming-software\/splat-pc-ram-allocation-schemes\/splat-pc-automatic-ram-allocation\/ram-allocation-ground-rules\/","og_site_name":"SPLat Controls","article_modified_time":"2025-06-10T07:41:58+00:00","twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/webprojects.cloud\/wordpress\/splatco\/knowledgebase\/splat-pc-programming-software\/splat-pc-ram-allocation-schemes\/splat-pc-automatic-ram-allocation\/ram-allocation-ground-rules\/","url":"https:\/\/webprojects.cloud\/wordpress\/splatco\/knowledgebase\/splat-pc-programming-software\/splat-pc-ram-allocation-schemes\/splat-pc-automatic-ram-allocation\/ram-allocation-ground-rules\/","name":"RAM Allocation: Ground rules - SPLat Controls","isPartOf":{"@id":"https:\/\/webprojects.cloud\/wordpress\/splatco\/#website"},"datePublished":"2025-04-17T10:22:18+00:00","dateModified":"2025-06-10T07:41:58+00:00","breadcrumb":{"@id":"https:\/\/webprojects.cloud\/wordpress\/splatco\/knowledgebase\/splat-pc-programming-software\/splat-pc-ram-allocation-schemes\/splat-pc-automatic-ram-allocation\/ram-allocation-ground-rules\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/webprojects.cloud\/wordpress\/splatco\/knowledgebase\/splat-pc-programming-software\/splat-pc-ram-allocation-schemes\/splat-pc-automatic-ram-allocation\/ram-allocation-ground-rules\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/webprojects.cloud\/wordpress\/splatco\/knowledgebase\/splat-pc-programming-software\/splat-pc-ram-allocation-schemes\/splat-pc-automatic-ram-allocation\/ram-allocation-ground-rules\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/webprojects.cloud\/wordpress\/splatco\/"},{"@type":"ListItem","position":2,"name":"SPLat\/PC programming software","item":"https:\/\/webprojects.cloud\/wordpress\/splatco\/knowledgebase\/splat-pc-programming-software\/"},{"@type":"ListItem","position":3,"name":"SPLat\/PC: RAM allocation schemes","item":"https:\/\/webprojects.cloud\/wordpress\/splatco\/knowledgebase\/splat-pc-programming-software\/splat-pc-ram-allocation-schemes\/"},{"@type":"ListItem","position":4,"name":"SPLat\/PC: Automatic RAM allocation","item":"https:\/\/webprojects.cloud\/wordpress\/splatco\/knowledgebase\/splat-pc-programming-software\/splat-pc-ram-allocation-schemes\/splat-pc-automatic-ram-allocation\/"},{"@type":"ListItem","position":5,"name":"RAM Allocation: Ground rules"}]},{"@type":"WebSite","@id":"https:\/\/webprojects.cloud\/wordpress\/splatco\/#website","url":"https:\/\/webprojects.cloud\/wordpress\/splatco\/","name":"SPLat Controls","description":"OEM Embedded Machine Controllers","publisher":{"@id":"https:\/\/webprojects.cloud\/wordpress\/splatco\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/webprojects.cloud\/wordpress\/splatco\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/webprojects.cloud\/wordpress\/splatco\/#organization","name":"SPLat Controls","url":"https:\/\/webprojects.cloud\/wordpress\/splatco\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/webprojects.cloud\/wordpress\/splatco\/#\/schema\/logo\/image\/","url":"https:\/\/webprojects.cloud\/wordpress\/splatco\/wp-content\/uploads\/2024\/10\/logo.svg","contentUrl":"https:\/\/webprojects.cloud\/wordpress\/splatco\/wp-content\/uploads\/2024\/10\/logo.svg","caption":"SPLat Controls"},"image":{"@id":"https:\/\/webprojects.cloud\/wordpress\/splatco\/#\/schema\/logo\/image\/"}}]}},"_links":{"self":[{"href":"https:\/\/webprojects.cloud\/wordpress\/splatco\/wp-json\/wp\/v2\/spl_knowledgebase\/3231","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/webprojects.cloud\/wordpress\/splatco\/wp-json\/wp\/v2\/spl_knowledgebase"}],"about":[{"href":"https:\/\/webprojects.cloud\/wordpress\/splatco\/wp-json\/wp\/v2\/types\/spl_knowledgebase"}],"author":[{"embeddable":true,"href":"https:\/\/webprojects.cloud\/wordpress\/splatco\/wp-json\/wp\/v2\/users\/1"}],"up":[{"embeddable":true,"href":"https:\/\/webprojects.cloud\/wordpress\/splatco\/wp-json\/wp\/v2\/spl_knowledgebase\/3230"}],"wp:attachment":[{"href":"https:\/\/webprojects.cloud\/wordpress\/splatco\/wp-json\/wp\/v2\/media?parent=3231"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}