• 寄存器(内存访问)


    debug的使用可以在上部分的CPU原理查询:

    执行完程序之后查看对应的通用寄存器的值,观察是不是如程序所示的那样对应寄存器的地址发生改变。

     说明:如果第三行的代码是:mov ax,[0]  那么传给ax的就是1123,如果代码是mov al,[0]  那么传给ax的就是23,在这里主要是区分字节和字的区别,ax传输的字,al传输的是字节   中括号里面是偏移地址,包括字节和字两种形式

    问题3.3和3,4的操作步骤:

    先使用指令 e 1000:0 23 11 22 11 将对应的数据放进去内存d

    然后使用指令 r 查看ds:ip(段地址和偏移地址的位置,又叫做物理地址)的位置,本教程介绍的ds:ip是073f:100

    使用指令 a 073f:100可以进入写入指令的模式,然后输入上面的指令,可以修改对应的通用寄存器值

    最后使用 d 1000:0 4 可以查看该物理地址指向的内存里面的前五个值,可以发现对应的值的变化情况和之前没有使用指令之前的区别

    提示:在第三行代码中的11316使用问题的,因为debug中指令中默认的数值应该是16进制的数据,而此处的11316是十进制的数值,所以应该先将113156转换成16进制的2c34,再输入即可

    mov、add、sub指令的用法:

     

     

    写几条指令,累加前三个数据段中的前三个字型数据:

     小结:

    本人目前在学习python、前端、数据库和linux相关的内容,故打算写一些学习笔记,包括安装软件遇到的一些问题、编程语言的学习。 学习如逆水行舟,你在原地踏步的同时,别人一直在前进!
  • 相关阅读:
    <转>浅谈DNS体系结构:DNS系列之一
    SOA和NS区别
    《浅析各类DDoS攻击放大技术》
    《转》DNS放大攻击
    Linux创建公钥
    MATLAB 中有哪些命令,让人相见恨晚
    SQL中的declare用法
    SQl server 附加数据库失败如何解决
    VS中代码对齐等快捷键
    C#窗口控件Dock的位置顺序调整方法
  • 原文地址:https://www.cnblogs.com/souhaite/p/10849775.html
Copyright © 2020-2023  润新知