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