首页 > 编程语言 >asm:dosbox安装及汇编环境配置(win)

asm:dosbox安装及汇编环境配置(win)

时间:2023-01-07 16:45:12浏览次数:35  
标签:win masm Possible values emulation auto asm dosbox

asm:dosbox安装及汇编环境配置(win)

 

 

 

 

一、dosbox安装及汇编环境配置

 

dosbox的安装以及汇编测试




1、建立文件夹:


	1.1	G:\assemblyWorkspaces\masm_dos
		
		功能1:“汇编依赖文件夹”存放位置:
	
		功能2:dosbox挂载位置(mount c G:\assemblyWorkspaces\masm_dos)
		
		功能3:masm源文件存放位置;G:\assemblyWorkspaces\masm_dos\src。
		
		
	1.2 D:\tools\asm\masm_dos\dosbox_install
		
		功能:安装dosbox
		



		
2、 dosbox

	2.1 安装dosbox,安装位置:D:\tools\asm\masm_dos\dosbox_install,一直ok到结束
	
	2.2 汇编的工作区的目录:
		2.2.1 汇编工作区根目录:  G:\assemblyWorkspaces\masm_dos
		2.2.2 汇编工作区子目录:  G:\assemblyWorkspaces\masm_dos\src
		
	2.3 dosbox配置:
		2.3.1  dosbox配置位置1:
			--	C:/Users/Administrator/AppData/Local/DOSBox/dosbox-0.74-3.conf
				2.3.1.1	屏幕分辨率配置、字体大小配置:
				2.3.1.2	汇编环境配置:
		2.3.2  dosbox配置文件位置2:
			--	D:\tools\asm\masm_dos\dosbox_install\DOSBox-0.74-3\DOSBox 0.74-3 Options.bat
		2.3.3  双击文件"DOSBox 0.74-3 Options.bat",在文件末尾添加如下文字:
			“
			# 井号部分的是注释语句,不用写
			
			mount    c  G:\assemblyWorkspaces\masm_dos   #把“g:\xx”盘挂载在dosbox的c盘位置。			
			c: 						#启动时,进入dosbox的c盘
			path=c:\;src;		# 配置环境变量:  进入工作区的子目录后,可以使用汇编工具(masm/debug/link/...)
			
			”
		2.3.4	说明:
			2.3.4.1	命令:	mount    “挂载点(c)”		汇编工作区的根目录	
			2.3.4.2 说明:	将“汇编工作区的根目录”挂载在“C盘”;即将“汇编工作区的根目录”当作“C盘”。
			2.3.4.3 实例:	mount    c  G:\assemblyWorkspaces\masm_dos
		
	2.4 将“asm_tools(masm/debug/link/...)”的内容复制到 G:\assemblyWorkspaces\masm_dos 位置;
	
	
	
	
	
3.使用dosbox汇编

	3.1 编写汇编文件,命名为test.asm,保存在 G:\assemblyWorkspaces\masm_dos\src 位置;
	
	3.2 启动dosbox;在dosbox内进行“汇编、链接、执行”等动作。
	
	3.3 汇编(dosbox): masm test
	
	3.4 链接(dosbox): link test
	
	3.5 执行(dosbox):  c:\> test

 

 

 

 

二、dosbox配置的实例

 

# This is the configuration file for DOSBox 0.74-3. (Please use the latest version of DOSBox)
# Lines starting with a # are comment lines and are ignored by DOSBox.
# They are used to (briefly) document the effect of each option.

[sdl]
#       fullscreen: Start dosbox directly in fullscreen. (Press ALT-Enter to go back)
#       fulldouble: Use double buffering in fullscreen. It can reduce screen flickering, but it can also result in a slow DOSBox.
#   fullresolution: What resolution to use for fullscreen: original, desktop or fixed size (e.g. 1024x768).
#                     Using your monitor's native resolution (desktop) with aspect=true might give the best results.
#                     If you end up with small window on a large screen, try an output different from surface.
#                     On Windows 10 with display scaling (Scale and layout) set to a value above 100%, it is recommended
#                     to use a lower full/windowresolution, in order to avoid window size problems.
# windowresolution: Scale the window to this size IF the output device supports hardware scaling.
#                     (output=surface does not!)
#           output: What video system to use for output.
#                   Possible values: surface, overlay, opengl, openglnb, ddraw.
#         autolock: Mouse will automatically lock, if you click on the screen. (Press CTRL-F10 to unlock)
#      sensitivity: Mouse sensitivity.
#      waitonerror: Wait before closing the console if dosbox has an error.
#         priority: Priority levels for dosbox. Second entry behind the comma is for when dosbox is not focused/minimized.
#                     pause is only valid for the second entry.
#                   Possible values: lowest, lower, normal, higher, highest, pause.
#       mapperfile: File used to load/save the key/event mappings from. Resetmapper only works with the defaul value.
#     usescancodes: Avoid usage of symkeys, might not work on all operating systems.

fullscreen=false
fulldouble=false
# fullresolution=original
# windowresolution=original
# output=surface

autolock=true
sensitivity=100
waitonerror=true
priority=higher,normal
mapperfile=mapper-0.74-3.map
usescancodes=true




# part1 -- config by david;  date:2023-01-07
fullresolution=1024x768
windowresolution=1024x768
output=opengl
hwscale=2.00






[dosbox]
# language: Select another language file.
#  machine: The type of machine DOSBox tries to emulate.
#           Possible values: hercules, cga, tandy, pcjr, ega, vgaonly, svga_s3, svga_et3000, svga_et4000, svga_paradise, vesa_nolfb, vesa_oldvbe.
# captures: Directory where things like wave, midi, screenshot get captured.
#  memsize: Amount of memory DOSBox has in megabytes.
#             This value is best left at its default to avoid problems with some games,
#             though few games might require a higher value.
#             There is generally no speed advantage when raising this value.

language=
machine=svga_s3
captures=capture
memsize=16

[render]
# frameskip: How many frames DOSBox skips before drawing one.
#    aspect: Do aspect correction, if your output method doesn't support scaling this can slow things down!
#    scaler: Scaler used to enlarge/enhance low resolution modes. If 'forced' is appended,
#              then the scaler will be used even if the result might not be desired.
#              To fit a scaler in the resolution used at full screen may require a border or side bars,
#              to fill the screen entirely, depending on your hardware, a different scaler/fullresolution might work.
#            Possible values: none, normal2x, normal3x, advmame2x, advmame3x, advinterp2x, advinterp3x, hq2x, hq3x, 2xsai, super2xsai, supereagle, tv2x, tv3x, rgb2x, rgb3x, scan2x, scan3x.

frameskip=0
aspect=false
scaler=normal2x

[cpu]
#      core: CPU Core used in emulation. auto will switch to dynamic if available and
#            appropriate.
#            Possible values: auto, dynamic, normal, simple.
#   cputype: CPU Type used in emulation. auto is the fastest choice.
#            Possible values: auto, 386, 386_slow, 486_slow, pentium_slow, 386_prefetch.
#    cycles: Amount of instructions DOSBox tries to emulate each millisecond.
#            Setting this value too high results in sound dropouts and lags.
#            Cycles can be set in 3 ways:
#              'auto'          tries to guess what a game needs.
#                              It usually works, but can fail for certain games.
#              'fixed #number' will set a fixed amount of cycles. This is what you usually
#                              need if 'auto' fails. (Example: fixed 4000).
#              'max'           will allocate as much cycles as your computer is able to
#                              handle.
#            Possible values: auto, fixed, max.
#   cycleup: Amount of cycles to decrease/increase with keycombos.(CTRL-F11/CTRL-F12)
# cycledown: Setting it lower than 100 will be a percentage.

core=auto
cputype=auto
cycles=auto
cycleup=10
cycledown=20

[mixer]
#   nosound: Enable silent mode, sound is still emulated though.
#      rate: Mixer sample rate, setting any device's rate higher than this will probably lower their sound quality.
#            Possible values: 44100, 48000, 32000, 22050, 16000, 11025, 8000, 49716.
# blocksize: Mixer block size, larger blocks might help sound stuttering but sound will also be more lagged.
#            Possible values: 1024, 2048, 4096, 8192, 512, 256.
# prebuffer: How many milliseconds of data to keep on top of the blocksize.

nosound=false
rate=44100
blocksize=1024
prebuffer=25

[midi]
#     mpu401: Type of MPU-401 to emulate.
#             Possible values: intelligent, uart, none.
# mididevice: Device that will receive the MIDI data from MPU-401.
#             Possible values: default, win32, alsa, oss, coreaudio, coremidi, none.
# midiconfig: Special configuration options for the device driver. This is usually the id of the device you want to use
#               (find the id with mixer/listmidi).
#               Or in the case of coreaudio, you can specify a soundfont here.
#               See the README/Manual for more details.

mpu401=intelligent
mididevice=default
midiconfig=

[sblaster]
#  sbtype: Type of Soundblaster to emulate. gb is Gameblaster.
#          Possible values: sb1, sb2, sbpro1, sbpro2, sb16, gb, none.
#  sbbase: The IO address of the soundblaster.
#          Possible values: 220, 240, 260, 280, 2a0, 2c0, 2e0, 300.
#     irq: The IRQ number of the soundblaster.
#          Possible values: 7, 5, 3, 9, 10, 11, 12.
#     dma: The DMA number of the soundblaster.
#          Possible values: 1, 5, 0, 3, 6, 7.
#    hdma: The High DMA number of the soundblaster.
#          Possible values: 1, 5, 0, 3, 6, 7.
# sbmixer: Allow the soundblaster mixer to modify the DOSBox mixer.
# oplmode: Type of OPL emulation. On 'auto' the mode is determined by sblaster type. All OPL modes are Adlib-compatible, except for 'cms'.
#          Possible values: auto, cms, opl2, dualopl2, opl3, none.
#  oplemu: Provider for the OPL emulation. compat might provide better quality (see oplrate as well).
#          Possible values: default, compat, fast.
# oplrate: Sample rate of OPL music emulation. Use 49716 for highest quality (set the mixer rate accordingly).
#          Possible values: 44100, 49716, 48000, 32000, 22050, 16000, 11025, 8000.

sbtype=sb16
sbbase=220
irq=7
dma=1
hdma=5
sbmixer=true
oplmode=auto
oplemu=default
oplrate=44100

[gus]
#      gus: Enable the Gravis Ultrasound emulation.
#  gusrate: Sample rate of Ultrasound emulation.
#           Possible values: 44100, 48000, 32000, 22050, 16000, 11025, 8000, 49716.
#  gusbase: The IO base address of the Gravis Ultrasound.
#           Possible values: 240, 220, 260, 280, 2a0, 2c0, 2e0, 300.
#   gusirq: The IRQ number of the Gravis Ultrasound.
#           Possible values: 5, 3, 7, 9, 10, 11, 12.
#   gusdma: The DMA channel of the Gravis Ultrasound.
#           Possible values: 3, 0, 1, 5, 6, 7.
# ultradir: Path to Ultrasound directory. In this directory
#           there should be a MIDI directory that contains
#           the patch files for GUS playback. Patch sets used
#           with Timidity should work fine.

gus=false
gusrate=44100
gusbase=240
gusirq=5
gusdma=3
ultradir=C:\ULTRASND

[speaker]
# pcspeaker: Enable PC-Speaker emulation.
#    pcrate: Sample rate of the PC-Speaker sound generation.
#            Possible values: 44100, 48000, 32000, 22050, 16000, 11025, 8000, 49716.
#     tandy: Enable Tandy Sound System emulation. For 'auto', emulation is present only if machine is set to 'tandy'.
#            Possible values: auto, on, off.
# tandyrate: Sample rate of the Tandy 3-Voice generation.
#            Possible values: 44100, 48000, 32000, 22050, 16000, 11025, 8000, 49716.
#    disney: Enable Disney Sound Source emulation. (Covox Voice Master and Speech Thing compatible).

pcspeaker=true
pcrate=44100
tandy=auto
tandyrate=44100
disney=true

[joystick]
# joysticktype: Type of joystick to emulate: auto (default), none,
#               2axis (supports two joysticks),
#               4axis (supports one joystick, first joystick used),
#               4axis_2 (supports one joystick, second joystick used),
#               fcs (Thrustmaster), ch (CH Flightstick).
#               none disables joystick emulation.
#               auto chooses emulation depending on real joystick(s).
#               (Remember to reset dosbox's mapperfile if you saved it earlier)
#               Possible values: auto, 2axis, 4axis, 4axis_2, fcs, ch, none.
#        timed: enable timed intervals for axis. Experiment with this option, if your joystick drifts (away).
#     autofire: continuously fires as long as you keep the button pressed.
#       swap34: swap the 3rd and the 4th axis. Can be useful for certain joysticks.
#   buttonwrap: enable button wrapping at the number of emulated buttons.

joysticktype=auto
timed=true
autofire=false
swap34=false
buttonwrap=false

[serial]
# serial1: set type of device connected to com port.
#          Can be disabled, dummy, modem, nullmodem, directserial.
#          Additional parameters must be in the same line in the form of
#          parameter:value. Parameter for all types is irq (optional).
#          for directserial: realport (required), rxdelay (optional).
#                           (realport:COM1 realport:ttyS0).
#          for modem: listenport (optional).
#          for nullmodem: server, rxdelay, txdelay, telnet, usedtr,
#                         transparent, port, inhsocket (all optional).
#          Example: serial1=modem listenport:5000
#          Possible values: dummy, disabled, modem, nullmodem, directserial.
# serial2: see serial1
#          Possible values: dummy, disabled, modem, nullmodem, directserial.
# serial3: see serial1
#          Possible values: dummy, disabled, modem, nullmodem, directserial.
# serial4: see serial1
#          Possible values: dummy, disabled, modem, nullmodem, directserial.

serial1=dummy
serial2=dummy
serial3=disabled
serial4=disabled

[dos]
#            xms: Enable XMS support.
#            ems: Enable EMS support.
#            umb: Enable UMB support.
# keyboardlayout: Language code of the keyboard layout (or none).

xms=true
ems=true
umb=true
keyboardlayout=auto

[ipx]
# ipx: Enable ipx over UDP/IP emulation.

ipx=false

[autoexec]
# Lines in this section will be run at startup.
# You can put your MOUNT lines here.



# part2 -- config by david;  date:2023-01-07
mount   c   G:\assemblyWorkspaces\masm_dos
c:
path=c:\;src;

 

 

 

 

三、asm_tools配置的实例

 

  1、asm_tools(win11):

 

  2、asm_tools(dosbox):

 

 

 

 

四、参考文档

 

  1、Ubuntu18.04/Linux下安装DosBox进行8086汇编:  https://www.codenong.com/cs105499537/

 

  2、在Ubuntu下使用Dosbox编译第一个汇编程序:  https://segmentfault.com/a/1190000043235868

 

标签:win,masm,Possible,values,emulation,auto,asm,dosbox
From: https://www.cnblogs.com/lnlidawei/p/17032950.html

相关文章

  • 1.6 SMU Winter 2023 Round #2 (Div.2)
    SMUWinter2023Round#2(Div.2)1760A-MediumNumber思路:排列后,输出第二大的数intmain(){intt,a[5];cin>>t;while(t--){for(inti=0;i......
  • openssl 静态编译 win7+vs2010
    本文写于2013年1月,此时距离win7停止延长支持已经3年整了。1.所以我准备了虚拟机Win7,win7的iso下载地址:注册一个微软账号登录到 《登录到我的订阅》 visualstudio.m......
  • win11右键菜单怎么回到win10旧版
    你好,我是悦创。win11系统的更新,相信很多家人们陆续换掉了win10,但win11的右键菜单犹如“过街老鼠人人喊打”,中看不中用,例如这样的:重命名等很多选项需要展开才能点击,顿时怀......
  • windows电脑上安装IntelliJ IDEA工具运行开源项目
    1工具下载官网下载地址:https://www.jetbrains.com/idea/download/#section=windows推荐大家使用社区版就行,这里下载这个工具的话,主要是为了后面在本地打开开源项目的源码并......
  • win终端利器-Cmder
    cmder官网:https://cmder.app/安装直接选择full版本下载,完成后解压即可启动直接双击Cmder.exe如果每次都进入到Cmder解压目录双击Cmder.exe打开的方式很麻烦,可以......
  • Windows中的页交换文件(paging file)
    在以前经常可以见到教大家调整虚拟内存的文章,因为那个时候的硬件配置还没有像现在这么好。 什么是虚拟内存:虚拟内存是计算机系统内存管理的一种技术。它使得应用程序认......
  • windows 11 wsl2 openeuler install openhpc
    hpc:openEulerHighPerformanceComputing(HPC)SIGhttps://gitee.com/openeuler/hpchpcrunner:openEulerHighPerformanceComputing(HPC)Runner,providesunive......
  • 使用python发送系统通知(适用于linux,windows等)
    使用pip安装:pip3installplyer使用方法:fromplyerimportnotificationnotification.notify(title="test", #标题message="aaaa", #内容app_ic......
  • Windows配置rsync
    背景Windows上配置了git,支持部分Linux命令,也存在不支持的Linux命令,比如rsync。我想要用rsync实现文件的同步,因此耗费了一个上午进行搜索和配置,把过程记录下,下......
  • 2023 winter training long round #2
    2023wintertraininglonground#2比赛后面写了一堆乐色。开场跟风写了A,B,L,然后看C,发现是简单dp。这时候看了D,是个字符串,先扔了(不会串题)E好像是个奇怪结论,......