DOSbox下汇编语言学习
DOSbox下汇编语言学习
文章目录
DOSBOX常用命令
dosbox 安装与预定义设置
常用软件如下
链接:https://pan.baidu.com/s/1WekM7823iTu9a8r1xSOQhQ
提取码:g0gz
软件目录
- Dosbox 软件
- Dosbox.exe
- SDL.all
- SDL_net.dll以上三个不可缺少
- dosbox.conf在这里预设置
- TASM汇编程序
- TASM.EXE汇编工具
- TLINK.EXE链接工具
- TD.EXE调试工具
- 其他程序文件
- MASM汇编程序
- MASM.EXE编译工具
- LINK.EXE 链接工具
- debug.exe 调试工具
- 其他程序
- 源代码编辑工具
- edit.com
- edit.hlp
- EDIT.INI
设置虚拟路径(压缩包中已写入)
在dosbox.conj中写入
[AUTOEXEC]
mount c d:\DOS\asm
c:
调整dos窗口大小(压缩包中已写入)
在dosbox.conj 中写入
[sdl]
fullscreen=false
fulldouble=false
fullresolution=original
windowresolution=1080x800
output=opengl
autolock=true
sensitivity=100
waittrue
priority=higher,normal
mapperfile=mapper-0.74.map
usescancodes=true
[render]
frameskip=0
aspect=false
scaler=normal2x
调整分辨率在上面代码中的windowresolution中调整
点击Dosbox.exe
就可以运行了,右键可以发送到桌面和固定到开始菜单
dosbox快捷键
这里是DOSBox v0.74-3 Manual提供的快捷键表格,鼠标总是停留在doxbox中时可以使用ctrl
+F10
,ctrl
+F10
和F11
调整cpu
ALT-ENTER | Switch to full screen and back. |
---|---|
ALT-PAUSE | Pause emulation (hit ALT-PAUSE again to continue). |
CTRL-F1 | Start the keymapper. |
CTRL-F4 | Change between mounted floppy/CD images. Update directory cache for all drives. |
CTRL-ALT-F5 | Start/Stop creating a movie of the screen. (avi video capturing) |
CTRL-F5 | Save a screenshot. (PNG format) |
CTRL-F6 | Start/Stop recording sound output to a wave file. |
CTRL-ALT-F7 | Start/Stop recording of OPL commands. (DRO format) |
CTRL-ALT-F8 | Start/Stop the recording of raw MIDI commands. |
CTRL-F7 | Decrease frameskip. |
CTRL-F8 | Increase frameskip. |
CTRL-F9 | Kill DOSBox. |
CTRL -``F10` |
Capture/Release the mouse. |
CTRL -``F11` |
Slow down emulation (Decrease DOSBox Cycles). |
CTRL -``F12` |
Speed up emulation (Increase DOSBox Cycles)1. |
ALT-F12 | Unlock speed (turbo button/fast forward)2 |
F11, ALT-F11 | (machine=cga) change tint in NTSC output modes3 |
F11 | (machine=hercules) cycle through amber, green, white colouring3 |
dos命令
每个指令加上/?
后可以查看对应的帮助信息,大部分程序也可以
z: #c:等切换盘符
cd ,, #返回父目录
TASM汇编语言使用
tasm/zi a1.asm #.asm可以省略,编译程序,不加参数可能无法调试
tlink/v/3 a1.obj #.obj 可以省略,链接程序,不加参数可能无法调试
td a1.exe #a1可以省略,调试程序
masm汇编工具使用
进入DOSBOX窗口,事先在NotePad++写好了汇编程序,接下来就调试运行它了
命令: | 功能 |
---|---|
masm name | 得到目标程序文件即obj文件 |
link name | 生成可执行文件即exe文件 |
name.exe | 运行该程序,有结果就输入, 若需要查看存储器和寄存器情况,就需要进行debug模式了 |
debug name.exe | 对指定程序进行debug |
debug | 不特定 |
根据不同的debug命令进行想要的操作
常用命令 debug模式下:
-g :执行完name.exe文件显示运行结果
-a :编写汇编命令
-t :单步执行
-p :直接执行完不是单步执行
-u :反编译
-r :查看修改寄存器的值
-d :查看内存单元
-e :修改内存单元
-? :查看指令帮助
最近使用的常用命令的详细说明:
-d:查看128个内存单元内容。
-d 段地址:偏移地址
查看指定地址128个内存单元的内容。
-d 段地址:偏移地址1 偏移地址2
查看指定地址1 到 指定地址2 内存单元的内容。
-d 段地址:偏移地址 位移量
查看指定地址开始的位移量个长度的内存单元内容
-t:ma
单步执行每条指令,每执行一条指令就显示寄存器内容和逻辑地址还有执行的指令。
指定地址1 到 指定地址2 内存单元的内容。
-d 段地址:偏移地址 位移量
查看指定地址开始的位移量个长度的内存单元内容
-t:ma
单步执行每条指令,每执行一条指令就显示寄存器内容和逻辑地址还有执行的指令。
-
Once you increase your DOSBox cycles beyond your computer CPU resources, it will produce the same effect as slowing down the emulation. This maximum will vary from computer to computer. ↩︎
-
You need free CPU resources for this (the more you have, the faster it goes), so it won’t work at all with cycles=max or a too high amount of fixed cycles. You have to keep the keys pressed for it to work! ↩︎
-
These keys won’t work if you saved a mapper file earlier with a different machine type. So either reassign them or reset the mapper. ↩︎ ↩︎
上一篇: Kotlin Android个人总结
下一篇: kotlin中“==”和“===”的区别
推荐阅读
-
PHP学习笔记 IIS7下安装配置php环境
-
Sqlite在window下的简单学习
-
Java学习:Java安装教程Windows环境下(多图预警)
-
理爱德小电脑将在众目睽睽下诞生 python学习机android孩子小电脑
-
理爱德小电脑将在众目睽睽下诞生 python学习机android孩子小电脑
-
[视频教程]PHP100视频教程12:学习制作PHPMYSQL留言板(下)
-
javascript - 正在学习后端开发,想找些常用的速查表,类似 “Laravel 5.1 LTS 速查表” ,不要图片,麻烦有资源的推荐下,谢谢
-
linux下是sdcard驱动学习
-
最近在学习swoole,有几个菜鸟问题询问一下
-
荣耀熊军民:本想好好研究学习一下 可惜没抢到友商手机