Assembly language, Assembly Language

Assembly Language:

Inside the 8085, instructions are really stored like binary numbers, not a very good manner to look at them and very difficult to decipher. An assembler is a program that permits you to write instructions in, more or less, English form, much more simply read and understood, and after that converted or assembled into hex numbers and at last into binary numbers.

The program is written with a text editor (NOTEPAD or similar), saved like an ASM file, and then assembled by the assembler (TASM or MASM or similar) program. The end result is an OBJ file you download to the 8085. Here is an instance of the problem of adding 2 plus 2 :

mvi A,2; move 2 into the A register

mvi B,2; move 2 into the B register

add B; add reg. B to reg. A, store result in reg. A

The first line moves a 2 into a register A. The second line moves a 2 into a register B. it is all the data we require for the program. The third line adds up the accumulator with register B and holds the result back into the accumulator, destroying the 2 that were originally in it. The accumulator contains a 4 in it now and B still contains a 2 in it. In the program above all text after the ';' are treated as comments, and not executed. It is a very significant habit to acquire.

Assembly language follows some rules that we shall describe as they come up. With most of the instructions, especially those including data transfer, the instruction is first, followed by at least 1 space, after that the destination followed through a comma, and then the source. The destination is where the result of the instruction shall end up and the source is where the data is coming from.

Next we shall read a switch, and light an LED if the switch is pressed. This happens quite frequently in your lab experiments. Bit 0 of Port 0 shall be the switch. While the switch is closed or pressed, bit 0 will be a 1, and if the switch is open or not pressed, bit 0 will be a 0. Bit 0 of Port l is the LED. If bit 0 is a 0 the LED is off and if bit 0 is a 1, the LED shall be on. All the other bits of reg. A shall be ignored and assumed to be all 0's, for the sake of discussion

Start

IN         0          ; read Port 0 into reg. A

CMP    1          ;compare reg. A with the value 1

JNZ      start     ; jump to start if the comparison does not yield 0

OUT     1          ; send a 1 to Port 1, turning the LED on

JMP     start

 

The first line has something new. It's called as a label. In this case it is start:. A label is a manner of telling the assembler that this line has a name that may be referred to later to get back to it. All of the labels are followed by the symbol:, that tells the assembler that it is a label. In the first line we also read the switch by reading Port and putting it into the accumulator. Register. A is the only register that may read in/send out data using ports or perform compares. Therefore, we need not write 'A' in the command it's implied.

Posted Date: 2/7/2013 5:06:04 AM | Location : United States







Related Discussions:- Assembly language, Assignment Help, Ask Question on Assembly language, Get Answer, Expert's Help, Assembly language Discussions

Write discussion on Assembly language
Your posts are moderated
Related Questions
You have been hired by the Elbonian government to write an Assembly program to help its workforce determine how much their tax will be. The tax laws in Elbonian are very simple. Th

As an instance of the normal priority mode, imagine that initially AEOI is equal to 0 and all the ISR and IMR bits are clear. Also consider that, as shown in given figure, requests

Open notepad and enter the code for a program that calculates the following arithmetic expression: x = a + b + c - d - e + f The operands a, b, c, d, e, f, and x should be declared

This unit introduces the topic of evaluating interactive products. It is a short unit as evaluation is discussed in more detail in Block 4. Its brevity should give you additional t

Programming with an assembler The procedure of hand-coding 8086 programs is somewhat tiresome; hence generally a programmer may find it hard to get a correct listing of the mac

Description Write a MIPS program that reads a string from user input, reverse each word (defined as a sequence of English alphabetic letters or numeric digits without any punctu

Can any one assist me with this program. I am not efficient with assembly language and I need assistance badly. I am not asking anyone to do my work I just need help step by step

code to add two matrices

CAN U GIVE BRIEF THEORY

LABEL :   The Label directive which is used to assign a name to the current content of the location counter. At the beginning of the assembly process, the assembler start a loca