• 汇编语言实验1


    实验任务:

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

    方法一:用E命令将机器码写入内存,利用反汇编指令U可生成汇编指令。如下:

     

    汇编指令执行完之后,继续执行的指令是什么?

     方法二:直接用A命令将汇编指令写入。如下:

    之后就与上图的一样。

    注意:默认为16进制,在数字后面加h会报错。

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

    mov ax,1

    add  ax,ax

    jmp 2000:0003

    过程中注意:1. jmp指令会打错成jump。2.由于忘记是默认16进制,对之后出现的10,20,40......保持疑惑,连续试了几遍后才发现。

    (3)查看内存中的内容。

    PC主板上的ROM中写有一个生产日期,在内存FFF00H~FFFFFH的莫几个单元中,请找到这个生产日期并试图改变它。

    首先使用d命令查看:

     

    使用e命令修改:

    发现并没有什么用!!??

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

    -e B810:0000  01  01  02  02  03  03  04  04

    先填写不同数据,观察产生的现象;再改变填写的地址,观察产生的现象。

     

    为什么有的会变有的不会?

    但是好玩啊!

    总结与体会:

    其实一开始我是半蒙的状态,在舍友的帮助下成功解决了一些问题。首先是输入数据的时候不要加上h以免报错,此外q命令退出debug以及cls清屏已熟练操作。对于任务三是有些生疏的,在书本上找到了解答。任务四老师在课堂上演示过,但自己试了一试之后,感觉明显记得更加清楚。纸上得来终觉浅,觉知此事要躬行。书本上的只是枯燥无味,但自己实验一下,会有不小的收获。

     

  • 相关阅读:
    Android 中向本地保存图片的时候,不在图库显示
    shopfiy 二次开发之自定义 sections
    shopfiy 二次开发之条件判断
    Linux中为RabbitMQ调整文件句柄数和socket连接数
    python helium 安装使用
    python log 打印
    linux 查看服务器登录失败的ip和次数
    在阿里云WINDOWS机器上部署的JAVA SpringBoot 时不时的无效 。
    打开TLS 1.1和1.2而不影响其他协议
    美团供应链架构演进
  • 原文地址:https://www.cnblogs.com/njxt/p/9845520.html
Copyright © 2020-2023  润新知