汇编语言实验1 & macOS下DOSBox的安装
一、macOS下DOSBox的安装
1、在官网下载DOSBox-0.74.dmg
打开,此时默认z盘
一番折腾,终于搞定debug
然后为了不用每次都执行mount,遂更改配置文件自动挂在目录

再次打开DOSBox

已成功自动挂载。
至此,安装部分完成。
二、实验任务
1、使用debug工具将下方程序段填入内存并逐条执行,观察每条指令执行后cpu中相关寄存器中的内容变化。
①使用a命令将指令写入内存

②用t指令单步调试


③ 使用e命令将指令写入内存

使用t单步调试

2、将下面三条指令写入从2000:0开始的内存单元内,利用这三条指令计算2的8次方
mov ax ,1
add ax ,ax
jmp 2000:0003



3、
查看内存中内容
PC机主板上的ROM中写有一个生产日期,在内存FFF00H-FFFFFH的某几个单元中,请找到这个生产日期并试图修改它。
尝试修改后并未成功

4、向内存从B8100H开始的单元中填写数据,如:
-e B810:0000 01 01 02 02 03 03 04 04

实验总结
初步熟悉了debug命令,生产日期为只读属性无法更改,通过读显存的操作可以直接在屏幕上显示符号,早期游戏估计就是这么开发的
汇编语言实验1 & macOS下DOSBox的安装的更多相关文章
- MacOS下命令行安装神器brew
1.安装brew:/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/mast ...
- [macOS] macOS下,VirtualBox安装CentOS7.4, 搭建nginx, mysql, PHP5.6&PHP7.1
准备工作 网络设置 相关教程:http://www.jianshu.com/p/e6ba699b5992 ifcfg-enp0s3配置 TYPE=Ethernet BOOTPROTO=dhcp DEF ...
- MacOS下JDK8的安装与配置
微信搜索"艺术行者",关注并回复关键词"jdk8"获取安装包和API文档资料! 一.安装环节 1.打开网页 https://www.oracle.com/jav ...
- 实验七:Xen环境下cirrOS的安装配置
实验名称: Xen环境下cirrOS的安装配置 实验环境: 这里的cirrOS和实验六中的busybox的启动方式相同,唯一的区别就是我们使用的cirrOS镜像中,已经包含了根文件系统.内核文件以及r ...
- macOS下MySQL 8.0 安装与配置教程
一.前言 1.本教程主要内容 适用Homebrew安装MySQL MySQL 8.0 基础适用于配置 MySQL shell管理常用语法示例(用户.权限等) MySQL字符编码配置 MySQL远程访问 ...
- macOS下安装openCV+Xcode配置
macOS下安装openCV+Xcode配置打开终端 /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Hom ...
- 如何在macOS下安装geoserver
macOS 下的编译包 如果是使用安装文件,请查看官网文档,如果想要部署在已有的tomcat服务下,请查看网页压缩包章节. Web archive. An alternate way of insta ...
- MIT6.828课程JOS在macOS下的环境配置
本文将介绍如何在macOS下配置MIT6.828 JOS实验的环境. 写JOS之前,在网上搜寻JOS的开发环境,很多博客和文章都提到"不是32位linux就不好配置,会浪费大量时间在配置环境 ...
- MIT6.828准备:MacOS下搭建xv6和risc-v环境
本文介绍在MacOS下搭建Mit6.828/6.S081 fall2019实验环境的详细过程,包括riscv工具链.qemu和xv6,对于Linux系统同样可以参考. 介绍 只有了解底层原理才能写好上 ...
随机推荐
- 用python写栈
class StackFullError(Exception): pass class StackEmptyError(Exception): pass class Stack: def __init ...
- Spring中的资源加载
大家也都知道JDK的类加载器:BootStrap ClassLoader.ExtenSion ClassLoader.Application ClassLoader:也使用了双亲委派模型,主要是为了防 ...
- pthread_cond_wait虚假唤醒
pthread_cond_wait中的while()不仅仅在等待条件变量前检查条件cond_is_false是否成立,实际上在等待条件变量后也检查条件cond_is_false是否成立.在多线程等待的 ...
- String<-->int
String s = "123); int a = Integer.parseInt(s); String b = String.valueOf(a); Integer i = 100; 自 ...
- php伪造ip头
<? $fp = fsockopen ("passport.baidu.com", 80, $errno, $errstr, 30); if (!$fp) { echo &q ...
- Weekly Contest 119
第一题: 973. K Closest Points to Origin We have a list of points on the plane. Find the K closest poi ...
- 记华硕小主机装xp并给nokia e7-00 刷机
前言 事情是这样的,年前给早先收的小e买了触摸外屏.这会儿有空就给它换上了屏幕,然后尝试装app的时候,发现证书有问题. 根据以往使用n73的经验,然后就百度怎么破解证书. 然后我发现,这些东西网上资 ...
- kubernets 概念
理解 Kubernetes 对象 各种资源对象的理解和定义 Kubernetes 中 Pod 的选举过程
- JS getBoundingClientRect()
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- C# 简单粗暴写日志
public static void WriteLog(string text) { string path = AppDomain.CurrentDomain.BaseDirectory; path ...