zoukankan      html  css  js  c++  java
  • 汇编语言实验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清屏已熟练操作。对于任务三是有些生疏的,在书本上找到了解答。任务四老师在课堂上演示过,但自己试了一试之后,感觉明显记得更加清楚。纸上得来终觉浅,觉知此事要躬行。书本上的只是枯燥无味,但自己实验一下,会有不小的收获。

     

  • 相关阅读:
    开窗函数Over用法
    Linux文件搜索命令
    Linux更改文件或目录的所有者和所有组
    Linux权限管理
    不使用临时变量 交换两个变量值
    jQuery获取区间随机数
    jQuery对checkbox选中和取消选中操作
    MySQL优化
    MySQL中explain的用法
    MySQL中好用的GROUP_CONCAT函数
  • 原文地址:https://www.cnblogs.com/njxt/p/9845520.html
Copyright © 2011-2022 走看看