zoukankan      html  css  js  c++  java
  • 实验1 查看CPU和内存,用机器指令和汇编指令编程

    1.使用Debug,将下面的程序段写入内存,逐条执行,观察每条指令执行后CPU中相关寄存器中内容的变化。

       (1)用E命令修改从0:200开始的内存单元,写入机器码

        (2)用U命令查看内存中机器码的含义

       (3)CPU初始状态CS=073F,IP=0100,故先用R命令修改CS、IP中的内容

       (4)用T命令逐条执行



      

        (1)用A命令将汇编指令写入内存

          (2)用D命令查看内存中的机器码

          (3)用T命令逐条执行(如上)

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

        (1)用A命令将指令写入从2000:0开始的内存单元中

        (2)修改CS、IP的值,并用T命令单步执行

        (3)执行16次T命令,此时AX=0100

     3.查看内存中的内容。

    (1)用D命令查看内存中的生产日期,找到生产日期为01/01/92

     (2)用E命令尝试修改此日期,再用D命令查看,发现修改失败


     4.向内存从B8100H开始的单元中填写数据。

     

    改变填写的数据和填写的地址,发现一个图案是由两个内存单元控制的,前者控制样式,后者控制颜色。

    实验总结与体会

       •CPU向内存地址为C0000到FFFFF的内存中写入数据的操作是没有结果的,单元中的内容不会被改变,因为这等于改写只读存储器的内容。

       •在第一个任务需要修改CS、IP的值时,我一开始没有用R命令,而是用 JMP指令,结果报错了,我发现虽然JMP指令和R命令都能修改CS、IP的值,但它们使用的情况是不同的,这也加深了我对JMP指令的理解。

  • 相关阅读:
    NPOI导出excel表格应用
    通过用户密码获取共享文件
    sql之left join、right join、inner join的区别
    C#日志编写
    C#预编译指令
    匿名类型(C# 编程指南)
    反射
    SQL通用查询
    Lambda 表达式(C# 编程指南)
    自定义用户控件编写——(文件夹目录选择)
  • 原文地址:https://www.cnblogs.com/547hh/p/9853549.html
Copyright © 2011-2022 走看看