{"id":67046,"date":"2021-10-28T07:47:53","date_gmt":"2021-10-28T07:47:53","guid":{"rendered":"https:\/\/papersspot.com\/blog\/2021\/10\/28\/using-plp-tool-project\/"},"modified":"2021-10-28T07:47:53","modified_gmt":"2021-10-28T07:47:53","slug":"using-plp-tool-project","status":"publish","type":"post","link":"https:\/\/papersspot.com\/blog\/2021\/10\/28\/using-plp-tool-project\/","title":{"rendered":"using plp tool project"},"content":{"rendered":"<p>project details in file attacheds <br \/>this is the skeleton code in the file: <br \/>.org 0x10000000 <br \/># Initializations <br \/>li $sp, 0x10fffffc # Starting address of empty stack <br \/>li $s0, 0xf0000000 # UART base address <br \/>li $s1, array_ptr # Array head pointer <br \/>li $s2, array_ptr # Array tail pointer <br \/>j main <br \/>nop <br \/>array_ptr:# Label pointing to 100 word array <br \/> .space 100 <br \/>main: <br \/> jal poll_UART <br \/> nop <br \/> jal period_check <br \/> nop <br \/> jal space_check <br \/> nop <br \/> jal case_check <br \/> nop <br \/> jal array_push <br \/> nop <br \/> j main <br \/> nop <br \/># The &#8220;poll_UART&#8221; function should poll the status register of the UART. <br \/># If the 2^1 bit position (ready bit) is set to 1 then it <br \/># should copy the receive buffer&#8217;s value into $v0 and send <br \/># a clear status command (2^1) to the command register before <br \/># returning (return statement is already included) <br \/>poll_UART: <br \/> jr $ra <br \/> nop <br \/># The &#8220;period_check&#8221; function should check if the current character ($v0) <br \/># is a period (&#8220;.&#8221;). If it is then it should make a jump to the label, <br \/># &#8220;paldindrome_check&#8221;. If the character is not a period then it <br \/># should use the included return. <br \/>period_check: <br \/> jr $ra <br \/> nop <br \/># The &#8220;space_check&#8221; function should check if the current character ($v0) <br \/># is a space (&#8221; &#8220;). If it is then it should jump to &#8220;main&#8221; so <br \/># that it skips saving the space character. If not it should <br \/># use the included return. <br \/>space_check: <br \/> jr $ra <br \/> nop <br \/># The &#8220;case_check&#8221; function should check if the current character ($v0) <br \/># is a lowercase character (i.e. greater than the ASCII value of &#8216;Z&#8217;). <br \/># If it is then it should convert the value of $v0 to the uppercase <br \/># equivalent before returning. If it is already uppercase then it <br \/># should skip converting and return. <br \/>case_check: <br \/> jr $ra <br \/> nop <br \/># The &#8220;array_push&#8221; function should save the current character ($v0) to <br \/># the end of the array using the tail pointer, $s2, then update the tail <br \/># pointer to point to the next element in the array before returning. <br \/>array_push: <br \/> jr $ra <br \/> nop <br \/># The &#8220;palindrome_check&#8221; subroutine should should be jumped to by the period <br \/># check function if a period is encountered. This subroutine should contain <br \/># a loop that traverses the array from the front towards the back (using the <br \/># head pointer, $s1) and from the back towards the front(using the tail <br \/># pointer, $s2). If the string is a palindrome then as the array is traversed <br \/># the characters pointed to should be equal. If the characters are not equal <br \/># then the string is not a palindrome and the print function should be used <br \/># to print &#8220;No&#8221;. If the pointers cross (i.e. the head pointer&#8217;s address is <br \/># greater than or equal to the tail pointer&#8217;s address) and the compared <br \/># characters are equal then the string is a palindrome and &#8220;Yes&#8221; should be <br \/># printed. Remember to restore the head and tail pointers to the first element <br \/># of the array before the subroutine jumps back to main to begin processing the <br \/># next string. <br \/>palindrome_check: <br \/> j main <br \/> nop <\/p>\n","protected":false},"excerpt":{"rendered":"<p>project details in file attacheds this is the skeleton code in the file: .org 0x10000000 # Initializations li $sp, 0x10fffffc # Starting address of empty stack li $s0, 0xf0000000 # UART base address li $s1, array_ptr # Array head pointer li $s2, array_ptr # Array tail pointer j main nop array_ptr:# Label pointing to 100 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[20],"class_list":["post-67046","post","type-post","status-publish","format-standard","hentry","category-research-paper-writing","tag-programming"],"_links":{"self":[{"href":"https:\/\/papersspot.com\/blog\/wp-json\/wp\/v2\/posts\/67046","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/papersspot.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/papersspot.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/papersspot.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/papersspot.com\/blog\/wp-json\/wp\/v2\/comments?post=67046"}],"version-history":[{"count":0,"href":"https:\/\/papersspot.com\/blog\/wp-json\/wp\/v2\/posts\/67046\/revisions"}],"wp:attachment":[{"href":"https:\/\/papersspot.com\/blog\/wp-json\/wp\/v2\/media?parent=67046"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/papersspot.com\/blog\/wp-json\/wp\/v2\/categories?post=67046"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/papersspot.com\/blog\/wp-json\/wp\/v2\/tags?post=67046"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}