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

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

    1  mov ax,4E20H

    2  add ax,1416H

    3  mov bx,2000H

    4  add ax,bx

    5  mov bx,ax

    6  add ax,bx

    7  mov ax,001AH

    8  movbx,0026H

    9  add al,bl

    10   add ah,bl

    11   add bh,al

    12      mov ah,0

    13      add al,bl

    14    add al,9CH


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

    1  mov ax,1

    2  add ax,ax

    3  jmp 2000:0003    

    (-t单步执行16次,过程未录)

    3.查看日期并修改其值

    4.改变数据地址,观察其变化

    实验总结与体会

    • 初次调试时出现了“illegal command:debug”,原因是文件夹下没有debug.exe可执行文件。放置后一切正常运行。
    • debug中默认是16进制,在数据后标识进制反而会报错。
    • 在计算2^8时,发现第一二步执行需 2个t,执行第三步的t的时候实际上只是改变cs:ip的指向并没执行cs:ip指向内容的机器指令,后面的7个jmp 每个需要执行2个t才能执行add,所以一共需要执行16次t(过程没有录进去。)
    • 修改日期发现无法修改,后来在看其他同学博客的时候明白了是因为c0000-fffff为各位ROM地址空间(而生产日期就存在这篇区域内),ROM 即read-only memory,其特性就是只能读不能写。
    • 第四个实验产生图像的原因在查阅资料了解到,该段内存为显存。

     

  • 相关阅读:
    ftp服务器架设
    samba服务器架设
    apache安装
    yum及prm安装
    redis安装与使用
    memcached安装与使用
    mysql主从服务器
    nginx负载均衡服务器搭建
    lnmp环境搭建
    linux笔记
  • 原文地址:https://www.cnblogs.com/zakon/p/9744572.html
Copyright © 2011-2022 走看看