首页 > 系统相关 >【汇编语言】实验1 查看CPU和内存,用机器指令和汇编指令编程

【汇编语言】实验1 查看CPU和内存,用机器指令和汇编指令编程

时间:2022-11-25 19:32:45浏览次数:41  
标签:汇编 查看 汇编语言 写入 命令 指令 内存 CPU 机器指令


【汇编语言】实验1 查看CPU和内存,用机器指令和汇编指令编程

文章目录

  • ​​【汇编语言】实验1 查看CPU和内存,用机器指令和汇编指令编程​​
  • ​​一、配置环境​​
  • ​​二、熟悉debug指令​​
  • ​​1 R指令查看改变CPU寄存器内容​​
  • ​​2 D指令查看具体内容​​
  • ​​3 E指令改写内存中内容​​
  • ​​4 U指令将内存单元中的内容翻译成汇编指令​​
  • ​​5 T执行命令​​
  • ​​6 A命令把汇编命令写入内存​​
  • ​​三、实验任务​​
  • ​​(1)将程序段写入内存并逐条执行​​
  • ​​(2)将下面三条指令写入2000:0开始的内存单元中,利用这3条指令计算2的8次方​​
  • ​​(3)查看主板上ROM的生产日期​​
  • ​​(4)向内存B8100H开始的单元中填写数据​​

一、配置环境

1 下载DOSBOX,下载DEBUG.EXE

2 打开DOSBOX

【汇编语言】实验1 查看CPU和内存,用机器指令和汇编指令编程_汇编语言

输入mount c path,把它挂起到debug.exe在的文件位置

【汇编语言】实验1 查看CPU和内存,用机器指令和汇编指令编程_汇编指令_02


3挂起成功后输入c:

4进入c后输入debug即可开始debug

【汇编语言】实验1 查看CPU和内存,用机器指令和汇编指令编程_地址空间_03

二、熟悉debug指令

指令

功能

R

R指令查看改变CPU寄存器内容

D

D指令查看具体内容

E

E指令改写内存中内容

U

U指令将内存单元中的内容翻译成汇编指令

T

T执行命令

A

A命令把汇编命令写入内存

【汇编语言】实验1 查看CPU和内存,用机器指令和汇编指令编程_地址空间_04

1 R指令查看改变CPU寄存器内容

查看-R

【汇编语言】实验1 查看CPU和内存,用机器指令和汇编指令编程_汇编语言_05


改变-R AX然后出现冒号提示输入

【汇编语言】实验1 查看CPU和内存,用机器指令和汇编指令编程_汇编语言_06

2 D指令查看具体内容

-D 段地址:偏移地址

【汇编语言】实验1 查看CPU和内存,用机器指令和汇编指令编程_汇编语言_07


查看某一范围命令

-D 段地址:起始偏移地址 结尾偏移地址

【汇编语言】实验1 查看CPU和内存,用机器指令和汇编指令编程_汇编指令_08

3 E指令改写内存中内容

【汇编语言】实验1 查看CPU和内存,用机器指令和汇编指令编程_地址空间_09


以提问方式逐个改写

【汇编语言】实验1 查看CPU和内存,用机器指令和汇编指令编程_汇编语言_10

【汇编语言】实验1 查看CPU和内存,用机器指令和汇编指令编程_汇编指令_11

4 U指令将内存单元中的内容翻译成汇编指令

【汇编语言】实验1 查看CPU和内存,用机器指令和汇编指令编程_地址空间_12


配合E我们可以把命令写入内存并用U查看

【汇编语言】实验1 查看CPU和内存,用机器指令和汇编指令编程_汇编指令_13

【汇编语言】实验1 查看CPU和内存,用机器指令和汇编指令编程_汇编语言_14

5 T执行命令

先用R指令把CS:IP调到1000:0

【汇编语言】实验1 查看CPU和内存,用机器指令和汇编指令编程_汇编指令_15


然后使用T执行指令

依次为

MOV AX,0001

MOV CX,0002

ADD AX,CX

【汇编语言】实验1 查看CPU和内存,用机器指令和汇编指令编程_地址空间_16

6 A命令把汇编命令写入内存

【汇编语言】实验1 查看CPU和内存,用机器指令和汇编指令编程_汇编指令_17

三、实验任务

【汇编语言】实验1 查看CPU和内存,用机器指令和汇编指令编程_地址空间_18

(1)将程序段写入内存并逐条执行

使用A指令输入汇编命令

【汇编语言】实验1 查看CPU和内存,用机器指令和汇编指令编程_汇编指令_19


D和U指令查看机器码和汇编命令

【汇编语言】实验1 查看CPU和内存,用机器指令和汇编指令编程_汇编语言_20


T指令依次执行

【汇编语言】实验1 查看CPU和内存,用机器指令和汇编指令编程_汇编指令_21


【汇编语言】实验1 查看CPU和内存,用机器指令和汇编指令编程_汇编指令_22


【汇编语言】实验1 查看CPU和内存,用机器指令和汇编指令编程_汇编指令_23


【汇编语言】实验1 查看CPU和内存,用机器指令和汇编指令编程_汇编语言_24

(2)将下面三条指令写入2000:0开始的内存单元中,利用这3条指令计算2的8次方

2^8=16=0010 H

mov ax,1
add ax,ax
jmp 2000:0003

A写入命令

【汇编语言】实验1 查看CPU和内存,用机器指令和汇编指令编程_汇编语言_25


U查看命令

【汇编语言】实验1 查看CPU和内存,用机器指令和汇编指令编程_地址空间_26


R调整CS:IP到2000:0

【汇编语言】实验1 查看CPU和内存,用机器指令和汇编指令编程_地址空间_27


T执行命令

【汇编语言】实验1 查看CPU和内存,用机器指令和汇编指令编程_汇编语言_28


【汇编语言】实验1 查看CPU和内存,用机器指令和汇编指令编程_汇编指令_29

(3)查看主板上ROM的生产日期

【汇编语言】实验1 查看CPU和内存,用机器指令和汇编指令编程_地址空间_30


【汇编语言】实验1 查看CPU和内存,用机器指令和汇编指令编程_地址空间_31


貌似无法改写

【汇编语言】实验1 查看CPU和内存,用机器指令和汇编指令编程_汇编指令_32


ROM只读存储器只能读没法直接改写

(4)向内存B8100H开始的单元中填写数据

【汇编语言】实验1 查看CPU和内存,用机器指令和汇编指令编程_汇编指令_33

【汇编语言】实验1 查看CPU和内存,用机器指令和汇编指令编程_汇编语言_34


可以发现改地址啊或者多次查看,都会变。这块区域是显存,你屏幕内容变了,那么这一块机器码也就变了。实验(3)(4)都可以参考一下这张图。

可以发现

00000~9FFFF为主存储器地址空间

A0000~BFFFF为显存地址空间

C0000~FFFFF为各类ROM地址空间

【汇编语言】实验1 查看CPU和内存,用机器指令和汇编指令编程_地址空间_35


标签:汇编,查看,汇编语言,写入,命令,指令,内存,CPU,机器指令
From: https://blog.51cto.com/u_15891800/5887554

相关文章

  • 【汇编语言】第3章 寄存器(内存访问)
    ​【汇编语言】第3章寄存器(内存访问)本文分为4个部分:书本知识点概览书本自带的小结书本习题解析个人小结文章目录​​【汇编语言】第3章寄存器(内存访问)​​​​知识点概览......
  • 【Linux】linux | top | java | jvm | 分析cpu占用过高 | 分析jvm堆栈信息
    一、说明        1、正式环境,cpu飙升,需要排查想原因        2、正式环境:CentOS8+jdk8+nginx+java服务二、过程1、查看cpu占用1)命令topc说明1:从高......
  • CPU的组成
    一种基本的LEGv8实现学校教材使用的是ARM版本的,所以自然是ARM相关的。接下来主要是要实现下面的指令。存储器访问指令(memory-referenceinstructionsloadregisteru......
  • Linux 基础-查看 cpu、内存和环境等信息
    Linux基础-查看cpu、内存和环境等信息在使用Linux系统的过程中,我们经常需要查看系统、资源、网络、进程、用户等方面的信息,查看这些信息的常用命令值得了解和熟悉。1......
  • cpumask、cpumask_t 和 cpumask_var_t
    1.实验代码#include<stdio.h>#include<stdlib.h>#include<string.h>#defineNR_CPUS32#defineBITS_PER_BYTE8#defineBITS_PER_TYPE(type)(siz......
  • 汇编语言-王爽-ss/sp-sp为什么是16
    stacksegmentdw00000000stackendsmovax,stackmovss,axmovsp,16,为什么是16因为栈操作是以字进行的,定义了8个字(dw),也就是16byte,movsp,16中的16是Byte即一个XXH,所......
  • cpu设计和实现(取指)
        cpu设计的本质是数字电路的设计。要是没有verilog、vhdl这些语言,那么剩下来使用的方法基本只有卡诺图这一种了。在数字电路中,有两种基本的电路,一种是逻辑电路,一......
  • nacos运行一段时间后CPU飙升问题处理
    如果你的nacos运行一段时间后CPU飙升问题,请首先看看它运行的jdk环境是不是1.8+版本的,nacos运行的官方jdk环境为jdk1.8+。如若jdk版本不对,请修改系统环境变量或者修改nacos......
  • ROS的Fasttrack,可以极大的减少ROS的CPU使用率已经带宽!特别注意:如果开启了 fasttrack,si
    原文http://t.zoukankan.com/itfat-p-12936850.htmlhttps://wiki.mikrotik.com/wiki/Manual:IP/Fasttrack特别注意:如果开启了fasttrack,simplequeue将失效。需要两条......
  • CPU体系(2):ARM Store Buffer
    本文主要翻译自ArmCortex-M7ProcessorTechnicalReferenceManualr1p2其中章节MemorySystem/L1caches/StoreBuffer。StoreBufferCache中的数据,在写入mem......