zoukankan      html  css  js  c++  java
  • 汇编语言实验五

    练习一:

    创建aaa.asm并输入指定代码段:

    汇编连接:

    debug运行并用R命令查看:

    反汇编:

    用G命令运行到mov ax,4c00之前:

    查看内存内容:

    ①程序返回前,data段的段地址为075A

    ②程序返回前,CS=076C,SS=0769,DS=075A

    ③程序加载后,code段的段地址为X,则data段的段地址为X-2,start段的段地址为X-1

     练习二:

     新建bbb.asm:

    汇编连接:

    用debug调试并用R查看:

    用G运行:

    用D查看内存段:

    ①程序返回前,data段地址内存为075A

    ②CS=076C,SS=0769,DS=075A

    ③程序加载后,设code段地址为X,data段地址为X-2,stack段地址为X-1

    练习三:

    新建ccc.asm:

    汇编连接

    用debug查看:

    ①程序返回前,data段地址内存为075A

    ②CS=076C,SS=0769,DS=075A

    ③程序加载后,设code段地址为X,data段地址为X-2,stack段地址为X-1

    练习四:

    分别将三个代码中最后一条伪指令end start改为end,分别进行调试:

    只有最后一个可以正确执行。

    练习三将代码段放在了栈段和数据段的前面,而前两个练习都是将代码段放在了最后一个,而end start是根据start的指令来执行的,第三个将代码段放在首位,所以可以执行。

    练习五:

    编写code代码,完整代码如下:

    汇编连接,用debug调试:

    R命令查看U命令反汇编G命令执行:

    D命令查看:

    练习六:

    编写程序如下:

    、汇编连接:

     运行后结果为

    实验总结:

    经过这次实验,能够熟练的应用debug中的一些基本指令,但是对于练习六中的栈操作还是不够熟悉,对于栈段代码段和数据段有了更清晰的认识。

  • 相关阅读:
    使用ngx_lua构建高并发应用(1)
    nginx+lua项目学习
    学习乱
    if---(switch-case)语句初步学习总结
    数据类型转换
    总结:C#变量,占位符等相关知识
    学习随笔
    开始我的.NET的学习旅程
    Python 网络爬虫 008 (编程) 通过ID索引号遍历目标网页里链接的所有网页
    Python 网络爬虫 007 (编程) 通过网站地图爬取目标站点的所有网页
  • 原文地址:https://www.cnblogs.com/cwycwycwy/p/10017438.html
Copyright © 2011-2022 走看看