Vous êtes sur la page 1sur 9

8085 SIMULATOR IDE

8085 Simulator IDE is powerful application that supplies 8085 educators and developers with userfriendly graphical development environment for Windows with integrated simulator (emulator), Basic compiler, assembler, disassembler and debugger for Intel 8085 8-bit microprocessor.

8085 Simulator IDE main features:


Simulation interface showing internal processor architecture with interrupts interface, Memory editor for extrenal 64K memory, I/O ports editor and peripheral devices interface for simulation of I/O instructions, Variable simulation rate, simulation statistics and simulation logging with log viewer, Breakpoints manager for code debugging with breakpoints support, 8085 assembler, interactive assembler editor for beginners, 8085 disassembler, 8085 Basic compiler with smart Basic source editor, Support for external simulation modules, Extensive program options, color themes, ...

DELLSOFT Technologies P. Ltd.


E-mail : info@dellsoft.net, website : www.dellsoft.net, Mobile : 9810305272 / 9810266404

8085 Simula tor IDE Getting Sta rted Pa ge


There are six examples bundled with 8085 Simulator IDE. They are located in application folder. This is short step by step guide for the beginners that will help them to test these examples and in that way explore the most important features of 8085 Simulator IDE. EXAMPLE 1 - Examine memfill.asm file from the application folder. This assembler routine fills the memory range FF00H - FFFFH with values FFH - 00H respectively.

MVI A,0FFH ;initial value in register A LXI B,0FF00H ;initial value in register pair BC L1: STAX B ;load value in A to the memory location addressed by BC INX B ;increment BC DCR A ;decrement A JNZ L1 ;loop until value in A is zero STAX B ;load value 00H to memory location FFFFH HLT ;halt cpu .END Start 8085 Simulator IDE.

DELLSOFT Technologies P. Ltd.


E-mail : info@dellsoft.net, website : www.dellsoft.net, Mobile : 9810305272 / 9810266404

EXAMPLE 2 - Examine memfill2.asm file from the application folder. This is modified example 1. The value that will b e used to fill the memory range FF00H - FFFFH is get from I/O port 01H. The routine is then repeated. L2: IN 01H ;get value on port 01H to be used for memory fill MVI D,0FFH ;initial value in counter register D LXI B,0FF00H ;initial value in pointer register pair BC L1: STAX B ;load value in A to the memory location addressed by BC INX B ;increment pointer BC DCR D ;decrement counter D JNZ L1 ;loop until value in D is zero STAX B ;fill the last memory location FFFFH JMP L2 ;repeat routine .END

EXAMPLE 3 - Examine bin2bcd.asm file from the application folder. This example is a binary to BCD conversion routine. START: LXI SP,STACK ;initialize stack pointer LXI H,BINBYT ;point HL index to where binary number is stored MOV A,M ;transfer byte LXI H,OUTBUF ;point HL index to output-buffer memory DELLSOFT Technologies P. Ltd.
E-mail : info@dellsoft.net, website : www.dellsoft.net, Mobile : 9810305272 / 9810266404

CALL BINBCD HLT BINBCD: MVI B,100 ;load 100 into register B (power of ten holding register) CALL BCD ;call conversion for BCD3 MVI B,10 ;load 10 into register B CALL BCD ;call conversion for BCD2 MOV M,A ;store BCD1 RET BCD: MVI M,0FFH ;load buffer with -1 STORE: INR M ;clear buffer first and increment for each subtraction SUB B ;subtract power of ten from binary number JNC STORE ;if number is larger than power of ten, go back and add 1 to buffer ADD B ;if no, add power of ten to get back remainder INX H ;go to next buffer location RET .ORG 0100H BINBYT .DB 234 ;example binary number to be converted into a BCD number OUTBUF ;output-buffer memory location STACK .EQU 0FFFFH ;definition of stack pointer initialization address .END

DELLSOFT Technologies P. Ltd.


E-mail : info@dellsoft.net, website : www.dellsoft.net, Mobile : 9810305272 / 9810266404

EXAMPLE 4 Examine interrupt.asm file from the application folder. This example shows how peripheral devices and interrupts interfaces are used. The routine first sends five data bytes to port 02H (should be treated as the initialization of the peripheral device) and then responds to generated interrupts by echoing the value received on port 01H to port 02H. JMP 0100H ;jump to main routine .ORG 003CH ;interrupt routine IN 01H ;get the value from port 01H OUT 02H ;echo that value to port 02H EI ;enable interrupts RET ;return from interrupt .ORG 0100H ;main rountine JMP L1 ;jump over data area .DB 0AH ;data byte 1 .DB 0BH ;data byte 2 .DB 0CH ;data byte 3 .DB 0DH ;data byte 4 .DB 0EH ;data byte 5 MVI D,05H ;load counter register D LXI B,L2 ;load pointer register pair BC LDAX B ;get the data byte OUT 02H ;send it to port 02H INX B ;increment pointer BC DCR D ;decrement counter D JNZ L3 ;loop until all data bytes are sent MVI A,0BH ;prepare interrupt mask SIM ;set interrupt mask EI ;enable interrupts JMP L4 ;loop forever .END

L2:

L1: L3:

L4:

DELLSOFT Technologies P. Ltd.


E-mail : info@dellsoft.net, website : www.dellsoft.net, Mobile : 9810305272 / 9810266404

EXAMPLE 5 - Examine basmul.bas file from the application folder. This is Basic source program that will be compiled using integrated Basic compiler. It is an integer multiply routine that will multiply two integer numbers 123 and 234. Dim a As Integer Dim b As Integer Dim c As Integer a = 123 'First number b = 234 'Second number c=a*b

8085 Basic Compiler Reference Manual


The list of all Basic compiler keywords: DIM, AS, BOOLEAN, SHORT, INTEGER, TRUE, FALSE, CONST, MOD, NOT, AND, OR, XOR, NAND, NOR, NXOR, GOTO, FOR, TO, STEP, NEXT, WHILE, WEND, IF, THEN, ELSE, ENDIF, POKE, PEEK, SETBIT, RESETBIT, GET, PUT, PRINT, LF, CRLF, END, GOSUB, RETURN

8085 Simulator IDE External Modules


8085 Simulator IDE is an automation (ActiveX) server/client application. This feature enables communication with external simulation modules that can be developed by home developers and third parties using various Development Systems for Windows. External client application can access 8085 Simulator IDE server services by creating an ActiveX object using i8085simulatoride.server class. Available functions and procedures: - getmem(address) function will return the value in the memory location specified by 'address' argument [0DELLSOFT Technologies P. Ltd.
E-mail : info@dellsoft.net, website : www.dellsoft.net, Mobile : 9810305272 / 9810266404

65535]. - setmem(address,value) procedure will put the 'value' argument [0-255] in the memory location specified by 'address' argument [0-65535]. - getio(address) function will return the value on the I/O port specified by 'address' argument [0-255]. - setio(address,value) procedure will put the 'value' argument [0-255] on the I/O port specified by 'address' argument [0-255]. - i8085trap() procedure with no arguments will generate TRAP interrupt signal. - i8085rst75() procedure with no arguments will generate RST 7.5 interrupt signal. - i8085rst65() procedure with no arguments will generate RST 6.5 interrupt signal. - i8085rst55() procedure with no arguments will generate RST 5.5 interrupt signal. - i8085intr() procedure with no arguments will generate INTR interrupt signal. - i8085reset() procedure with no arguments will generate RESET signal. - gethalt() function with no arguments will return the HALT state [0-1]. - getcrystal() function with no arguments will return the clock frequency parameter. - getclockcycles() function with no arguments will return the number of clock cycles passed after the start of the simulation. The last two functions will enable the external client application to develop a real time behavior if needed. - getinst() function with no arguments will return the mnemonics of last executed instruction [string]. - geta() function will return the value in A register. - getf() function will return the value in F (flag) register. - getb() function will return the value in B register. - getc() function will return the value in C register. - getd() function will return the value in D register. - gete() function will return the value in E register. - geth() function will return the value in H register. - getl() function will return the value in L register. - getsp() function will return the value in SP register. - getpc() function will return the value in PC register.

DELLSOFT Technologies P. Ltd.


E-mail : info@dellsoft.net, website : www.dellsoft.net, Mobile : 9810305272 / 9810266404

Educational/Commercial Users List:


Gasturbines Expertise And Maintenance Nv company, Genk, Belgium - University Of Sunderland, United Kingdom - Saskatchewan Institute Of Applied Science And Technology, Canada - Galt Collegiate Institute & Vocational School, Cambridge, Canada - School of Electronic and Aeronautical Engineering, Ministry of Defence, United Kingdom - Association of Computer Science Educators (ACSE), Ontario, Canada - Alcatel Canada, Toronto, Canada - Facultad de Ingeniera, Universidad Nacional de Entre Rios, Argentina - Amano Cincinnati, Inc., Roseland, NJ, United States - Istituto di Istruzione Superiore 'E. Alessandrini', Abbiategrasso, Italy - Berufsakademie Lrrach, Lrrach, Germany - Berufsakademie Mosbach, Mosbach, Germany - Universidad del Norte, Barranquilla, Colombia - Berufliche Schule der Hansestadt Rostock fr Elektrotechnik und Elektronik, Germany - William Lyon Mackenzie Collegiate Institute, North York, Canada - University of Huddersfield, United Kingdom - Manchester College of Arts and Technology, United Kingdom - University of the Netherlands Antilles, Curaao, Netherlands Antilles - Bharat Heavy Electrical Limited, Tamilnadu, India - Texas Instruments Malaysia - NASA Goddard Space Flight Center, Greenbelt, Maryland, United States - St Clair College, Canada - Ingnieur Du Son, Belgium - Systron Micro Systems, India - Merced College, CA, United States - Dresser, Inc. UK Ltd - Applied Resolution Technologies, Willetton, Australia - TechWell Consulting, NY, United States - Outer Reaches Studios, Leicester, UK - Scuola Radio Elettra, Citt Di Castello, Italy - Afton Office Engineers, Woking, UK - Megatec Electronic Ltd, Yaounde, Cameroon - CODELCO - Corporacin Nacional del Cobre, Chuquicamata, Chile - Transtech Melbourne, Australia - Clever S.r.l., Firenze, Italy - Athabasca University, Canada - Varian Electronics Mfg., Tempe, Arizona, United States - Studioemme s.a.s, Bologna, Italy - Satellite Information Services, London, UK - Amelko de Mxico, Mexico City, Mexico - Murata Machinery USA, Inc., Charlotte, United States - Space Craft Technology Center, TAMU, College Station, TX, United States - Escola Tcnica Federal de Palmas, Brazil - Archimaine, Laval Cedex, France - Soneticom, Inc., West Melbourne, United States - James Watt College, Greenock, UK - Asian Institute of Medicine, Science and Technology, Sungai Petani, Malaysia - Department of Instrumentation and USIC, Gauhati University, Panbazar, India - Adric Systems, Inc., Precision Retail Systems, Hixson, United States - Centennial Collegiate Vocational Institute, Guelph, Canada

And many more..

Please contact for more details to :


DELLSOFT Technologies P. Ltd.
E-mail : info@dellsoft.net, website : www.dellsoft.net, Mobile : 9810305272 / 9810266404

EMU 8086 Microprocessor Emulator


emu8086 is the emulator of 8086 (Intel and AMD compatible) microprocessor with integrated 8086 assembler and tutorials for beginners. The emulator runs programs like the real microprocessor in step-by-step mode. It shows registers, memory, stack, variables and flags. All memory values can be investigated and edited by a double click. The instructions can be executed in a regular forward direction and also in reverse direction. emu8086 can create a tiny operating system and write its binary code to a bootable floppy disk. This software package includes several virtual external devices: robot, stepper motor, led display, and traffic lights intersection. Virtually anyone with any programming experience can design animated virtual devices in assembly language or in any other programming language. All devices are open for modifications and cloning (source code is available). All communications between the microprocessor and devices is coming through this file: c:\emu8086.io, to emulate in/out instructions it's just required to change corresponding bytes in this binary file.

Vous aimerez peut-être aussi