{"id":438,"date":"2024-08-23T05:14:56","date_gmt":"2024-08-22T22:14:56","guid":{"rendered":"http:\/\/www.tneutron.net\/mikro\/?p=438"},"modified":"2024-08-21T07:55:34","modified_gmt":"2024-08-21T00:55:34","slug":"assembly-language-in-microcontroller","status":"publish","type":"post","link":"https:\/\/www.tneutron.net\/mikro\/assembly-language-in-microcontroller\/","title":{"rendered":"Assembly Language in Microcontroller"},"content":{"rendered":"<p><span class=\"notranslate\">Programming using assembly language (low level languages) requires an understanding of the register, including the name of each register of the controller chip used and the structure of the register itself.<\/span> <span class=\"notranslate\"> Physically, the work of a microcontroller can be described as a cycle of reading instructions stored in memory.<\/span> <span class=\"notranslate\"> Microcontroller specify the address of the program memory to be read, and make the process of reading the data in the memory.<\/span><\/p>\n<p><span class=\"notranslate\"> Data read instruksi.Alamat interpreted as instructions stored by the microcontroller in the register, known as a program counter.<\/span> <span class=\"notranslate\"> These instructions eg arithmetic program involving two registers.<\/span> <span class=\"notranslate\"> Existing facilities in the assembly program was minimal, unlike in the top-level programming language (high-level programming language) everything is ready.<\/span> <span class=\"notranslate\"> Author of the assembly program should determine everything, determine the location of a program written in the program memory, making constant data and tablel constant in-memory program, create a variable that is used in the working-memory data and so forth.<\/span> <strong><br \/>\n<\/strong><\/p>\n<p><span class=\"notranslate\"> Program-source assembly (assembly source program) is a collection of command lines written by the program-text editor (text editor) is simple, for example EDIT.COM program in DOS or in the Windows Notepad program or Mide-51.<\/span> <span class=\"notranslate\"> Line-printah set is usually stored in a file with the name extension *.<\/span> <span class=\"notranslate\"> ASM and so forth, depending on the Assembler program that will be used to process the program-source assembly.<\/span><\/p>\n<p><span class=\"notranslate\"> Each line-command is a command that is intact, meaning that a command may not be broken up into more than one line.<\/span> <span class=\"notranslate\"> One could command line consists of four parts, the first part is recognized as a label or often also referred to as a symbol, the second part is recognized as the operation code, operand and the third part is the last part is a comment.<\/span> <span class=\"notranslate\"> Among the parts separated by a space or a tabulator.<\/span><\/p>\n<p><span class=\"notranslate\"> <strong>Label<\/strong><\/span><\/p>\n<p><span class=\"notranslate\"> Labels are used to name a command-line, in order to easily menyebitnya in the writing program.<\/span> <span class=\"notranslate\"> Labels can give a name to the line in question.<\/span> <span class=\"notranslate\"> Part label is often referred to as a symbol part, this occurs when the labels are not used to mark parts of the program, but rather are used to mark the data section.<\/span><\/p>\n<p><span class=\"notranslate\"> <strong>Operation Code section<\/strong><\/span><br \/>\n<span class=\"notranslate\"> Operation code (operation code or often abbreviated as opcode) is part of the command to be done.<\/span> <span class=\"notranslate\"> In this case there are two kinds of operation code, the first is the code-operating to regulate the work of the microprocessor \/ microcontroller.<\/span> <span class=\"notranslate\"> The second type is used to regulate the work of the assembler program, often referred to as assembler directive.<\/span> <span class=\"notranslate\"> -Operation code is written in mnemonic form, namely the form of abbreviations which are relatively easy to remember, for example, is MOV, ACALL, RET, and so forth.<\/span><\/p>\n<p><span class=\"notranslate\"> Code-operation is determined by pabrikpembuatikroprosesor \/ mikrokontroler.Tugas the translation is done by a program called as a program-code Assembler.Di outside the specified operating manufacturer of microprocessors \/ microcontrollers, there are also code-operating to regulate the work of the assembler program, for example, be used to determine the position of the program in memory (ORG), is used to form the variable (DS), forming tables and constant data (DB, DW) and so forth.<\/span><\/p>\n<p><span class=\"notranslate\"> <strong>Part operand<\/strong><\/span><br \/>\n<span class=\"notranslate\"> Operand is a complementary part of the operation code, but not all operations require operand code, thus could happen a command line consisting only of the operation code without operand.<\/span> <span class=\"notranslate\"> Conversely there is also an operation code that needs more than one operand, in this case between the operand one another separated by operand koma.Bentuk vary widely, could be codes that are used to express registers in the processor, could be a number-memory ( memory address) that is expressed by the number or the name of the label, can be data that is prepared in-operation-kan.<\/span><\/p>\n<p><span class=\"notranslate\"> <strong>The comments section<\/strong><\/span><br \/>\n<span class=\"notranslate\"> The comments section is a program author notes, this section although it is not absolutely necessary but it helps problems of documentation.<\/span> <span class=\"notranslate\"> Read the comments on any command-line, easily understandable purpose line is concerned, this is very helpful others who read the program.<\/span> <span class=\"notranslate\"> Separators the comment section to previous section is a space or tabulator, though the first letter of comment frequently in the form of a semicolon, a sign of special separators for comment.<\/span><\/p>\n<p><span class=\"notranslate\"> For the purposes of documentation intensive, often a line that is a comment only, in this case the first letter of the line in question is a semi-colon.<\/span> <span class=\"notranslate\"> AT89S51 has a very complete set of instructions.<\/span> <span class=\"notranslate\"> MOV instruction for byte grouped according to the addressing mode (addressing modes).<\/span> <span class=\"notranslate\"> Addressing mode operand dioperasikan.Berikut explain how the explanation of the various addressing modes.<\/span> <span class=\"notranslate\"> Form a common assembly programs are as follows:<\/span><\/p>\n<p><a href=\"http:\/\/i0.wp.com\/www.tneutron.net\/mikro\/wp-content\/uploads\/sites\/5\/2015\/08\/image43.png\"><img loading=\"lazy\" decoding=\"async\" title=\"image\" src=\"http:\/\/i2.wp.com\/www.tneutron.net\/mikro\/wp-content\/uploads\/sites\/5\/2015\/08\/image_thumb45.png?resize=444%2C271\" alt=\"image\" width=\"444\" height=\"271\" border=\"0\" \/><\/a><\/p>\n<p><span class=\"notranslate\"> Hexadecimal memory content is known by our microcontroller, which is a representation of an assembly language that we have made.<\/span> <span class=\"notranslate\"> Mnemonic or opcode is the code that will take action against the operand.<\/span> <span class=\"notranslate\"> Operand data is processed by the opcode.<\/span> <span class=\"notranslate\"> An opcode can take 1, 2 or more operands, sometimes also unnecessary operand.<\/span> <span class=\"notranslate\"> While the comments we can give by using a semicolon (;).<\/span> <span class=\"notranslate\"> Here&#8217;s an example of the number of operands that is different in an assembly.<\/span><\/p>\n<p><span class=\"notranslate\"> CJNE R5, # 22h, action; it takes 3 operand MOVXDPTR, A; it takes 2 operand RL A; 1 operand NOP;<\/span> <span class=\"notranslate\"> does not require the operand<\/span><br \/>\n<span class=\"notranslate\"> The program that has been completed we created can be saved with the extension .asm.<\/span> <span class=\"notranslate\"> Then we can create an object with the extension program using compiler Mide HEX-51<\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Programming using assembly language (low level languages) requires an understanding of the register, including the name of each register of<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"colormag_page_container_layout":"default_layout","colormag_page_sidebar_layout":"default_layout","footnotes":""},"categories":[1238],"tags":[439,434,440,437,438,435,436,443,442,441],"class_list":["post-438","post","type-post","status-publish","format-standard","hentry","category-english","tag-assembly-language-microcontroller-projects","tag-assembly-microcontroller","tag-assembly-pic-microcontrollers","tag-microcontroller-assembly-language-8051","tag-microcontroller-assembly-language-commands","tag-microcontroller-assembly-language-tutorial","tag-microcontroller-assembly-tutorial","tag-pic-microcontroller-assembly-language","tag-pic-microcontroller-assembly-language-programming","tag-pic-microcontroller-assembly-language-tutorial"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.9 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Assembly Language in Microcontroller - TN Mikro<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.tneutron.net\/mikro\/assembly-language-in-microcontroller\/\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:title\" content=\"Assembly Language in Microcontroller - TN Mikro\" \/>\n<meta name=\"twitter:description\" content=\"Programming using assembly language (low level languages) requires an understanding of the register, including the name of each register of\" \/>\n<meta name=\"twitter:image\" content=\"http:\/\/i2.wp.com\/www.tneutron.net\/mikro\/wp-content\/uploads\/sites\/5\/2015\/08\/image_thumb45.png?resize=444%2C271\" \/>\n<meta name=\"twitter:creator\" content=\"@t_neutron\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Taufiqullah\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.tneutron.net\\\/mikro\\\/assembly-language-in-microcontroller\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.tneutron.net\\\/mikro\\\/assembly-language-in-microcontroller\\\/\"},\"author\":{\"name\":\"Taufiqullah\",\"@id\":\"https:\\\/\\\/www.tneutron.net\\\/mikro\\\/#\\\/schema\\\/person\\\/b57f791b694136047454bb6ac5cbe375\"},\"headline\":\"Assembly Language in Microcontroller\",\"datePublished\":\"2024-08-22T22:14:56+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.tneutron.net\\\/mikro\\\/assembly-language-in-microcontroller\\\/\"},\"wordCount\":896,\"image\":{\"@id\":\"https:\\\/\\\/www.tneutron.net\\\/mikro\\\/assembly-language-in-microcontroller\\\/#primaryimage\"},\"thumbnailUrl\":\"http:\\\/\\\/i2.wp.com\\\/www.tneutron.net\\\/mikro\\\/wp-content\\\/uploads\\\/sites\\\/5\\\/2015\\\/08\\\/image_thumb45.png?resize=444%2C271\",\"keywords\":[\"assembly language microcontroller projects\",\"Assembly Microcontroller\",\"assembly pic microcontrollers\",\"microcontroller assembly language 8051\",\"microcontroller assembly language commands\",\"microcontroller assembly language tutorial\",\"microcontroller assembly tutorial\",\"pic microcontroller assembly language\",\"pic microcontroller assembly language programming\",\"pic microcontroller assembly language tutorial\"],\"articleSection\":[\"English\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.tneutron.net\\\/mikro\\\/assembly-language-in-microcontroller\\\/\",\"url\":\"https:\\\/\\\/www.tneutron.net\\\/mikro\\\/assembly-language-in-microcontroller\\\/\",\"name\":\"Assembly Language in Microcontroller - TN Mikro\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.tneutron.net\\\/mikro\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.tneutron.net\\\/mikro\\\/assembly-language-in-microcontroller\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.tneutron.net\\\/mikro\\\/assembly-language-in-microcontroller\\\/#primaryimage\"},\"thumbnailUrl\":\"http:\\\/\\\/i2.wp.com\\\/www.tneutron.net\\\/mikro\\\/wp-content\\\/uploads\\\/sites\\\/5\\\/2015\\\/08\\\/image_thumb45.png?resize=444%2C271\",\"datePublished\":\"2024-08-22T22:14:56+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/www.tneutron.net\\\/mikro\\\/#\\\/schema\\\/person\\\/b57f791b694136047454bb6ac5cbe375\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.tneutron.net\\\/mikro\\\/assembly-language-in-microcontroller\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.tneutron.net\\\/mikro\\\/assembly-language-in-microcontroller\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.tneutron.net\\\/mikro\\\/assembly-language-in-microcontroller\\\/#primaryimage\",\"url\":\"http:\\\/\\\/i2.wp.com\\\/www.tneutron.net\\\/mikro\\\/wp-content\\\/uploads\\\/sites\\\/5\\\/2015\\\/08\\\/image_thumb45.png?resize=444%2C271\",\"contentUrl\":\"http:\\\/\\\/i2.wp.com\\\/www.tneutron.net\\\/mikro\\\/wp-content\\\/uploads\\\/sites\\\/5\\\/2015\\\/08\\\/image_thumb45.png?resize=444%2C271\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.tneutron.net\\\/mikro\\\/assembly-language-in-microcontroller\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.tneutron.net\\\/mikro\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Assembly Language in Microcontroller\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.tneutron.net\\\/mikro\\\/#website\",\"url\":\"https:\\\/\\\/www.tneutron.net\\\/mikro\\\/\",\"name\":\"TN Mikro\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.tneutron.net\\\/mikro\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.tneutron.net\\\/mikro\\\/#\\\/schema\\\/person\\\/b57f791b694136047454bb6ac5cbe375\",\"name\":\"Taufiqullah\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/dcdf36434717ce57bea7f17eb3c140a2ff8def45941b720aa8fc1cccd6cdd505?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/dcdf36434717ce57bea7f17eb3c140a2ff8def45941b720aa8fc1cccd6cdd505?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/dcdf36434717ce57bea7f17eb3c140a2ff8def45941b720aa8fc1cccd6cdd505?s=96&d=mm&r=g\",\"caption\":\"Taufiqullah\"},\"description\":\"Taufiqullah\",\"sameAs\":[\"http:\\\/\\\/www.tneutron.net\",\"https:\\\/\\\/x.com\\\/t_neutron\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Assembly Language in Microcontroller - TN Mikro","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.tneutron.net\/mikro\/assembly-language-in-microcontroller\/","twitter_card":"summary_large_image","twitter_title":"Assembly Language in Microcontroller - TN Mikro","twitter_description":"Programming using assembly language (low level languages) requires an understanding of the register, including the name of each register of","twitter_image":"http:\/\/i2.wp.com\/www.tneutron.net\/mikro\/wp-content\/uploads\/sites\/5\/2015\/08\/image_thumb45.png?resize=444%2C271","twitter_creator":"@t_neutron","twitter_misc":{"Written by":"Taufiqullah","Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.tneutron.net\/mikro\/assembly-language-in-microcontroller\/#article","isPartOf":{"@id":"https:\/\/www.tneutron.net\/mikro\/assembly-language-in-microcontroller\/"},"author":{"name":"Taufiqullah","@id":"https:\/\/www.tneutron.net\/mikro\/#\/schema\/person\/b57f791b694136047454bb6ac5cbe375"},"headline":"Assembly Language in Microcontroller","datePublished":"2024-08-22T22:14:56+00:00","mainEntityOfPage":{"@id":"https:\/\/www.tneutron.net\/mikro\/assembly-language-in-microcontroller\/"},"wordCount":896,"image":{"@id":"https:\/\/www.tneutron.net\/mikro\/assembly-language-in-microcontroller\/#primaryimage"},"thumbnailUrl":"http:\/\/i2.wp.com\/www.tneutron.net\/mikro\/wp-content\/uploads\/sites\/5\/2015\/08\/image_thumb45.png?resize=444%2C271","keywords":["assembly language microcontroller projects","Assembly Microcontroller","assembly pic microcontrollers","microcontroller assembly language 8051","microcontroller assembly language commands","microcontroller assembly language tutorial","microcontroller assembly tutorial","pic microcontroller assembly language","pic microcontroller assembly language programming","pic microcontroller assembly language tutorial"],"articleSection":["English"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.tneutron.net\/mikro\/assembly-language-in-microcontroller\/","url":"https:\/\/www.tneutron.net\/mikro\/assembly-language-in-microcontroller\/","name":"Assembly Language in Microcontroller - TN Mikro","isPartOf":{"@id":"https:\/\/www.tneutron.net\/mikro\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.tneutron.net\/mikro\/assembly-language-in-microcontroller\/#primaryimage"},"image":{"@id":"https:\/\/www.tneutron.net\/mikro\/assembly-language-in-microcontroller\/#primaryimage"},"thumbnailUrl":"http:\/\/i2.wp.com\/www.tneutron.net\/mikro\/wp-content\/uploads\/sites\/5\/2015\/08\/image_thumb45.png?resize=444%2C271","datePublished":"2024-08-22T22:14:56+00:00","author":{"@id":"https:\/\/www.tneutron.net\/mikro\/#\/schema\/person\/b57f791b694136047454bb6ac5cbe375"},"breadcrumb":{"@id":"https:\/\/www.tneutron.net\/mikro\/assembly-language-in-microcontroller\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.tneutron.net\/mikro\/assembly-language-in-microcontroller\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.tneutron.net\/mikro\/assembly-language-in-microcontroller\/#primaryimage","url":"http:\/\/i2.wp.com\/www.tneutron.net\/mikro\/wp-content\/uploads\/sites\/5\/2015\/08\/image_thumb45.png?resize=444%2C271","contentUrl":"http:\/\/i2.wp.com\/www.tneutron.net\/mikro\/wp-content\/uploads\/sites\/5\/2015\/08\/image_thumb45.png?resize=444%2C271"},{"@type":"BreadcrumbList","@id":"https:\/\/www.tneutron.net\/mikro\/assembly-language-in-microcontroller\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.tneutron.net\/mikro\/"},{"@type":"ListItem","position":2,"name":"Assembly Language in Microcontroller"}]},{"@type":"WebSite","@id":"https:\/\/www.tneutron.net\/mikro\/#website","url":"https:\/\/www.tneutron.net\/mikro\/","name":"TN Mikro","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.tneutron.net\/mikro\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/www.tneutron.net\/mikro\/#\/schema\/person\/b57f791b694136047454bb6ac5cbe375","name":"Taufiqullah","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/dcdf36434717ce57bea7f17eb3c140a2ff8def45941b720aa8fc1cccd6cdd505?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/dcdf36434717ce57bea7f17eb3c140a2ff8def45941b720aa8fc1cccd6cdd505?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/dcdf36434717ce57bea7f17eb3c140a2ff8def45941b720aa8fc1cccd6cdd505?s=96&d=mm&r=g","caption":"Taufiqullah"},"description":"Taufiqullah","sameAs":["http:\/\/www.tneutron.net","https:\/\/x.com\/t_neutron"]}]}},"_links":{"self":[{"href":"https:\/\/www.tneutron.net\/mikro\/wp-json\/wp\/v2\/posts\/438","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.tneutron.net\/mikro\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.tneutron.net\/mikro\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.tneutron.net\/mikro\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.tneutron.net\/mikro\/wp-json\/wp\/v2\/comments?post=438"}],"version-history":[{"count":1,"href":"https:\/\/www.tneutron.net\/mikro\/wp-json\/wp\/v2\/posts\/438\/revisions"}],"predecessor-version":[{"id":2879,"href":"https:\/\/www.tneutron.net\/mikro\/wp-json\/wp\/v2\/posts\/438\/revisions\/2879"}],"wp:attachment":[{"href":"https:\/\/www.tneutron.net\/mikro\/wp-json\/wp\/v2\/media?parent=438"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.tneutron.net\/mikro\/wp-json\/wp\/v2\/categories?post=438"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.tneutron.net\/mikro\/wp-json\/wp\/v2\/tags?post=438"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}