baby sword‘s blog baby sword‘s blog
首页
  • java基础
  • java进阶
大数据
  • mysql

    • mysql索引
    • mysql日志
  • redis

    • 单机下的redis
    • 集群下的redis
  • Spring
  • springboot
  • RPC
  • netty
  • mybatis
  • maven
  • 消息队列
  • kafka
  • zookeeper
  • rocketmq
  • 七大设计原则
  • 创建型模式
  • 结构型模式
  • 行为型模式
  • SpringCloud

    • eureka
  • SpringCloud Alibaba

    • nacos
  • 计算机网络
  • 操作系统
  • 算法
  • 个人项目
  • 个人面试面经
  • 八股记忆
  • 工作积累
  • 逻辑题
  • 面试

    • 百度后端实习二面
GitHub (opens new window)

zhengjian

不敢承担失去的风险,是不可能抓住梦想的
首页
  • java基础
  • java进阶
大数据
  • mysql

    • mysql索引
    • mysql日志
  • redis

    • 单机下的redis
    • 集群下的redis
  • Spring
  • springboot
  • RPC
  • netty
  • mybatis
  • maven
  • 消息队列
  • kafka
  • zookeeper
  • rocketmq
  • 七大设计原则
  • 创建型模式
  • 结构型模式
  • 行为型模式
  • SpringCloud

    • eureka
  • SpringCloud Alibaba

    • nacos
  • 计算机网络
  • 操作系统
  • 算法
  • 个人项目
  • 个人面试面经
  • 八股记忆
  • 工作积累
  • 逻辑题
  • 面试

    • 百度后端实习二面
GitHub (opens new window)
  • 计算机网络

  • 操作系统

    • 如何在VM上创建一个linux虚拟机
    • linux命令解析
    • linux一些重要的命令
    • linux中的文件类型
    • linux中的交换区
    • linux中分区是什么
    • 环境变量
    • 银行家算法
    • 操作系统内存管理
    • 虚拟内存
    • 硬链接和软链接有什么区别
    • 常见的调度算法
    • 零拷贝技术
    • yum
    • systemctl
    • 汇编语言
    • 汇编语言实操
      • 下载软件
        • dosbox 0.74
        • masm 5.0
        • 安装
        • 软件初始化
        • 查看cpu和内存
    • 死锁
  • 算法

  • 计算机基础
  • 操作系统
xugaoyi
2023-08-22
目录

汇编语言实操

# 下载软件

# dosbox 0.74

DOSBox是一个开源的x86模拟器,旨在模拟IBM PC兼容计算机上运行的MS-DOS操作系统。它的名称" DOSBox" 意指" DOS(Disk Operating System)盒子",意味着它可以在现代计算机上运行旧的DOS程序和游戏。

在DOSBox中,你可以加载并运行旧的DOS应用程序和游戏,就像它们在原始硬件上运行一样。这对于那些想要重温旧时光,或者对早期计算机技术和软件开发感兴趣的人来说,是一个很有用的工具。它也被广泛用于游戏爱好者和研究人员,以便于在现代操作系统上玩一些经典的DOS游戏。

DOSBox不仅能够模拟硬件,还提供了一些配置选项,允许用户调整CPU速度、显卡和声卡设置,以更好地适应不同的应用程序和游戏。

总之,DOSBox是一个允许用户在现代计算机上模拟运行旧的DOS程序和游戏的工具,为保留和传承计算机历史提供了一个途径。

# masm 5.0

MASM是Microsoft Macro Assembler(微软宏汇编器)的缩写,是一种用于汇编语言程序开发的工具。它允许开发者编写和组装汇编语言代码,将其转换为机器码,以便在计算机上运行。

汇编语言是一种低级编程语言,与特定计算机架构的硬件密切相关。使用汇编语言,开发者可以直接控制计算机的底层操作,如内存管理、寄存器操作和指令执行。MASM作为微软开发的工具,旨在支持Intel x86架构的汇编语言开发,这是在大多数个人计算机上使用的架构。

MASM允许开发者使用汇编语言编写程序,然后将其汇编成机器码文件,这些文件可以在操作系统上运行。它在操作系统、嵌入式系统和低级编程方面有广泛的应用,尤其在需要最大程度地控制硬件的情况下。

总之,MASM是一种用于编写和汇编汇编语言程序的工具,使开发者能够直接操作计算机硬件并创建高度优化的代码。

# 安装

dosbox0.74+MASM5.0 (opens new window)

文件结构:

image-20230821092914614

首先点击dosbox无脑安装就行。

按照其中的安装文档进行安装

# 软件初始化

1、 运行DOSBox

双击桌面的DOSBox快捷方式

img

将MASM文件夹里的全部文件拷贝到一个目录下,比如L:\soft下,然后将这个目录挂着为DOSBox的一个盘符下,挂载命令为

Mount c L:\soft

img

切换到挂载的c盘

# 查看cpu和内存

image-20230821205930768

输入c:,在输入debug

image-20230821210200282

r查看寄存器的值

image-20230821210254101

r 寄存器通过交互的方式修改寄存器中的值

image-20230821210432318

d 段地址:偏移地址 展示是128个内存单元的数据

image-20230821212020286

image-20230821212207936

一行有16个

d 段地址:偏移地址 结尾偏移地址 范围查询

image-20230821212749231

右边的点时ASCII码,如果找不到对应的,就以点的形式存在

E更改内存中的内容

e 1000:0 1 2 3 4 5 表示在1000段地址0偏移量开始,输入几个数据,就更改几个数据

image-20230821213501026

e 1000:0通过交互的方式修改

image-20230821221539685

还可以通过直接改字符串的方式:

-e 段地址:偏移地址 字符串

image-20230821221937977

A以汇编指令的格式向内存中写入一条机器指令

a 1000:0进入交互

image-20230821222748092

通过a命令,我们在内存中存入了几条指令。

现在我们想想,要怎么样执行这些指令?

需要向cs和ip寄存器中填入执行。

image-20230821224129497

然后通过t就可以执行命令

image-20230821224200980

任务:

image-20230821225301780

编辑 (opens new window)
上次更新: 2024/02/22, 14:03:19
汇编语言
死锁

← 汇编语言 死锁→

最近更新
01
spark基础
02-22
02
mysql读写分离和分库分表
02-22
03
数据库迁移
02-22
更多文章>
Theme by Vdoing | Copyright © 2019-2024 Evan Xu | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式