Emu8086 - Microprocessor Emula
Emu8086 - Microprocessor Emulator 3.07e.rar
?????? --------------------------
????????? Revision History for
??????????????? Emu8086
???????????????
8086 Assembler and Microprocessor Emulator
? http://ttokpm.com
?
?????? --------------------------
?[+] - stands for new features.??
?[-] - stands for known bugs.
?[*] - stands for fixed bugs.
?
***************************************************
Version 3.07e
Friday, March 4, 2005
[+] LABEL directive is processed.
[+] Assembling into "EXE" file by default
??? when "ORG 100h" directive not present.
???
[+] INT instruction is accepted even if hexadecimal
??? number is written without prefix zero.
???
[*] Instruction CMP? AL, ',' is accepted.
??? Thanks to Walter Cox :)
???
***************************************************
Version 3.07d
Tuesday, March 1, 2005
[+] New samples added to "Samples" folder.
[*] A few documentation fixes.
??? Thanks to Jan Pedersen :)
???
***************************************************
Version 3.07c
Saturday, January 29, 2005
[+] Language help file updated.
??? Emu8086 can be translated to any world
??? language. More info is available from
??? "How_To_Translate.txt" file under "Translation"
??? folder of your Emu8086 installation.
???
***************************************************
Version 3.07
Saturday, January 15, 2005
[*] DAS instruction error:?
???????? MOV AL,76H
???????? SUB AL,39H ;? AL=3DH
???????? DAS??????? ;? AL=37H (not AL=D7H)
????????
???? Thanks to Wu Sheng-Ho from Taiwan :)
***************************************************
Version 3.05
Sunday, October 31, 2004
[+] Shareware Nag Screen updated...
??? To let you think about registration
??? benefits a little bit more.
??? Thanks to Bill from USA :)???
[+] Error report is reverted, to make it
??? easier to compile your code and find
??? possible syntax errors.
[*] DIV instruction error:
? MOV DX, 0FFFEh
? MOV AX, 00001h??
? MOV BX, 0FFFFh
? DIV BX
??? Is totaly fixed.
??? Thanks to Mehrdad University of
??? Amir Kabir (Poly Technic) of Tehran - Iran :)
?[*] The External Memory Viewer window caused
???? a very long "Reload"... Now you have to
???? press "Refresh" button, because otherwise
???? it works very slow even on Pentium 10GHz.
???? Thanks to Y.W. Lee from Hong Kong :)
???? This problem fixed is also fixed.
????
***************************************************
Version 3.04
Friday, October 29, 2004
[+] Font size for "External Memory Viewer"
??? is set to "Fixed" system font, to make
??? it look better under Windows XP.
??? Thanks to Joshua from Israel :)
[*] Editor highlight for SCASB and SCASW
??? instructions works from now on.???
??? Thanks to Marco from Spain :)
[*] Declaring STACK segment before DATA
??? segment for EXE file, caused memory
??? access problems. Bug fixed.
??? Thanks to Y.W. Lee from Hong Kong,
?????? and Egman from China :)
??????
***************************************************
Version 3.03
Sunday, October 24, 2004
[*] Incorrect description of STOSW
??? instruction in documentation is fixed.
??? Thanks to Amir Badiyehneshin.
???
[*] Full range custom interrupt calls are
??? available from 0h to 0FFh.???
??? (previously it was limited to INT 7Fh)
??? Thanks to Joe Moretti.???
***************************************************
Version 3.02
Tuesday, October 12, 2004
[*] Intel 8086 DAA instruction bug is fixed.
??? Thanks to Zhang Xing Liang from China :)
[*] Intel 8086 DAS instruction bug is fixed.
***************************************************
Version 3.00
Friday, October 01, 2004
[+] New virtual device added:
??? Thermometer and Heater Device
??? for demonstration of automatic
??? temperature control.
??? See Thermometer.asm in Samples
??? and Thermometer.exe in DEVICES
??? folder. This device comes with complete
??? source code.
[*] Robot device bug fixed.
??? The "robot" device sometimes made a turn
??? when a light is switched on or switched off.
??? Thanks to Mike O'Neil.???
[*] Carry flag error is fixed for ADC
??? instruction. Thanks to Shameerudheen PT.
***************************************************
Version 2.58
Saturday, April 10, 2004
[*] Execution speed can be changed while
??? emulator is in input state without
??? causing misapprehension.
[+] Message box is shown when trying
??? to type into "Actual Source" window.
[*] Unworking shortcuts removed for
??? "Comment block" and "Uncomment block"
??? menus.
***************************************************
Version 2.57
Friday, August 01, 2003
?[+] New look and feel!
?
?[*] Font settings are saved correctly.
???? Thanks to DarkDaemon!
????
***************************************************
Version 2.12
Friday, June 06, 2003
?[*] Recent menu on startup form works.
????
?[+] 100 to 200 address limit for custom I/O
???? devices removed. Current limit is:
???? 00000Fh to 0FFFFh (15 to 65535).
???? IO.BAS and IO.H files are updated,
???? custom devices should be recompiled
???? to be compatible with new version.
????
***************************************************
Version 2.11
Tuesday, June 03, 2003
?[+] "Making your own Operating System"
???? tutorial is updated.
???? Thanks to Daniel (aka, The Starman) !
?[+] New virtual device is available:
???? "Printer.exe" + PrinterDemo.asm
???? (see "prReadMe.txt" in "Sources.zip"
????? inside "DEVICES" folder).
???? Thanks to Andrew Nelis !
????
?[*] ORG directive was working well with
???? some specific code. Fixed!
???? Thanks to Robert M !
?[*] UNIX file format is supported again.
?[*] INCLUDE directive parses out comments
???? properly.
?
?[+] Start up form is added.
***************************************************
Version 2.10
Friday, January 10, 2003
?[+] There are no dramatic changes in
???? this version, we've just upgraded
???? our web site to http://www.emu8086.com
???? so links are updated.
***************************************************
Version 2.09
Friday, December 27, 2002
?[+] External add-on devices can be attached
???? to Emu8086! See "simple_io.asm" in
???? samples. Other programmers can write
???? their own devices in Visual Basic or
???? any other language (VC++), check
???? "DEVICES" folder for more info.
?[+] Source files are loaded faster.
?[+] 400k limitation removed for EXE files,
???? new limit is about 700k.
?[+] When double clicking over the value
???? in STACK window "Extended Value Viewer"
???? is opened.
???? Thanks to John McNally!
?
?[+] Main editor window is automatically
???? minimized when emulator is shown.
?[*] INT 15h / 86h works correctly!
???? Thanks to Teerapon Jungwiwattanapor!
?[*] MagicGlob internationalization system
???? updated to version 1.01 (problem with
???? translating tool tips fixed).
???? Thanks to Georges Schreyer!
***************************************************
Version 2.07
Friday, November 29, 2002
?[+] Interface of Emu8086 can be translated
???? to any other language (German, French,
???? Italian, Spanish, etc...). For more
???? information check inside "Translate"
???? folder.
?[+] More samples added:
?
????? matrix.asm - matrix transpose sample.
?????
????? palindrome.asm - checks if string
?????????????????????? is a palindrome.
??????????????????????
????? ToBin.asm - prints out binary
????????????????? equivalent of a decimal
????????????????? number.
?[*] Disposition for Flags window is
???? restored more precisely when it is
???? at the right edge of the screen.????
?[*] Regression found and fixed:
???? compiler wasn't adding variable
???? offset when calculating effective
???? address:
???????????? MOV a[bx][si], 7
???????????? a DB 1,2,3,4,5
***************************************************
Version 2.06
Thursday, November 21, 2002
?[*] DAA and DAS instructions correctly
???? adjust the result (in all situations)
???? and required flags are set.
???? Thanks to Jacob Feindt!
***************************************************
Version 2.05
Saturday, November 16, 2002
?[+] Disposition for various windows on
???? screen is saved and restored
???? automatically.
?
?[+] New separate window for looking at
???? memory. Accessible from "View" menu
???? of the emulator as "External Memory
???? Viewer".
?[+] When a register or variable changes
???? (while single-stepping), it is
???? highlighted. It may help the user
???? notice that something has changed.
?[+] User can set custom output directory.
???? Accessible from "Compile" menu.
?[+] Decimal immediate values may have "d"
???? suffix, for example: MOV CX, 10000d
***************************************************
Version 2.04
Saturday, August 24, 2002
?[+] New sample added:
??????? "print_hex_digit.asm"
?[*] Description of XLAT instruction
???? in "8086 instruction set" corrected.
***************************************************
Version 2.03
Saturday, August 10, 2002
?[+] Samples updated:
?????? "snake.asm" and "keyboard.asm".
?[*] Options to set default colors for
???? User Screen are improved.
?[*] "Debug Log" is unloaded correctly
???? when Emulator window is closed.
?[*] Compiler supports:
?????? MOV AX, [BP]
???? (even without displacement).
?[*] Tab indexes corrected for controls on
???? emulator window.
***************************************************
Version 2.02
Thursday, August 08, 2002
?[+] Documentation updated.
?[+] For COM file CX register is set
???? to file size in bytes.
???? For EXE file CX register is set
???? to file size without EXE header (200h).
?[+] Made possible to Drag & Drop files
???? from Windows Explorer into the main
???? window (area below the "About" button),
???? and into the emulator window (area
???? between "Memory" and "Disassemble"
???? buttons).
***************************************************
Version 2.01
Monday, August 05, 2002
?[+] Documentation updated.
????? "MASM / TASM compatibility" section
????? added to "Emu8086 reference".
?[+] Cancel button added to "Choose
???? Template" dialog box (shown when New
???? button is clicked).
?[+] Message Box is automatically hidden
???? on reload when it has one of the
???? following messages:
??????? "System halted!"
??????? "PROGRAM TERMINATED!"
?[*] This code gives more reasonable
???? error messages:
?MOV AX, 0
?MOV CX, 5
?m1: INC AX
?LOOP m1??????? ; not a real error!
?MOV AL, 0FFFFh ; real error is here.
???? (see also "Compiling Assembly Code"
????? in "Emu8086 reference").
***************************************************
Version 2.00
Saturday, August 03, 2002
?[*] "Extended Value Viewer" is
???? automatically hidden when emulator
???? window is closed.
?[*] "Lexical Flag Analyzer" supports
????? standard emulator hot keys:
?????? F8?????????? - single step.
?????? Shift + F8?? - step over.
?????? Ctrl + F8??? - run until cursor.
?????? F9?????????? - run.
?????? F7?????????? - current instruction.
***************************************************
Version 1.32
Friday, August 02, 2002
?[*] It is no longer required to un-install
???? previous version of Emu8086 before
???? installing new version.
???? Thanks to Darrell Collins.
?[*] Un-install of previous version does not
???? reset options for current version of
???? Emu8086.
?[*] Hexadecimal and Octal values are
???? treated as unsigned, huge decimal
???? numbers are not converted to singed
???? values. Compiler reports expected
???? overflow error messages for:
????? MOV BL, 0FFFFh
????? MOV BL, 177777o
????? MOV BL, 65523
?[*] Emulator does not reset its options to
???? default after it is closed and then
???? re-opened.
?[*] Backup ".~asm" files are saved with
???? original extension of an executable
???? file, to prevent conflicts.
?[*] "MyBuild" folder is automatically
???? re-created even if manually deleted on
???? runtime. Required for "Compile and
???? Emulate" button to work properly.????
?[*] LOOP instruction is disassembled
???? correctly. Previously it was decoded
???? as LOOPNE.
***************************************************
Version 1.31
Tuesday, July 30, 2002
?[+] "Lexical Flag Analyzer" added to
????? "View" menu of the emulator.
????? (see "4_sample.asm" in Samples).
?[+] Default "step delay" is set to 200 ms.
?[*] Documentation flaws corrected.
?[*] Assembler recognizes data types better,
???? and generates correct machine code
???? (even without 'b.' or 'w.').
?[*] Regression found and fixed:
???? SHL BX, CL
???? and other shift-rotate commands
???? were not assembled when second operand
???? is CL.
?[*] Undefined data was set to AX by the
???? following code:
???? ??MOV CL, 0
???? ??MOV AX, 5
??SHL AX, CL
????? (AX should be unchanged). Fixed!
?
?[*] Bizarre resize of Editor Window
???? (to the minimum) caused GPF under
???? Windows XP. Fixed!
?[*] This code caused overflow:
????? MOV AL, 251
????? MOV BL, 254
????? MUL BL
?????????????????? Fixed!
?[*] Incorrect result was calculated by:
????? MOV AX, -12
????? MOV BL, -2
????? IDIV BL
?????????????????? Fixed!
?[+] "Debug Log" shows next instruction
???? that is going to be executed when
???? it is opened.
***************************************************
Version 1.30
Sunday, July 28, 2002
?[*] Version number added to default install
???? path, to avoid conflicts with previous
???? installations. Thanks to Starman!
?[+] Variable View improved, it is possible
???? to view arrays and strings while
???? your program is executing.
???? See "Variables" in Tutorials.
?[+] Full path to source file is included
???? in editor's caption.
?[+] Support for BIN files improved.
?[+] Stack window is less flickering.
?[+] Separate "View" menu added to emulator,
???? it allows to see Stack, Variables,
???? Flags, User Screen, ALU and etc...
***************************************************
Version 1.29
Wednesday, July 24, 2002
?[+] New sample that prints out the result
???? with floating point added to Samples
???? folder: "float.asm".
?[*] Disassembler updated! Some relative
???? jumps were not decoded correctly.
?[+] Option to browse "MyBuild" folder or
???? load in emulator after compilation.
?[+] Shortcut to Emu8086 is added to
???? "SendTo" folder automatically, this
???? allows to load any ASM or Executable
???? files directly without changing your
???? current Windows settings.
?[*] Regression found and fixed:
???? MOV AL, [SI] + 00102h
???? was not compiled properly!
???? Thanks to Donald?!
?[*] Segment prefixes are not treated as
???? labels on pre-compile.
?[+] "CALL immediate" is supported.
?[*] Minimization after focus lost issue
???? is fixed!
???? Thanks to Donald!
?[+] A primitive variable view window is
???? added. Select "Variables" from "View"
???? menu of emulator. It is still under
???? construction.
?[+] Compiler has better support for
???? JMP / JCC instructions with immediate
???? values as parameters. See "Program
???? Flow Control" in tutorials.
***************************************************
Version 1.28
Wednesday, July 17, 2002
?[+] Emu8086.exe supports command
???? line parameters. It is possible to
???? set it up to open ".asm" files in
???? Windows Explorer. You can also load
???? executable files using "Send To"
???? menu of Windows Explorer (copy the
???? shortcut of Emu8086.exe to
???? "Windows\SendTo" folder).
?[+] Documentation updated,
???? new tutorials added:
???? "Macros Tutorial"
???? "Making your own Operating System"
???? "Controlling External Devices:
?????? Robot, Stepper-Motor, Traffic Lights"
?[+] Cosmetic improvements.
?[+] HLT instruction can be used to
???? Halt the Emulator.
?[*] "Extended Value Viewer" is improved.
?[*] MOVSB/W, LODSB/W, STOSB/W instructions
???? work with "REPNE" prefix (the same
???? way as with "REP" prefix - ZF not
???? checked in both cases).
***************************************************
Version 1.27
Wednesday, July 10, 2002
?[+] "Robot" virtual device is updated,
???? lamps and walls can be added to
???? the map.
?[+] "Emu8086 reference" is updated,
???? "Using the Mouse" added to "Source
???? Code Editor" chapter.
?[+] Tool Tip showing current line number
???? while dragging the vertical scroll
???? bar thumb can be turned off in Options.
?[*] Debug menu works correctly both for
???? break points and "run until...".
?[+] "Extended Value Viewer" is shown when
???? memory value is double-clicked in
???? the list. It allows to edit the value
???? in all supported numeric systems,
???? and watch after the value while
???? program runs.
***************************************************
Version 1.26
Monday, July 08, 2002
?[*] "Traffic Lights" looked a little bit
???? ugly on some systems, fixed.
?[*] Regression fixed. "User Screen" is
???? shown after program termination.
?[+] Samples: "micro-os_kernel.asm" and
???? "bintest.asm" are updated to use
???? new compiler directives.
?[+] New virtual device added: "Robot".
???? See "I/O ports" in "Emu8086 reference".
?[*] Emulator Hot keys work from Virtual
???? Device windows.
***************************************************
Version 1.25
Sunday, July 07, 2002
?[+] New compiler directives added.
???? See "Compiling Assembly Code" in
???? "Emu8086 reference".
?[+] Assembler supports IN and OUT
???? instructions!
?[+] Emulator has new Virtual Devices:
???? "Traffic Lights" and "Stepper Motor".
???? See "I/O ports" in "Emu8086 reference".
?[+] "Extended Value Viewer" window
???? is shown when register text box is
???? doubled clicked, or it can be selected
???? from "View" menu.
???? This window is updated automatically
???? on run-time.
?[+] Custom memory map support added.
???? See "Custom Memory Map" section in
???? "Emu8086 reference".
?[+] Templates for all supported source
???? files added.
***************************************************
Version 1.24
Wednesday, July 03, 2002
?[+] "Step Over" command allows to run
???? through procedures or macros very
???? fast and stop on the next instruction.
?[+] List of supported Hot Keys updated:
??????? Single Step:??????? F8
??????? Run:??????????????? F9
??????? Stop:?????????????? Esc
??????? Step Over:????????? Shift + F8
??????? Run until gets t? Ctrl + F8
?[+] Hot Keys work on all emulator related
???? windows (Flags, Stack, Log).
?[+] Closing "User Screen" causes the
???? emulator to stop (can resume if
???? "Run" is pressed again).
?[*] "Run until selected" menu in Debug
????? renamed to "Run until gets to", and
????? it works much better now (Ctrl + F8),
????? the value of CS:IP where stop should
????? occur can be set by clicking on
????? lines of "Actual Source" window or
????? disassembled list.
?[*] Right-click popup menu wasn't working
???? on "Actual Source" window.
?[*] Ctrl+G (Go to Line) works in editor.
?[*] "Find..." and "Find Next" work from
???? popup menu of the source editor.
***************************************************
Version 1.23
Tuesday, July 02, 2002
?[+] Complete 8086 instruction set is added
???? to reference section of the help.
?[+] Editor updated!
???? Color Syntax Highlighting,
???? Custom Color and Font Settings,
???? Line Numbering,
???? Regular Expression Search and Replace,
???? Indent / Outdent,
???? User defined Keystroke Macros.
?[+] Operating system sample is updated:
???? now it contains two files:
??????? "micro-os_loader.asm"
??????? "micro-os_kernel.asm"
???? 'micro-os' is already loaded on virtual
???? floppy drive, so you can select:
???? 'Virtual Drive' -> 'Boot from Floppy'
???? on emulator window.
?[+] Compiler reports errors before
???? completing all passes.
?[*] Emulator screen had problem with
???? hiding previous cursor when back-space
???? is pressed.
?[+] Compiler works faster.
?[*] Timer function INT 1Ah/00 did not
???? report correct number of ticks after
???? midnight.
?[+] "Reload" button added to emulator.
?[+] "Reset Emulator and RAM" added to
???? "File" menu of emulator.
?[+] INT 10h/00 function can be used to
???? set video mode (size of the screen
???? window).
?[+] Support for the following 80186
???? instructions added:
?????? PUSHA
?????? POPA
?????? PUSH ib? (immediate signed byte)
?????? PUSH iw? (immediate word)
?[+] Shift and Rotate instructions support
???? any byte constant (not only 1),
???? the compiler automatically
???? generates the required number of
???? single shift/rotate instructions.
?[*] CALL instruction supports both label
???? or procedure name.
?[*] DIV instruction generated internal
???? 'Overflow' in some rare conditions.
????
?[+] SCAN_NUM procedure of 'emu8086.inc'
???? library is improved, it allows to
???? input only digits.
???? Macro to print entire string is
???? added, this is how it works:
???? PRINT "hello there!"
?[+] JMP and CALL instructions support
???? immediate double-word as parameter:
??????? JMP FFFFh:0000h
?[+] "MySource" folder is used as default
???? for saving ".asm" files.
????
?[+] "MyBuild" folder is used for compiled
???? files (*.com, *.exe, *.bin, *.boot).
???? (previously it was "EMU_TEMP").
?[+] New Hot Key for "Single Step":
?????? F8
?[+] New Hot Key for "Run until selected":
?????? Ctrl + F8
***************************************************
Version 1.22
Monday, June 17, 2002
?[+] New sample added: "micro-os.asm" an
???? example of micro operating system.
????
?[+] Tutorials are heavily updated.????
?
?[+] emu8086.inc updated, procedure for
???? string input is added.
????
?[*] Inner macro string parameters
???? are transferred correctly.
????
?[+] Debug log uses correct number of
???? spaces between encoded instruction
???? and machine code.
????
?[*] Default position of text cursor is
???? made more reasonable.
?[+] "Find" dialog is shown with currently
???? selected text in the code editor.
?[*] String inside string declaration
???? is processed correctly.
?[+] Refresh of the user screen is
???? optimized.
?
***************************************************
Version 1.21
Friday, June 14, 2002
?[+] Keyboard support is improved,
??? INT 16h / 00h / 01h
??? return BIOS scan code also.
?[+] "Step delay" can be set to zero.
?[+] Sample "snake.asm" is updated :)
?[*] REPE/REPNE prefix was not decreasing CX
???? by one on exit. Fixed.
?[*] String parameters are transferred
???? correctly to macro.
?[*] Compiler cares about duplicate
???? declarations, and reports about it.
?[+] Several tool tips added.
?[+] Input state can be interrupted by a tiny
???? stop button.
?[+] Debug Log added to emulator, start it
???? from "View" menu.
???
?[+] Edit menu added to code editor, it is
???? possible to do indent, outdent, find...
***************************************************
Version 1.20
Tuesday, June 11, 2002
?[+] New samples added:
??snake.asm
??include.asm
??calc.asm????
??sort.asm
?[+] It is possible to use shorter "b." and
???? "w." instead of "BYTE PTR" and
???? "WORD PTR".
???? Disassembler always uses short form.
?[*] Command line parameters did not include
???? the prefix space (like original DOS).
???? It is fixed by adding prefix space.
?[*] There was a problem compiling this
???? expression: "WORD PTR? [20h]" when
???? there are more then one space after PTR
???? keyword. Fixed, also for "BYTE PTR".
?[*] Blue color "0001b" was not as original
???? DOS color RGB(0,0,128). Fixed.
?[+] Cursor options are improved, it can
???? be made invisible using:
???? INT 10h / AH=01.
?[*] Compiler was unable to evaluate
???? some immediate expressions. Fixed.????
?[+] Expression Evaluator added (Math menu).
?[+] Arithmetic & Logical Unit updated.
?[+] Other internal optimizations.
?[+] "Compile & Emulate" button added
???? (does the same as F5 key).
?[+] "Loading..." is shown while loading
???? source files.
?[*] Selection of currently executing macro
???? is much better now.
?[+] Emulator "step delay" can be set
???? to maximum of 9000 milliseconds
???? (9 seconds).
?[+] It is possible to set a breakpoint
???? via "Debug" menu.
***************************************************
Version 1.19
Thursday, June 06, 2002
?[+] Documentation is updated!
???? Better tutorials and reference added.
?[+] Command line parameters option is
???? improved for both COM and EXE files.
???? (see "param.asm" and "paramexe.asm" in
????? samples).
?[+] Double-click on stack list also opens
???? Number Convertor with selected value
???? converted to all possible forms.
?[*] [Load] button renamed to [Open] in
???? compiler window, this is more logical.
?????
?[+] "BYTE PTR" and "WORD PTR" no longer
???? required for immediate offset location:
???? MOV [0020h], DL
???? MOV BX, [0020h]
????
***************************************************
Version 1.18
Monday, June 03, 2002
?[+] User Screen is activated automatically
???? after program is terminated (when it is
???? opened in the background).
?[+] "Save current emulator state..." from
???? "Debug" menu saves registers and memory
???? in addition to disassembled code.
?[+] New function supported INT 10h / AH=13h
???? to write string with attributes,
???? (see reference.html and "int10_13.asm"
???? in Samples).
?[+] Disassembling of 8 bit displacements is
???? improved. Previously code:
???? MOV AX, [DI-1]
???? was disassembled as:
???? MOV AX, [DI] + 0FFFFFFFFh
???? now it is disassembled as:
???? MOV AX, [DI] - 01h
?[*] Segment prefix is compiled correctly:
???? MOV BYTE PTR ES:[020h], DL
?[*] "Clear Screen" button forces to update
???? memory and disassembled lists when
???? required.
?[*] Compiler reports an nice error in
???? case of:
????????????? db 1234h
???? (previously anything over byte size was
???? converted to zero without a warning).
?[+] Emulator asks for a missing ".binf"
???? file, when it cannot find it in the
???? same folder with a ".bin" file.
?[*] Number Convertor gets correct word
???? value after double clicking memory
???? list. (previously instead of FB09h
???? it received FB9h).
?????
?[*] Error message was shown mistakenly
???? on creating new floppy drive and
???? writing boot record. Fixed.
?
***************************************************
Version 1.17
Sunday, June 02, 2002
?[+] Timer function added (INT 15h / 86h),
???? (see reference.html and "timer.asm"
???? is Samples).
?[+] Enabled compiling of actual offset
???? number instead of variables:
???? MOV BYTE PTR [82h], 'A'
???? (assumed that segment is in DS
????? register - DS:[0082h]).
?[+] It is possible to set cursor size:
???? INT 10h / 01h (see reference.html).
?[+] Keyboard buffer added, currently it
???? can hold up to 8 key-codes.
???? Function INT 16h / 00h can be used
???? to check if there is something in a
???? buffer (see "keybrd.asm" in Samples).
?[*] Major bug with showing memory at
???? some address (B800:0000) fixed.
?[*] INT 21h / 0Ah uses the current color
???? for each character.
?[+] Decoding unknown bytes as "DB ??"
???? instead of "???".
?[*] Compiler did not report an error for
???? MOV DI, offset s1
???? when "s1" is not defined. Fixed.
?[*] Memory list was updated with physical
???? address instead of offset. Fixed.
?[*] Some built in interrupts were unable
???? to set Carry Flag (because flag
???? register is pushed before interrupt and
???? popped on IRET). Fixed.
?[*] Constant evaluation included comment
???? in result. Fixed.
?
***************************************************
Version 1.16
Friday, May 31, 2002
?[+] More instructions are now
???? supported by emulator:
???? AAA
???? AAS
???? AAD
???? AAM
???? DAA
???? DAS
???? (see "bcd_add.asm" in Samples).
?[*] Disassembler shows relative jumps
???? with correct offset (previously
???? physical address was shown).
?[+] "Save current emulator state" from
???? "Debug" menu uses logical addresses
???? instead of physical.
?[+] Selecting memory value automatically
???? selects the disassembled line that
???? corresponds to that byte.
?[*] Major bug fixed! BIOS Teletype function
???? (INT 10h/0Eh) was not making scroll
???? correctly! There also was unnecessary
???? moving of current cursor position to
???? the bottom of the screen.
***************************************************
Version 1.15
Wednesday, May 29, 2002
?[+] Support for 8 video pages added,
???? see "pages.asm" in samples.
?[+] Memory list shows only the offset
???? of physical address, segment is shown
???? in the first text box above it.
?[+] Separate "Help" button added.
***************************************************
Version 1.14
Sunday, May 26, 2002
?[+] Text color support added.
?[*] Text-boxes for register values are made
???? wider (some systems displayed only part
???? of the value on selection).
?[+] It is possible to disassemble up to 1K
???? of memory, and to save disassembled
???? code into a file (by clicking
???? "Save current emulator state" from
???? "Debug" menu).
***************************************************
Version 1.13
Saturday, May 25, 2002
?[+] New better font options added.
?[+] "Terminal" (OEM/DOS) font is used as
???? default for user screen and
???? memory list.
?[*] Number Convertor converts double
???? characters correctly, assuming that
???? missing character has zero value.
?[+] Memory word at 0040h:004Ah has
???? number of columns on screen.
???? Memory byte at 0040h:0084h has
???? number of rows on screen minus one.
???? This value is modified when screen
???? window is resized.
?[+] More interrupts are supported:
???? INT 10h / AH=06h - scroll up window.
???? INT 10h / AH=07h - scroll down window.
???? (see "scroll.asm" in Samples).
***************************************************
Version 1.12
Thursday, May 23, 2002
?[+] Output file extensions are made more
???? reasonable (".BOOT" for a boot sector,
???? ".BIN" for files that are loaded at
???? specified location by ".BINF" files).
?[+] BIN file can be loaded at any location
???? using ".bINF" file,
???? startup values for all registers are
???? also set by this file.
???? See "bintest.asm" in "Samples" for
???? more information.
?[*] Actual source line is shown correctly
???? for boot sector files.
?[+] "Create new floppy drive" menu is added
???? to "Virtual Drive" menu. You can add
???? up to 4 floppy drives:
???? FLOPPY_0, FLOPPY_1, FLOPPY_2, FLOPPY_3
?[+] INT 11h returns the correct number of
???? floppy drives (total-1).
***************************************************
Version 1.11
Wednesday, May 22, 2002
?[+] New file type supported by emulator:
???? ".PRE".
???? (replaced with ".BIN" in version 1.12)
?[+] You can write a boot sector of
???? a virtual floppy (FLOPPY_0) via menu in
???? emulator.
???? First you should make a ".boot" file and
???? load it in emulator (see "micro-os.asm"
???? in "Samples" for more info).
???? Then, if you are curious, you may write
???? the virtual floppy to real floppy and
???? boot your computer from it, I recommend
???? using "RawWrite for Windows" from:
???? http://uranus.it.swin.edu.au/~jn/linux
???? (note that "micro-os.asm" isn't MS-DOS
????? compatible boot sector, so it's better
????? to use and empty floppy, it should be
????? IBM/MS-DOS formatted).
?[*] Major bugs with accessing far memory
???? is fixed (I hope, since I need to do
???? more tests).
?[+] Mouse cursor is updated for URL and
???? e-mail on about form (eye & candy).
?[+] Regular menu is added to emulator
???? form, previously these options were
???? available from right-click on "Load"
???? button, and memory list.
***************************************************
Version 1.10
Sunday, May 19, 2002
?[*] Major bugs are fixed for instructions:
???? CMPSB, CMPSW, SCASB, SCASW
???? (zero flag was checked before operation
???? instead of after when prefix is used).
?[*] Minor bug fixed: cursor is not advanced
???? after INT 10h / AH=09h and
???? INT 10h / AH=0Ah even if CX isn't 1.
?[*] Effective address 8 bit displacement
???? was always treated as positive.
?[+] Virtual floppy drive is added:
???? FLOPPY_0
???? (it is blank, but I was able to make
????? an image from DOS 6.22 bootable floppy
????? currently it boots until
????? "Starting MS-DOS..." message - and it
????? takes several minutes :) - much to
????? investigate!).
?[+] Interrupt 1Eh points to Vector of
???? Diskette Controller Parameters.
?[+] More interrupts are supported:
???? INT 12h - get memory size
?(returns: AX = kilobytes of contiguous
?memory starting at absolute
?address 00000h,?this call returns
?the contents of the word
?at 0040h:0013h).
???? INT 13h / AH = 00h - reset disk system.
???? INT 13h / AH = 02h - read disk sectors
????????????????????????? into memory.
???? INT 16h / AH = 00h - get keystroke from
???????????????????????? keyboard (no echo).
?[+] It's possible to set selected
???? memory value from Number Convertor by
???? right clicking the memory list,
???? (first left click to select the
?????? address).??????
?[+] Stack memory can be viewed in a
???? separate window.
?[+] Segmented values can be used when
???? getting memory list and disassembled
???? code (example: 0B56:0100).????
?[*] Minor screen bug is fixed,
???? (last cursor location was lost
????? when screen form was closed).
***************************************************
Version 1.09
Thursday, May 16, 2002
?[*] Minor bug fixed: internal CPU flag for
???? REP/REPE prefix was not reset after
???? some string operations.
?[+] More interrupts are supported:
???? INT 10h / AH=02h - set cursor position.
???? INT 10h / AH=03h - get cursor position.
???? INT 10h / AH=08h - read character and
?????????????? attribute at cursor position.
???? INT 10h / AH=09h - write character and
?????????????? attribute at cursor position.
???? INT 10h / AH=0Ah - write character only
?????????????? at cursor position.
???? INT 10h / AH=0Eh - teletype output.
???? (note: currently emulator has no
????? support for character attributes or
????? cursor size, default white on black
????? color mode is used for all operations)
?[+] Screen window is not activated after
???? any output operation, making it easier
???? to operate with emulator (buttons do
???? not stuck).
?[+] A call to BIOS sub-system is
???? disassembled? by "BIOS DI" (it doesn't
???? use DI? register in any way, it's just
???? because of the way the encoding is
???? done: we are using "FF /7" for such
???? encoding, "FFFFCD10" is used to make
???? emulator to emulate interrupt number 10)
?[+] INT 4 and INT 0 are defined and produce
???? the expected message, you can re-define
???? those for you own needs.
?[+] Sample code that can be compiled and
???? emulated is moved to "Samples" folder.
***************************************************
Version 1.08
Monday, May 13, 2002
?[*] Major bug fixed: effective address
???? calculation "[DI] + d16" was calculated
???? with SI segment instead of DI.
?[+] More instructions are now
???? supported by emulator:
???? LEA (for effective address)
???? XLAT
???? INT 3 (trap to debugger) - it is not
?????????? used by emulator, so you may
?????????? use for any purpose, you just
?????????? should set the address of
?????????? your sub-program in the interrupt
?????????? vector (at 3*4 = 0Ch).
???? INTO? (currently also not defined).
***************************************************
Version 1.07
Sunday, May 12, 2002
?[+] Interrupt vector is added to emulator,
???? now I'm really approaching the real PC
???? emulation. BIOS ROM is loaded
???? at location F400:0000.
???? Both files can be modified by the user,
???? so you may alter the original version.
?[+] More instructions are now
???? supported by emulator:
???? RETF
???? CALL (full support)
???? IRET
???? LOOPE / LOOPZ
???? LOOPNE / LOOPNZ
???? STOSB
???? STOSW
???? SCASB
???? SCASW
???? CMPSB
???? CMPSW
???? LES
???? LDS
?[+] ".BIN" files are loaded at 07C0h:0000
???? (just like a boot sector).
?[+] Disassembler is improved:
???? (automatic re-disassemble after JMP,
????? CALL, RET instructions).
?[+] Horizontal scroll bar added to
???? disassembled list.
?[*] Memory list update fixed.
***************************************************
Version 1.06
Saturday, May 04, 2002
?[+] More instructions are now
???? supported by emulator:
???? SHL
???? SAL
???? ROL
???? RCL
???? SHR
???? SAR
???? ROR
???? RCR
???? SAHF
???? LAHF
???? ADC
???? SBB
?[+] You can double click a memory value
???? to open Number Convertor.
?[*] Bug with current byte selection in list
???? when starting address not zero,
???? is fixed.
?[+] Disassembler is improved (commands are
???? shown before they are executed).
***************************************************
Version 1.05
Monday, April 22, 2002
?[+] Support for command line parameters
???? (currently only for COM files).
???? Right click "Load" button in emulator
???? to set them. This line is loaded at
???? the address of 80h at PSP.
?[*] Temporary files are saved into EMU_TEMP
???? folder. This way we avoid accidental
???? overwriting of executable files.
???? Thanks to Starman.
?[+] Every time you compile your file,
???? a backup file with ".~asm" extension is
???? saved, along with ".debug" file that
???? contains information required for
???? emulator to select lines in your source
???? code while executing.
???? When not specified "MyBuild" directory
???? is used.
?[+] Number Convertor is added, with its
???? help you can convert binary numbers to
???? hexadecimal, octal to decimal, or see
???? an ASCII characters and vice versa...
???? Double click a register value in
???? emulator to load its value to
???? calculator, or click "Calculator" in
???? the main menu of source editor.
?[+] More instructions are now
???? supported by emulator:
????? JCXZ
????? CMC
????? STC
????? CLC
????? CLD
????? STD
????? CLI
????? STI
????? CBW
????? CWD?
????? INC (full support)
????? DEC (full support)
????? XCHG
???????????? JMP (full support)
***************************************************
Version 1.04
Friday, April 19, 2002
?[+] The command that is going to be
???? executed next is selected in actual
???? source window (previously command
???? was shown only after it is executed).
?
?[+] Corresponding line is selected when
???? clicking on error message.
?
?[+] Support for ".BIN" files added, the only
???? difference from ".COM" files that they
???? are not loaded at 100H prefix, and thus
???? do not require "ORG 100H" line in the
???? beginning of the file.
?[*] "MOV AL, -5" caused a critical
????? compilation error.
?[+] When showing registers prefix zeros are
???? added.
?[+] More instructions are now
???? supported by emulator:
???? ?? DIV
????????? IDIV
????????? IMUL
????????? MUL
????????? NEG
????????? NOT
????????? TEST (now full support)
?[*] Overflow is reported correctly
???? on compile.
***************************************************
Version 1.03
Sunday, March 31, 2002
?[+] More instructions are now
???? supported by emulator:
????????? PUSH CS
????????? PUSH DS
????????? PUSH ES
????????? PUSH SS
????????? POP DS
????????? POP ES
????????? POP SS
????????? PUSHF
????????? POPF
?[+] Hourglass mouse pointer is shown
???? while loading files in emulator.
?[+] Emulator shows decimal and char
???? representation of memory (previously
???? it was hexadecimal only).
?[*] Bug with INT 21h, AH=0Ah (line input)
???? is fixed, last new line char was
???? added one byte after required
???? position.
?[+] INT 21h/AH=01h is supported,
???? write character to standard output,
???? with echo, result is stored in AL.
?[+] INT 21h/AH=02h is supported,
???? read character from standard input,
???? DL = character to write,
???? after execution AL = DL.
?[*] TAB key is works again when
???? typed in editor.
***************************************************
Version 1.02
Saturday, March 30, 2002
?[*] COM files are loaded at 100h prefix!
???? (as they really should).
?[*] A few other bugs fixed.
?[+] INT 20 added (exit to OS), the same
???? as INT 21, AH=4Ch.
?[+] INT 21h, AH=0Ah is now supported,
???? (string input, fist byte is buffer
???? size, second byte is number of chars
???? actually read).
?[+] Disassembler uses HEX for numbers.
?[*] INCLUDE directive looks for files in
???? the same folder where the source is
???? (in case full path is not specified),
???? and there is a regular error message
???? when file not found.
?[+] Emulator window is now re-sizeable.
***************************************************
Version 1.01
Tuesday, March 26, 2002
?[+] Support for COM files added.
***************************************************
Version 1.00
Wednesday, February 13, 2002
?[+] The very first release!
***************************************************
??? -----------------------------------
?????? Emu8086, Inc. (C) 2002-2005
????????? http://www.emu8086.com
??? -----------------------------------
?
?
??
???
????
?????
??????
???????
?????????
?????????
非常好我支持^.^
(0) 0%
不好我反對
(0) 0%