Order Now  +1 678 648 4277 

Professional Assembly Language Homework Helper

Sydney, Australia

Diego G

PhD. in Programming, Monash University, Australia


Professional Assembly Language Homework Helper


I graduated from Monash University six years ago with a PhD. in programming and ever since, I have dedicated my life to helping students with their assignments. Being fresh from college, I had already experienced the struggle that students go through when presented with assignments and I knew assignment writing is the path I wanted to take. So in 2017, I joined ProgrammingHomeworkHelp.com and was offered a position as an assembly language homework helper. Since then I have worked with students from different parts of the world and handled many types of assignments from the various topics taught in assembly language. Among the topics with which I provide academic assistance include GNU assembler, Flat assembler, overflow flag, call stack, instruction listings, opcode, machine code, and macro assembler, to name a few. If you are stuck on an assignment from any of these topics, feel free to contact me.

Qualified Numbering Systems Tutor

Are you striving to find correct solutions to the questions on your numbering systems homework? Maybe it's time you asked for assistance from an infallible numbering systems tutor like me online. I understand that multiple challenges could bar you from meeting your dream grades on your own, and that's why I dedicate my time to helping students achieve their academic goals by offering top-notch solutions to their questions. I offer support with all the concepts on this topic, including number representation, working with logical operators, performing various conversions, and the 2's complement, just to mention a few. I can work on your assignment in record time to come up with easy-to-follow solutions.

Passionate Assembly and Linking Homework Help Expert

If you have no confidence in your ability to excellently handle your assignment in assembly and linking, please don't take the risk. Instead, opt for paying a few dollars to get the work done by a brilliant assembly and linking homework help expert like me online. Due to my love for assembly language, I enjoy cracking the most challenging questions from this topic. That's one of the reasons why I boast a global clientele base who always trust in my knowledge and ability to solve the most perplexing exams and assignments. I can write and debug simple and complex assembly language programs; use the whole range of assembly language instructions to implement a wide range of functions (like BIOROM and INT); assemble and link any assembly program.

Unconditional Jump Instructions Wizard

Using the unconditional jump instruction isn't a park's walk for most students. Coupled with the topic's wide coverage, most assembly language students find it difficult to wrap their heads around the whole subject matter's concepts. Therefore, it's a wise idea to contact an unconditional jump instructions wizard like me for support with your challenging assignments. I've worked with many students online, helping them solve difficult and simple questions from this topic. Some of the study fields I mostly tackle include;
  • Conditional and Unconditional jump
  • General and Segment registers
  • Stacks

Assembly Language Arrays Maven

The concept of arrays in assembly language is broad and needs the student's significant amount of time to grasp fully. But with help from an assembly language arrays maven like me, things can get simpler. I can provide help with assembly language array assignments and classes alike. Therefore, whether you can't find the balance between your daily activities and classes — or can't find time to do sufficient research for your assignment, I'm here for you. I possess deep insight into such areas as floating-point instructions, indirect addressing arrays, and all the other concepts of this topic. Therefore, despite helping you get the right solutions for your homework, I can also teach you online at your convenient time to help you understand better. Whichever service you need from me, you'll get it at the lowest price.

Best Hardware Interrupt Specialist Online

Hardware interrupt is one of the most dreaded concepts under assembly language. Nevertheless, students can save themselves from failure by contacting a proficient hardware interrupt specialist online. I've helped several students get through their hard academic times by solving their difficult hardware interrupt questions to help them score the best grades in their assignments. Likewise, many students enjoy taking my online classes that help them adequately prepare for their exams. I cover every concept under this subject. Bring your assignment to me and change your academic performance now.
Get Free Quote
0 Files Selected

Lab report  

For this lab, we will write the LC-3 assembly code to convert temperatures given in Celsius to Fahrenheit. We need to give relevant messages to the user to guide him in using the program, for this, we make use of the TRAP x22, which displays a string on the console. Also, we require reading input from the user one character at a time, we make this by using the TRAP x23, which reads on the character from the keyboard and saves it in R0. The characters given by the user are represented in ASCII, so we must convert them to numbers before we can use them, since we know that the character for zero ‘0’ in ASCII has a value of 48, we only need to subtract this value to the read character to get the actual value. On the other hand, if we wish to display a number between 0 and 9, we need to add the 48 before we can use the TRAP x21 to display it in the console. We have a main loop that prompts the user for a selection and reads a character, then we compare the read number with 1, 2, or 3 to see which option was selected, we use simple subtraction to make the comparison, if the subtraction is zero, then that was the option selected and we branch to the part that handles the option. We have three parts to handle the input from the user; the first one is called Conv, which is executed when the user selection is 1. In this option, we prompt the user again to input another number, which will be the value to convert to Fahrenheit.  In our approach, we decided to use a table to get the conversions from Celsius to Fahrenheit. The table that provides the conversion from the values 0 to 9 to the corresponding Fahrenheit temperatures is the following:

                      Thus, the number given by the user is used as an offset on the table and we simply load the value from the given offset to get the conversion. The second part is called NoConv, which is executed when the user selects option 2. In this option, we also prompt the user to input a number but this time we don't make a conversion but simply print the input number on the console. In both the Conv and NoConv options, the converted number or the number given by the user, respectively, is saved at x3100. The last part is the EXIT, which is executed when the user selection is 3. In this case, we simply print a message and halt the program.   The resulting program is included below:   .ORIG x3000   ;set origin of program to x3000 LOOP   LEA R0, prompt; prompt for the user to select a number TRAP x22; trap to output the string TRAP x23; read a character LD R1,nascii0; load negative of ASCII 0 to convert the read character ADD R0, R0, R1; convert character to a number IF1    ADD R1, R0,#-1; see if the user entered a 1 BRz Conv; if it was 1, convert IF2    ADD R1, R0,#-2; see if the user entered a 2 BRz NoConv; if it was 2, do not convert IF3    ADD R1, R0,#-3; see if the user entered a 3 BRz EXIT; if it was a 3, exit Conv   LEA R0, ask temp; prompt for the user to give a temperature TRAP x22; trap to output the string TRAP x23; read a character LD R1,nascii0; load negative of ASCII 0 to convert the read character ADD R0, R0, R1; convert character to a number LEA R1, table; point to the conversion table with R1 ADD R1, R1, R0; add the required temperature as offset LDR R0,R1,#0  ; load value from the table STI R0, address; save the number in x3100 BR  LOOP Nov    LEA R0,asktemp       ; prompt for the user to give a temperature TRAP x22; trap to output the string TRAP x23; read a character LD R1,nascii0; load negative of ASCII 0 to convert the read character ADD R0, R0, R1; convert character to a number STI R0, address; save the number in x3100 LD  R1,ascii0; load ASCII 0 to convert the number for display ADD R0,R0,R1  ; convert to ascii TRAP x21; put the character on the console LD  R0, NL    TRAP x21; put a character on the console BR  LOOP EXIT   LEA R0,exitmsg; print exit message TRAP x22; trap to output the string HALT          ; halt the program prompt  .STRINGZ     "Enter 1 for converting to the Fahrenheit, 2 for no conversion, 3 for exit: " asktemp       .STRINGZ      "Enter the temperature in Celsius: " exitmsg       .STRINGZ      "Have a nice day" nl     .FILL  10     ; new line character nascii0       .FILL  -48    ; negative of ascii '0' ascii0 .FILL  48     ; ascii '0' address       .FILL  x3100  ; address to save conversions table  .FILL  32     ; conversion table .FILL 33 .FILL  35 .FILL  37 .FILL  39 .FILL  41 .FILL  42 .FILL  44 .FILL  46 .FILL  48 .END   A test using the input given in the assignment specification results in the following output:

Assembly Language Lab Report