Assembly Language programming (8085)
(part of the 3rd unit of CO for JNTU 3rd yr B Tech sylabus)
INDEX OF ASSEMBLY LANGUAGE PROGRAMS FOR 8085
1.Add Two numbers using registers
2.Add Two numbers using memory
3.Transfer a byte of data
4.Transfer a BLOCK OF DATA byteS
5.ADD TWO BCD NUMBERS
6.PACK TWO BCD NUMBERS
7.CLEAR MEMORY BLOCK
8.SUM OF N NUMBERS
9.MAXIMUM OF N NUMBERS
10. MULTIPLICATION UNSIGNED
11. SORTING- BUBBLE/EXCHANGE SORT
12. FACTORIAL OF A NUMBER N
BACK TO CO PAGE
1.Add Two numbers using registers
MVI A,55H MVI B,46H ADD B MOV C,A HLT
back to index
2.Add Two numbers using memory
ASSUME THAT THE NUMBERS ARE AT MEMORY ADDRESS 3040H & 3041h ,THE RESULT IS AT 3042H LXI H,3040H MOV A,m INX H ADD m INX H MOV m,A HLT
back to index
3.Transfer a byte of data from location 2000h to 3000h
1000 LXI H,2000H 1003 MOV A,m 1004 LXI H,3000H 1007 MOV m,A
back to index
4.Transfer a BLOCK OF 16 DATA byteS from location 4000h to 4800h
ORG 5000H START:L LXI H,4000H MOV A,m LXI D,4800H STAX D HLT
back to index
5. ADD TWO BCD NUMBERS FROM MEMORY AND STORE IN MEMORY
let the numbers be 89h and 06h and are in memory 2040h,2041h the result be stored in 2042h. ORG 2000H LXI H,2040H MOV A,m INX H ADD m DAA INX H MOV m,A HLT ORG 2040H FIRSTBCD DB 89H SECONDBCD DB 06H RESULT DB 00H
back to index
6.PACK BCD NUMBERS LOCATED AT 6040,6041 AND STORE THE RESULT AT 6042
ORG 6000H LXI H,6040 MOV A,m ANI 0FH MOV B,A INX H MOV A,m ANI 0FH RLC RLC RLC RLC ORA B INX H MOV m,A HLT
back to index
7.CLEAR MEMORY BLOCK BY FILLING WITH ZEROES.
ORG 6000H LXI H,603FH MOV C,m XRA A LOOP: INX H MOV m,A DCR C JNZ LOOP HLT
back to index
8. SUM OF N NUMBERS
ORG 2000H LXI H,203FH MOV C,m XRA A INX H LOOP: ADD m INX H DCR C JNZ LOOP HLT
back to index
9.MAXIMUM OF N NUMBERS
ORG 200H LXI H,203FH MOV C,m DCR C XRA A LOOP: INX H CMP m JNC NEXT MOV A,m NEXT: DCR C JNZ LOOP STA 20F0H HLT
back to index
10. MULTIPLICATION UNSIGNED
ORG 4000H LXI H,m MOV E,m MVI D,00 INX H MOV A,m LXI H,0000 MVI B,08 MULT: DAD H RAL JNC AHEAD DAD AHEAD: DCR B JNZ MULT SHLD RESULT HLT
back to index
11. SORTING- BUBBLE/EXCHANGE SORT
ORG 6000H LXI H,603FH MOV C,m DCR C MOV B,C INX H LOOP: MOV A,m INX H CMP m JNC NEXT MOV D,m INX H NEXT: DCR B JNZ LOOP MOV C,B JNZ AGAIN HLT AGAIN: LXI H,6040H JMP LOOP
back to index
12. FACTORIAL OF A NUMBER N
STEP1: THIS IS ABSOLUTELY SIMPLE . USE A REGISTER TO LOAD THE NUMBER N MAKE RESULT MEMORY LOCATION VALUE= 1 MULTIPLY THE REGISTER CONTENT WITH RESULT MEMORY CONTENT STORE IN RESULT MEMORY DECREMENT REGISTER IF REGISTER IS NOT EQUAL TO ZERO REPEAT FROM STEP1 ELSE EXIT THE PROGRAM AS RESULT N! IS INRESULT MEMORY LOCATION (I WILL GIVE THE CODE HERE AFTER I EXPLAIN IT IN THE CLASS)
back to index