{"id":3496,"date":"2023-06-23T04:12:49","date_gmt":"2023-06-22T22:42:49","guid":{"rendered":"https:\/\/cthecosmos.com\/?p=3496"},"modified":"2023-06-23T04:12:49","modified_gmt":"2023-06-22T22:42:49","slug":"addressing-modes","status":"publish","type":"post","link":"https:\/\/cthecosmos.com\/?p=3496","title":{"rendered":"Addressing Modes"},"content":{"rendered":"\n<div class=\"wp-block-group has-black-color has-text-color has-background\" style=\"background-color:#f7f7f7;font-size:15px;line-height:1.7\"><div class=\"wp-block-group__inner-container is-layout-constrained wp-block-group-is-layout-constrained\">\n<p class=\"wp-block-paragraph\"><strong><u>ALL ABOUT ADDRESSING MODES:<\/u><\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Moving into the depths of low-level programming, we land upon assembly language. Assembly language is the closest language to us programmers and hardware. The assembly language is hardware dependent. You can\u2019t write the same code for all the devices that you are about to use. Before you write any assembly code, you need to look into the data sheet of the processor\/controller you are using and write the code accordingly.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">When we talk about coding in assembly, we definitely need to take care about the way your code accesses the memory. Apart from the main memory, the CPU\u2019s have a small number of memory locations known as registers. There are only a limited number of registers on the CPU. When you write a code (in C) to add a value such as:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Int A=10;<br>Int B=20;<br>Int C =A+B;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The values of A and B are stored in the main memory of the system. When the operation is executed, the CPU instruction fetches the value of A and B stored in the main memory, keep it in registers, execute it and then send it back to the main memory where the data would be stored in C.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The memory location present in the main memory have addresses while the registers on the CPU have names.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Now, as I said, the data needs to be sent all over the place in the system for calculations and storage, we have different addressing modes where we can tell how the data can be accessed\/addressed.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Register Direct Addressing<\/li>\n\n\n\n<li>Memory Direct Addressing<\/li>\n\n\n\n<li>Immediate Addressing<\/li>\n\n\n\n<li>Indirect Addressing<ul><li>Indirect Addressing with auto post increment<\/li><\/ul>\n<ul class=\"wp-block-list\">\n<li>Indirect Addressing with auto pre decrement<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>Indexed Addressing<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong><em><u>Register Direct Addressing:<\/u><\/em><\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">As the name suggests, when this mode of addressing is used, the operand data is stored in the register itself i.e the instruction would contain the address of the register.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">(Considering the intel x86)<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ex: MOV AX,DX<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">In the above operation, the contents of the register DX is moved into AX.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The contents of DX are destroyed and moved into AX.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ex 2:<br>MOV A,B<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">With the MOV instruction is a byte-move instruction i.e only the least significant bytes of A and B registers are used. The higher bytes remain the same. To move even the upper bytes, use MOV.W.<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; MOV.W A,B<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The C language equivalent to the above statement would be:<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; register int a,b;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; a=10;b=20;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; a=b;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong><em><u>Memory Direct Addressing:<\/u><\/em><\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Memory direct addressing also commonly known as direct addressing is the scheme\/method where the value given is stored at a given location in the memory.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Example:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">MOV.W 95 200<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Here, the location 95 consists of the value 200. If I do some other operation such as MOV.W 95 99, then the location 95 consists of the variable 99. It\u2019s similar to initializing variables in C.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">int var =20; \/\/ the value 20 is initialized to the variable var<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">var =30; \/\/ the variable var is overwritten with 30. The new value of var is 30.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong><em><u>Immediate Addressing:<\/u><\/em><\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Immediate addressing mode is a way of specifying a value directly within an instruction. A \u2018#\u2019 is added before the number that is to be operated upon the location. Consider the following from the above example:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">MOV #93, 233<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The value 93 is directly kept into 233 memory location. It simply loads the value into the specified location. Another example would be<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">ADD #5, R1<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The value 5 is directly added with the contents of the register R1 without being stored. It can be useful where we know we don\u2019t want the variable to be stored and be operated upon. The C equivalent of the above is of immediate addressing mode is<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">register int loc1;<br>loc1= \u2018&amp;\u2019; \/\/ Store the ASCII value of &amp; (38) in the loc1 variable.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong><em><u>Indirect Addressing:<\/u><\/em><\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The first thought you get when you hear about indirect addressing is the pointers. We have already seen about that in one of the posts. Let\u2019s direct to assembly indirection now.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The contents of memory cell whose address is in the indicated register or memory location is accessed. Simply said, the information held in the memory location referred to by the register or memory location provided is obtained. It uses the notation (register).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Example:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">MOV (300),(199) ;This instruction moves the contents of the memory location 300 into 199.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Indirect addressing is an important concept as it allows manipulation of data. I.e, the register contains the memory location whose value is manipulated but not the register itself. Just as a pointer.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">register int *ptr;<br>int val1,val2;<br>ptr=&amp;val1;<br>*ptr=1000;<br>val2=*ptr; \/\/ Self Exp..<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong><em><u>Indirect Addressing with post increment:<\/u><\/em><\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Indirect Addressing with post increment and post and pre decrement addressing modes are not the most commonly heard modes. What are they? The notation used for this mode is (register)+. The register holds the address of the cell that is to be accessed. Once this operation is performed, the register itself is changed after its contents are addressed. If the operation is performed on a byte sized object, then 1 is added to the register else, if the operation is performed on a word sized object, then 2 is added to the register. It is similar to the increment operator in C.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">MOV A,10<br>MOV (A)+,B<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A hold the address10, the next instruction transfers the content 10 to the register B, then A is automatically incremented to 11. The A and B registers are modified, but the content remains the same.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong><em><u>Indirect Addressing with pre decrement:<\/u><\/em><\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Similar to the above, this uses the notation \u2013(register). Instead of incrementing after the operation, the register itself is decremented.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">MOV A,10<br>MOV \u2013(A),B<br><br>The register a holds 10 in the first instruction. Once the second instruction starts to execute, it first decrements the register location A, and then transfers the contents at the decremented location to register B. It is similar to the decrement operation (&#8211;) in C.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong><em><u>Indexed Addressing Mode:<\/u><\/em><\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">To represent this addressing mode, we use, x(register) where x is added to the contents of register and then the contents of the cell whose address is the result of addition is accessed. Here x is simply an offset, it may either be positive or negative.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">MOV A,150<br>MOV 20(A),B ; moves memory location (150+20) to B.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The A register isint modified in this case. This mode is useful while accessing single element in an array.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">int array[5]={1,2,3,4,5};<br>int i;<br>array[2]=7; \/\/ modified to {1,2,7,4,5}<br><br>Similarly, it can be used in conditional loops.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Apart from the addressing modes, there are plethora of concepts that come into light in the assembly. The instruction sets, labels, comments, compilation and more. In the next article, I would be describing about the general process of subroutine processing.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Stay tuned, See you soon.<\/p>\n<\/div><\/div>\n\n\n\n<p class=\"has-white-color has-black-background-color has-text-color has-background wp-block-paragraph\">Follow to be updated with content on Embedded Systems.<\/p>\n\n\n\n<p class=\"has-white-color has-black-background-color has-text-color has-background wp-block-paragraph\">Written By: Yashwanth Naidu Tikkisetty<\/p>\n","protected":false},"excerpt":{"rendered":"<p>ALL ABOUT ADDRESSING MODES: Moving into the depths of low-level programming, we land upon assembly language. Assembly language is the closest language to us programmers and hardware. The assembly language is hardware dependent. You can\u2019t write the same code for all the devices that you are about to use. Before you write any assembly code, [&hellip;]<\/p>\n<a href=\"https:\/\/cthecosmos.com\/?p=3496\" class=\"more-link\">Read More <span class=\"screen-reader-text\">Addressing Modes<\/span><\/a>","protected":false},"author":120055267,"featured_media":3499,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_wpcom_ai_launchpad_first_post":false,"_jetpack_feature_clip_id":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"{title}\n\n{excerpt}\n\n{url}","jetpack_publicize_feature_enabled":false,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2},"_wpas_customize_per_network":false,"jetpack_post_was_ever_published":false},"categories":[1342,28627,6],"tags":[1634593,1706979,116364534,38887748,763344732,10969655,772321180,3383,772321190],"class_list":["post-3496","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-education","category-embedded","category-technology","tag-c-2","tag-cprogramming","tag-earlycareer","tag-embedded-2","tag-embeddedembeddedsystems-cprogramming-c-os-rtos-oswithyash-linux-earlycareer-cthecosmos","tag-embeddedsystems","tag-linux","tag-os","tag-rtos","fallback-thumbnail"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.1.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"ALL ABOUT ADDRESSING MODES: Moving into the depths of low-level programming, we land upon assembly language. Assembly language is the closest language to us programmers and hardware. The assembly language is hardware dependent. You can\u2019t write the same code for all the devices that you are about to use. Before you write any assembly code,\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yashwanth Naidu Tikkisetty\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/cthecosmos.com\/?p=3496\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"en_US\" \/>\n\t\t<meta property=\"og:site_name\" content=\"Yashwanth Naidu Tikkisetty - Embedded Systems | Space Blogger\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"Addressing Modes - Yashwanth Naidu Tikkisetty\" \/>\n\t\t<meta property=\"og:description\" content=\"ALL ABOUT ADDRESSING MODES: Moving into the depths of low-level programming, we land upon assembly language. Assembly language is the closest language to us programmers and hardware. The assembly language is hardware dependent. You can\u2019t write the same code for all the devices that you are about to use. Before you write any assembly code,\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/cthecosmos.com\/?p=3496\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/cthecosmos.com\/wp-content\/uploads\/2018\/08\/logo1.png\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/cthecosmos.com\/wp-content\/uploads\/2018\/08\/logo1.png\" \/>\n\t\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t\t<meta property=\"og:image:height\" content=\"1200\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2023-06-22T22:42:49+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2023-06-22T22:42:49+00:00\" \/>\n\t\t<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n\t\t<meta name=\"twitter:title\" content=\"Addressing Modes - Yashwanth Naidu Tikkisetty\" \/>\n\t\t<meta name=\"twitter:description\" content=\"ALL ABOUT ADDRESSING MODES: Moving into the depths of low-level programming, we land upon assembly language. Assembly language is the closest language to us programmers and hardware. The assembly language is hardware dependent. You can\u2019t write the same code for all the devices that you are about to use. Before you write any assembly code,\" \/>\n\t\t<meta name=\"twitter:image\" content=\"https:\/\/cthecosmos.com\/wp-content\/uploads\/2018\/08\/logo1.png\" \/>\n\t\t<script type=\"application\/ld+json\" class=\"aioseo-schema\">\n\t\t\t{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"BlogPosting\",\"@id\":\"https:\\\/\\\/cthecosmos.com\\\/?p=3496#blogposting\",\"name\":\"Addressing Modes - Yashwanth Naidu Tikkisetty\",\"headline\":\"Addressing Modes\",\"author\":{\"@id\":\"https:\\\/\\\/cthecosmos.com\\\/?author=120055267#author\"},\"publisher\":{\"@id\":\"https:\\\/\\\/cthecosmos.com\\\/#person\"},\"image\":{\"@type\":\"ImageObject\",\"url\":\"https:\\\/\\\/i0.wp.com\\\/cthecosmos.com\\\/wp-content\\\/uploads\\\/2023\\\/06\\\/pexels-photo-13013021.jpeg?fit=979%2C1300&ssl=1\",\"width\":979,\"height\":1300,\"caption\":\"Photo by Obi Onyeador on Pexels.com\"},\"datePublished\":\"2023-06-23T04:12:49+05:30\",\"dateModified\":\"2023-06-23T04:12:49+05:30\",\"inLanguage\":\"en-US\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/cthecosmos.com\\\/?p=3496#webpage\"},\"isPartOf\":{\"@id\":\"https:\\\/\\\/cthecosmos.com\\\/?p=3496#webpage\"},\"articleSection\":\"Education, Embedded, technology, #c, #cprogramming, #earlycareer, #Embedded, #embedded#embeddedsystems #cprogramming #C #OS #RTOS #oswithyash #linux #earlycareer #cthecosmos, #embeddedsystems, #linux, #OS, #RTOS\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/cthecosmos.com\\\/?p=3496#breadcrumblist\",\"itemListElement\":[{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/cthecosmos.com#listItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/cthecosmos.com\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/cthecosmos.com\\\/?cat=6#listItem\",\"name\":\"technology\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/cthecosmos.com\\\/?cat=6#listItem\",\"position\":2,\"name\":\"technology\",\"item\":\"https:\\\/\\\/cthecosmos.com\\\/?cat=6\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/cthecosmos.com\\\/?p=3496#listItem\",\"name\":\"Addressing Modes\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/cthecosmos.com#listItem\",\"name\":\"Home\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/cthecosmos.com\\\/?p=3496#listItem\",\"position\":3,\"name\":\"Addressing Modes\",\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/cthecosmos.com\\\/?cat=6#listItem\",\"name\":\"technology\"}}]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/cthecosmos.com\\\/#person\",\"name\":\"Yashwanth Naidu Tikkisetty\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\\\/\\\/cthecosmos.com\\\/?p=3496#personImage\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/a02d9f38e4c924587b544c74f6d5de0c8469b6a5c684622f1aa4ea2ba65b17d8?s=96&d=identicon&r=g\",\"width\":96,\"height\":96,\"caption\":\"Yashwanth Naidu Tikkisetty\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/cthecosmos.com\\\/?author=120055267#author\",\"url\":\"https:\\\/\\\/cthecosmos.com\\\/?author=120055267\",\"name\":\"Yashwanth Naidu Tikkisetty\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\\\/\\\/cthecosmos.com\\\/?p=3496#authorImage\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/a02d9f38e4c924587b544c74f6d5de0c8469b6a5c684622f1aa4ea2ba65b17d8?s=96&d=identicon&r=g\",\"width\":96,\"height\":96,\"caption\":\"Yashwanth Naidu Tikkisetty\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/cthecosmos.com\\\/?p=3496#webpage\",\"url\":\"https:\\\/\\\/cthecosmos.com\\\/?p=3496\",\"name\":\"Addressing Modes - Yashwanth Naidu Tikkisetty\",\"description\":\"ALL ABOUT ADDRESSING MODES: Moving into the depths of low-level programming, we land upon assembly language. Assembly language is the closest language to us programmers and hardware. The assembly language is hardware dependent. You can\\u2019t write the same code for all the devices that you are about to use. Before you write any assembly code,\",\"inLanguage\":\"en-US\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/cthecosmos.com\\\/#website\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/cthecosmos.com\\\/?p=3496#breadcrumblist\"},\"author\":{\"@id\":\"https:\\\/\\\/cthecosmos.com\\\/?author=120055267#author\"},\"creator\":{\"@id\":\"https:\\\/\\\/cthecosmos.com\\\/?author=120055267#author\"},\"image\":{\"@type\":\"ImageObject\",\"url\":\"https:\\\/\\\/i0.wp.com\\\/cthecosmos.com\\\/wp-content\\\/uploads\\\/2023\\\/06\\\/pexels-photo-13013021.jpeg?fit=979%2C1300&ssl=1\",\"@id\":\"https:\\\/\\\/cthecosmos.com\\\/?p=3496\\\/#mainImage\",\"width\":979,\"height\":1300,\"caption\":\"Photo by Obi Onyeador on Pexels.com\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/cthecosmos.com\\\/?p=3496#mainImage\"},\"datePublished\":\"2023-06-23T04:12:49+05:30\",\"dateModified\":\"2023-06-23T04:12:49+05:30\"},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/cthecosmos.com\\\/#website\",\"url\":\"https:\\\/\\\/cthecosmos.com\\\/\",\"name\":\"Yashwanth Naidu Tikkisetty\",\"description\":\"Embedded Systems | Space Blogger\",\"inLanguage\":\"en-US\",\"publisher\":{\"@id\":\"https:\\\/\\\/cthecosmos.com\\\/#person\"}}]}\n\t\t<\/script>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"Addressing Modes - Yashwanth Naidu Tikkisetty","description":"ALL ABOUT ADDRESSING MODES: Moving into the depths of low-level programming, we land upon assembly language. Assembly language is the closest language to us programmers and hardware. The assembly language is hardware dependent. You can\u2019t write the same code for all the devices that you are about to use. Before you write any assembly code,","canonical_url":"https:\/\/cthecosmos.com\/?p=3496","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"BlogPosting","@id":"https:\/\/cthecosmos.com\/?p=3496#blogposting","name":"Addressing Modes - Yashwanth Naidu Tikkisetty","headline":"Addressing Modes","author":{"@id":"https:\/\/cthecosmos.com\/?author=120055267#author"},"publisher":{"@id":"https:\/\/cthecosmos.com\/#person"},"image":{"@type":"ImageObject","url":"https:\/\/i0.wp.com\/cthecosmos.com\/wp-content\/uploads\/2023\/06\/pexels-photo-13013021.jpeg?fit=979%2C1300&ssl=1","width":979,"height":1300,"caption":"Photo by Obi Onyeador on Pexels.com"},"datePublished":"2023-06-23T04:12:49+05:30","dateModified":"2023-06-23T04:12:49+05:30","inLanguage":"en-US","mainEntityOfPage":{"@id":"https:\/\/cthecosmos.com\/?p=3496#webpage"},"isPartOf":{"@id":"https:\/\/cthecosmos.com\/?p=3496#webpage"},"articleSection":"Education, Embedded, technology, #c, #cprogramming, #earlycareer, #Embedded, #embedded#embeddedsystems #cprogramming #C #OS #RTOS #oswithyash #linux #earlycareer #cthecosmos, #embeddedsystems, #linux, #OS, #RTOS"},{"@type":"BreadcrumbList","@id":"https:\/\/cthecosmos.com\/?p=3496#breadcrumblist","itemListElement":[{"@type":"ListItem","@id":"https:\/\/cthecosmos.com#listItem","position":1,"name":"Home","item":"https:\/\/cthecosmos.com","nextItem":{"@type":"ListItem","@id":"https:\/\/cthecosmos.com\/?cat=6#listItem","name":"technology"}},{"@type":"ListItem","@id":"https:\/\/cthecosmos.com\/?cat=6#listItem","position":2,"name":"technology","item":"https:\/\/cthecosmos.com\/?cat=6","nextItem":{"@type":"ListItem","@id":"https:\/\/cthecosmos.com\/?p=3496#listItem","name":"Addressing Modes"},"previousItem":{"@type":"ListItem","@id":"https:\/\/cthecosmos.com#listItem","name":"Home"}},{"@type":"ListItem","@id":"https:\/\/cthecosmos.com\/?p=3496#listItem","position":3,"name":"Addressing Modes","previousItem":{"@type":"ListItem","@id":"https:\/\/cthecosmos.com\/?cat=6#listItem","name":"technology"}}]},{"@type":"Person","@id":"https:\/\/cthecosmos.com\/#person","name":"Yashwanth Naidu Tikkisetty","image":{"@type":"ImageObject","@id":"https:\/\/cthecosmos.com\/?p=3496#personImage","url":"https:\/\/secure.gravatar.com\/avatar\/a02d9f38e4c924587b544c74f6d5de0c8469b6a5c684622f1aa4ea2ba65b17d8?s=96&d=identicon&r=g","width":96,"height":96,"caption":"Yashwanth Naidu Tikkisetty"}},{"@type":"Person","@id":"https:\/\/cthecosmos.com\/?author=120055267#author","url":"https:\/\/cthecosmos.com\/?author=120055267","name":"Yashwanth Naidu Tikkisetty","image":{"@type":"ImageObject","@id":"https:\/\/cthecosmos.com\/?p=3496#authorImage","url":"https:\/\/secure.gravatar.com\/avatar\/a02d9f38e4c924587b544c74f6d5de0c8469b6a5c684622f1aa4ea2ba65b17d8?s=96&d=identicon&r=g","width":96,"height":96,"caption":"Yashwanth Naidu Tikkisetty"}},{"@type":"WebPage","@id":"https:\/\/cthecosmos.com\/?p=3496#webpage","url":"https:\/\/cthecosmos.com\/?p=3496","name":"Addressing Modes - Yashwanth Naidu Tikkisetty","description":"ALL ABOUT ADDRESSING MODES: Moving into the depths of low-level programming, we land upon assembly language. Assembly language is the closest language to us programmers and hardware. The assembly language is hardware dependent. You can\u2019t write the same code for all the devices that you are about to use. Before you write any assembly code,","inLanguage":"en-US","isPartOf":{"@id":"https:\/\/cthecosmos.com\/#website"},"breadcrumb":{"@id":"https:\/\/cthecosmos.com\/?p=3496#breadcrumblist"},"author":{"@id":"https:\/\/cthecosmos.com\/?author=120055267#author"},"creator":{"@id":"https:\/\/cthecosmos.com\/?author=120055267#author"},"image":{"@type":"ImageObject","url":"https:\/\/i0.wp.com\/cthecosmos.com\/wp-content\/uploads\/2023\/06\/pexels-photo-13013021.jpeg?fit=979%2C1300&ssl=1","@id":"https:\/\/cthecosmos.com\/?p=3496\/#mainImage","width":979,"height":1300,"caption":"Photo by Obi Onyeador on Pexels.com"},"primaryImageOfPage":{"@id":"https:\/\/cthecosmos.com\/?p=3496#mainImage"},"datePublished":"2023-06-23T04:12:49+05:30","dateModified":"2023-06-23T04:12:49+05:30"},{"@type":"WebSite","@id":"https:\/\/cthecosmos.com\/#website","url":"https:\/\/cthecosmos.com\/","name":"Yashwanth Naidu Tikkisetty","description":"Embedded Systems | Space Blogger","inLanguage":"en-US","publisher":{"@id":"https:\/\/cthecosmos.com\/#person"}}]},"og:locale":"en_US","og:site_name":"Yashwanth Naidu Tikkisetty - Embedded Systems | Space Blogger","og:type":"article","og:title":"Addressing Modes - Yashwanth Naidu Tikkisetty","og:description":"ALL ABOUT ADDRESSING MODES: Moving into the depths of low-level programming, we land upon assembly language. Assembly language is the closest language to us programmers and hardware. The assembly language is hardware dependent. You can\u2019t write the same code for all the devices that you are about to use. Before you write any assembly code,","og:url":"https:\/\/cthecosmos.com\/?p=3496","og:image":"https:\/\/cthecosmos.com\/wp-content\/uploads\/2018\/08\/logo1.png","og:image:secure_url":"https:\/\/cthecosmos.com\/wp-content\/uploads\/2018\/08\/logo1.png","og:image:width":1200,"og:image:height":1200,"article:published_time":"2023-06-22T22:42:49+00:00","article:modified_time":"2023-06-22T22:42:49+00:00","twitter:card":"summary_large_image","twitter:title":"Addressing Modes - Yashwanth Naidu Tikkisetty","twitter:description":"ALL ABOUT ADDRESSING MODES: Moving into the depths of low-level programming, we land upon assembly language. Assembly language is the closest language to us programmers and hardware. The assembly language is hardware dependent. You can\u2019t write the same code for all the devices that you are about to use. Before you write any assembly code,","twitter:image":"https:\/\/cthecosmos.com\/wp-content\/uploads\/2018\/08\/logo1.png"},"aioseo_meta_data":{"post_id":"3496","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":"default","schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"breadcrumb_settings":null,"limit_modified_date":false,"ai":null,"created":"2025-08-31 20:15:01","updated":"2025-08-31 20:15:01","seo_analyzer_scan_date":null,"focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"aioseo_breadcrumb":"<div class=\"aioseo-breadcrumbs\"><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/cthecosmos.com\" title=\"Home\">Home<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/cthecosmos.com\/?cat=6\" title=\"technology\">technology<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\tAddressing Modes\n\t\t<\/span><\/div>","aioseo_breadcrumb_json":[{"label":"Home","link":"https:\/\/cthecosmos.com"},{"label":"technology","link":"https:\/\/cthecosmos.com\/?cat=6"},{"label":"Addressing Modes","link":"https:\/\/cthecosmos.com\/?p=3496"}],"jetpack_publicize_connections":[],"jetpack_likes_enabled":true,"jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p8CiEf-Uo","jetpack-related-posts":[],"jetpack_featured_media_url":"https:\/\/i0.wp.com\/cthecosmos.com\/wp-content\/uploads\/2023\/06\/pexels-photo-13013021.jpeg?fit=979%2C1300&ssl=1","_links":{"self":[{"href":"https:\/\/cthecosmos.com\/index.php?rest_route=\/wp\/v2\/posts\/3496","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/cthecosmos.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/cthecosmos.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/cthecosmos.com\/index.php?rest_route=\/wp\/v2\/users\/120055267"}],"replies":[{"embeddable":true,"href":"https:\/\/cthecosmos.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=3496"}],"version-history":[{"count":4,"href":"https:\/\/cthecosmos.com\/index.php?rest_route=\/wp\/v2\/posts\/3496\/revisions"}],"predecessor-version":[{"id":3501,"href":"https:\/\/cthecosmos.com\/index.php?rest_route=\/wp\/v2\/posts\/3496\/revisions\/3501"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/cthecosmos.com\/index.php?rest_route=\/wp\/v2\/media\/3499"}],"wp:attachment":[{"href":"https:\/\/cthecosmos.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=3496"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/cthecosmos.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=3496"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/cthecosmos.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=3496"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}