You are on page 1of 11
i kit and its memory map, OBJECT: Familiarization of different keys of 8085 microprocessor Ki ry map, APPARATUS: 8085 Microprocessor kit ; ap Shut we ea THEORY: Here we are giving all details of Vinytics 8085 cer i i Ci se FS wy makey model of the 8085 kit, and for that we will have to follow all details anual og particular manufacturer. , ae ; Vinytics 8085 kit has 28 keys and seven segment display {0 Cee ee t ee rai worl, As soon as the kit is switched ‘ON’, we get a format “—UP85 on Se ees meee al are ready to get commands given by the user. The various key names given in the diagram shown below: , vcT q D E F Reset er Shift c my INSD DELD 8 9 A B DEL INS REL 4 5 6 7 Go | BM EMEM STRG MEMC mir 0 1 2 3 PRG NEXT The function of different keys is given below in brief: +RESET — This key is used to Reset the system. + VCT INT — Hardware interrupt via keyboard, RST 7.5 4 *SHIFT © — It provides a 2nd level command to all keys. *GO — This key is used to execute the program. +SE —_Itis used to execute the program on single step mode. *EXREG — Examine Register: This kcy is used to examine and modify the contents of registers. + PRE — Previous key is used as an intermediate terminator to examine the memory. *DEL — _ Delete key is used to delete any data, +INS — Insert key is used to insert any data in the program with relocation. +BM — Block Move key allows us to move a block of memory to any RAM area. *FILL = — This key allows us to fill RAM area with a constant, *REL = — RELOCATE key is used to relocate a program written for some memory area and !0 be transferred to other memory area. *INSD — _ This key is used to insert one or more data bytes in the user’s program/data area. *STRING — This key finds out the string of data lying at some particular address or addresses. *MEMC = — MEMORY COMPARE. This key is used to compare two blocks of memory for equal: *O0ToF | — Hexadecimal number systems keys. *NEXT = — This key is used to insert/check any next data byte in the memory sequentially. teert dey sian 319 = This key is used to appl Mt 1 apply addresses requis eat sses requited as o diplay! As won ts We ERNE TSO eTe ie ee segment play; Now we can have any addi Oto F on the keyboard, y adress on the di map of the Vinytics 8085 Kit: ; displayed on the seven segment dis- ay by pressing the desired keys from ye ap of any microproces: it memory map 0! processor kit we need addr jp Mee ular microprocessor trai ; ress ranges of the vari ies gi al 2 tow f trainer board/kit. For Vinytics 8085 micro are Emi eae amigas ve Soe (raion armas aos ees Ga the various ” ing kit. oo)|TS OFFF = = —_ EPROM (2732) oo T° 17EF = = _——«RAM1 (6166) yoo «TO IFFF = ~— RAM2 (6166) nT 27FF = = _~—- RAM3 (6166) 2800 «= TO 2FFF = RAM4 (6166) yor To. S00F 256 bytes of user stop yao To 3EFF = _-Fold back memory jo To.~SSFFF = = _Expandable memory OBJECT: Steps to enter, modify data/program and to execute a program on 8085 kit. APPARATUS: 8085 Vinytics microprocessor kit. PROCEDURE: Following are the steps to enter, 8085 Yinytics Microprocessor kit. modify data/program and to execute 2 program on (1) Switch on the power supply: (0) Press ‘RESET’ Key — Bisplay will show ““UP85”” (3) Press Examine memory key JEMEM’—a symbol of dot is displayed on the seven segment display. (4) Now press desired address key. Let it be (5) Now press ‘NEXT’ key- We will get displ 09 any other data may be there) (6) Now press desired opcode keys and again press ‘NEXT’ Key and so onuP tothe end of the program opcodes and operands. (7) Now to execute the program Press ‘RI (8) Now feed starting address bY pressing keys from Oto ute the program. (9) Atthe last press ‘FILL’ key '© exec hen Examine Memory Key MEM. Finally apply memory (U0) To see the result press “RESET” ey and : address where result is to be seen and Press 'NEXT’ key to see the result. 2000. So we will get display like this **2000."” Jay like this—*‘2000.09"" (Any arbitrary data, instead of ESET’ key ‘and then ‘GO’ key- F hexadecimal numbers. 320 Tgestted ud dttxa fears OBJECT: Writin Zod execution of ALP for the addition of two 8-bit numbers. APPARATUS: 8085 Microprocessor kit. ; PROGRAM: ALP (Assembly language program) for the addition of two 8-bit numbers is ag follow: Memory Mnemonics Opcode & Brief Detail of Instruction Address Operands 2000 MVIA, 62 3, 62 © Get Ist no. in accumulator 2002 MVIB, 37 06, 37 © Get 2nd no. in register B 2004 ADDB 80 © Add data of register A & B 2005 STA 2400 32, 00, 24 © Store the result in 2400 location 2008 HLT 16 © Stop the execution process, Procedure: (1) Switch on the power supply and see the display “—UP85”” or ““UP8085”* (2) Press ‘RESET’ KEY (3) Press EXAMINE MEMORY Key ‘EMEM’ (4) Apply, Program starting memory address (5) Press ‘NEXT’ Key (6) Apply, opcode (7) Press ‘NEXT’ Key (8) Continue above sequence up to the end of the program opcode. (9) To execute the program press ‘RESET’ key. Then press ‘Go’ key and apply starting address and finally press FILL/EXECUTE key. (10) Check the result by Pressing the keys—RESET, EMEM, Desired address of the result (O10 F), NEXT. RESULT: The result (99 H) is seen at the memory location 2400. OBJECT: Writing and execution of ALP for the subtraction of two 8-bit numbers. APPARATUS: 8085 Microprocessor kit. ga ‘eireach Aayes stir 324 , Mnemonics Oy enor peode & — Brief D wen potas ief Detail of Instruction MVIA, 98 3E, 98, i 7900 . © Get Minuend in the accumulator 002 MVIB, 36 06, 36 . : Get subtrahend in the register B 004 SUB B 90 : + Subtract the data of register B from accumulator 5 ‘A 241 200s STA 2400 32, 00,24 © Store the result in the memory location 2400 3008 HLT 16 . Stop the execution process. JURE: All steps of experiment—3(A) are same. PISULT: Difference °62' is seen in the memory location 2400. L OBJECT: Writing and execution of ALP for multiplication of wo 8-bit numbers. APPARATUS: 8085 Microprocessor kit. PROGRAM: Memory Mnemonics Opcode & — Brief ‘Detail of Instruction Address Operands 2000 MVID, 04 16, 04 © Get multiplicand in register D 2002 MVIE, 02 TE, 02 «Get multiplier in register B eat MVIA, 00 3E, 00 “s Initialize accumulator to ‘00" H 2006 (x) ADD D 82 «Add the data of register D with the accumulator 2007 DCRE 1D Decrement the count of register E by one. . 0 *S * if contents of register B is 2008 JNZ(X) €2, 06, 20 ae SUM? if cont i 2008 STA 2400 32,00,24 * Store mereant of accumulator in the memory 2005, HLT 16 ¢ Stop the execution process NB. tn the 6th instrucvon of above program We have used label. See more detail label in ‘experiment 0. 43(a) & (b). PROCEDURE: All steps of previow RESULT: ‘08* result can be seen in the me .s experiment are same. sory location 2400. 322 mesial wel Ati feorera Ne ; OBJECT : Writing and execution of ALP to divide any 8-bit number by another 8-bit number, APPARATUS: 8085 Microprocessor kit. ASSEMBLY LANGUAGE PROGRAM Memory Mnemonics Opcode & Brief Detail of Instruction Address Operands 2000 MVI A, 07 3E, 07 © Get the dividend in the accumulator 2002 MVIB, 02 06, 02 © Get the divisor in the register B 2004 MVIC, 00 OE, 00 © Get the ‘00’ in register C (It will have quotient) 2006(Y) SUBB 90 ‘© Subtract the divisor from dividend. 2007 JM (x) FA,0E,20. «Jump to (X) if result of above subtraction has minus sign. 200A, INR C oc © Increment the content of register C by one. 200B IMP (¥) €3,06,20 «Jump to the memory location given at the label (Y). 200E(X) ADDB 80 © Add the content of register B with accumulator. 200F STA 2400 32, 00, 24 © Store the content of accumulator (Remainder) at the address 2400 2012 MOV-A,C 79 © Move the content of register C (Quotient) to the accumulator 2013 STA 2401 32, O1, 24 * Store the content of accumulator at the ' address 2401 2016 HLT 76 © Stop the execution process PROCEDURE: Follow all the steps of experiment 3(A) RESULT: Quotient (03) can be seen at the address 2401 and remainder can be seen at the address 2400- we Mnemonics memory ‘sadress MVID, 0A 2000 ~q02@ ~—- EXT, 2500 205 MVIL, 09 07x) | MOVA,M 2008 INXH 2009 CMP M 200A IC (®) 200D MOV B, M 200E MOV M, A 200F DCXH 2010 MOV M, B 20 INXH 201%) DCRC 2013, JNZ(Y) 2016 DCR D 2017 INZ(Z) 201A HLT PROCEDURE: Follow all the steps of ExPe SULT: We can see alll the 10 bytes arrange! ol ga TU 8085 Microprocessor kit. ALP (ASSEMBLY LANGUAGE PROGRAM) tiach dames stein 323 jting and executior i 4, Writing n of ALP for arranging the series of 10 numbers in ascending ord nding order. oe e Brief Detail of Instruction 16, 0A * Move the count (0A) to register D 21,00,25 © Load the H-L register pair with the starting address of the number in the series. OE, 09 © Set-one more counter in register L which indicate the total no. of elements still left to arrange. TE © Move the contents of memory addressed by (H-L) register pair to the accumulator. 23 «Increment the address of H-L register pair. BE © Compare the accumulator with memory (H-L) register pair. DA, 12,20 © Jump to X (2012) if carry is there after the execution of previous instruction. 46 © Move the contents of memory location addressed by (H-L) register pair to register B 71 Move the contents of accumulator in to the memory location addressed by (H-L) register pair 2B ‘© Decrement the address of (H-L) register pair by one 70 «Move the data of register B to the memory addressed by (H-L) register pair 2B ‘e Increment the address of (H-L) register pair by 1 op Decrement the data of register Cbyl €2,07,20 © Jumpto "Y" (2007) ifthe result produced after the execution of previous instruction is not zero. 15 © Decrement the contents of register D by 1. €2,02,20 © Jumpto 2" (2002) if the result produced after the execution of previous instruction is not zero. 16 Stop the execution of program. iment 3(A)- .d in.ascending order from memory location 2500 to 2509. OBJECT: Writing and Execution of ALP for arranging the series of 10 bytes in descending order, APPARATUS: 8085 Microprocessor kit. ASSEMBLY LANGUAGE PROGRAM Memory Mnemonics Opcode & Brief Detail of Instruction Address Operands 2000 MVID, 0A 16, 0A Move the count (0A) to register D. 2002 (Z) LXIH, 2500 21, 00, 25 e Load the H-L register pair with the Starting address of the no. in the series. 2005 MVIL, 09 OE, 09 ‘¢ Setone more counter in register L which indicate the total no. of elements still left to arrange, 2007 (Y) | MOVA,M TE ¢ Move the contents of memory addressed by (H-L) register pair to the accumulator. 2008 INX 23 Increment the address of (H.L) register pair. 2009 CMP M BE © Compare the accumulator with H-L register pair. 200A, INC (X) D2, 12,20 © Jump to X (2012) if no carry is there after the execution of previous instruction. 200D MOV B,M 46 © Move the contents of memory location addresses by H-L register pair to register B. 200E MOV M,A 71 ¢ Move the conient of Acc in to the memory location addressed by H-L register pair 200F DCXH 2B ¢ Decrement the content of H-L register pair by ! 2010 MOV M,B 70 © Move the content of B register to the memory location addressed by H-L register pair. 2011 INXH 23 © Increment the content of H-L register pair by on. 2012(K) DCRC 0D ¢ Decrement the content of register C by 1. 2013 JNZ(Y) C2,07,20 © Jump to ‘Y’ (2007) if the result produced after the execution of previous instruction is not ero. 2016 un) 1s © Decrement the contents of register D by ! ae INZ (Z) C2,02,20 © Jump to ‘Z’ (2002) if the result produced ee the execution of previous instruction is not 2e10- 201A, HLT 16 . Stop the execution of program. PROCEDURE: Follow all the steps of Experiment 3(A) RESULT: We can see all the 10 bytes arranged in descending order from memory location 25001025 cT: Writing and Execution of ALP for 9 to9 BCD «, oul Fs te geaRATUS: 8085 Microprocessor kit, Ts (up/down counter) ASSEMBLY LANGUAGE PROGRAM Memory Mnemonics Opcode & Brief 7 : De adress Opctandl ef Detail of Instruction MVIA, ae 2000 00 -3E,00 Initialize the accumulator at ‘00". LXIH, 2902 2200 21,00,22 «Load the H-L register pair with 2200 address. 205) MOVM,A 7 © Move the content of accumulator to the memory location addressed by H-L reg pair. 2006 INRA 3c * Increment the content of register A by 1. 2007 INX H 23 © Increment the content of H-L register pair byl. 2008 CPIOA FE,0A © Compare the immediate byte 0A with the accumulator. 200A INZ (X) €2,05,20 © Jump to *X’ (2005) if the result previous instruction is not zero. 200D MVIA, 09 3E, 09 ‘© Move immediate byte 09 to the accumulator. ORY) -DCRA 3D © Decrement the content of accumulator by 1 2010 MOV M, A 7 © Move the content of accumulator to the , memory location addressed by H-L register pair. 2011 INXH 2B e Increment the content of H-L register pair byl. 2012 errOO FE, 00 © Compare immediate byte ‘00° with the accumulator. 2014 IZ) CE,OF,20 © Jumpto the “Y’ (200F) if the result after the execution of previous instruction is not zero. 2017 HLT 16 Stop the execution of program. PROCEDURE: Follow all the steps of Experiment 3(4) the me JT: We can see the numbers from 0 10 9 for up counting and from 9 to 0 for down counting from : ec Mory address 2200H. Input data > Offset memory addresses. —> Output data > Offset memory address > t ae Write an ALP (Assembly Language Program) based on 8086 pP to add two 8-bit BCD numbers. Example: Let the numbers are stored from starting memory address 2000 : 500 and store the result in to memory location 2000 : 600 and carry at the memory location 2000 : 601. 35] 72 1 data = 35 500} 501 2m data = 72 Sum = 107 o7| 3 600} 3 ion: 8086 Fea dz T omens tear eyes sf 389 Load data from offset address 500 to register AL (first number) 2, Load data from offset address 501 to register BL (second number) 4, Now add contents of register AL and BL. 4, Use instruction to decimal adjust 5, Store the main result in to offset address 600 6, Set register AL to 00 7, Add contents of register AL to itself with carry g, Store the carry (result) to offset 601 9, Stop execution process, Assembly Language Program Mharess. | Mnemonics Brief Detail of Instruction 400 | MOV AL, [500] | Load data from offset address 500 to register AL; AL <~ [500] 404 |MOV BL, [501] | Load data from offset address 501 to register BL; BL < [501] 408 |ADDAL,BL | ADD contents of registers AL and BL; AL — AL + BL 404 |DAA © Decimal adjust AL i 408 | MOV [600], AL | Store data of AL to offset 600. Hence [600] <- AL 40F |MOVAL,00 |e Setvalue of AL register to 00, Hence AL < 00 411 |ADCAL, AL — | Addcontents of register AL to AL with carry, AL AL + AL + CY 413 | MOV {601}, AL |» Store data of AL to offset addréis 601 So [601] <— AL 4lT HLT ‘© Stop the execution process. Objects Write an ALP based on 8086 pP to subtract one 16-bit number from another with or without borrow. Example: Let us take two 16- bit numbers where starting address is 2000 and the numbers are at 3000 and 3002 memory addresses whereas results are to be stored in to the memory locations 3004 and 3006. Input data Memory addresses Output data Memory addresses BX AX =—_— EO, | 60 | 12 12, 3003 | 3002 | 3001 | 3000 = = Borrow Result oo 00 | OL 31_| B2 3007 | 3006 | 3005 | 3004 Le 390 arated wd tice fearefere Algorithm: Load 0000 H in to CX register for borrow. Load the data in to AX from memory location 3000. 1. 2. 3. Load the data in to BX register from memory location 3002. 4. Subtract BX from AX. 5. Jump if no borrow. 6. Increment CX by 1. 7. Move data from AX to memory location 3004. 8. Move data from CX register to memory location 3006. 9. Stop execution process. Assembly Language Program Memory Address | Mnemonics Brief Detail of Instruction 2000 MOV CX, 0000 ‘Load 0000 address to CX 2003 MOV AX, [3000] Load AX with the content of 3000 memory location 2007 MOV BX, [3002] Load BX with the content of 3002 memory location 200B SUB AX, BX Subtract the contents of BX register from AX 200D INC 2010 Jump to the memory location 2010 if no carry (borrow) 200F INC CX Increment CX by 1 2010 MOV [3004], AX ‘Move data of AX to the memory location 3004 2014 MOV [3006], CX Move data of CX to the memory location 3006 2018 HLT Stop program execution

You might also like