首页 > 编程语言 >实验2 用机器指令和汇编指令编程

实验2 用机器指令和汇编指令编程

时间:2022-08-21 16:11:07浏览次数:220  
标签:汇编 10 编程 mov 指令 寄存器 机器指令 ds 1000

1.关于D命令

  d命令的一种格式:”d 段寄存器:偏移地址“

    如:(1)-r ds
          :1000
          -d ds:0  ;查看从1000:0开始的内存区间中的内容

      (2)-r ds
          :1000
          -d ds:10 18  ;查看1000:10~1000:18中的内容

      (3)-d cs:0  ;查看当前代码段中的指令代码

      (4)-d ss:0  ;查看当前栈段中的内容

2.在E、A、U命令中使用段寄存器

  (1)-r ds
    :1000
    -e ds:0 11 22 33 44 55  ;在从1000:0开始的内存区间中写入数据

  (2)-u cs:0  ;以汇编指令的形式,显示当前代码段中的代码

  (3)-r ds
    :1000
    -a ds:0  ;以汇编指令的形式,向从1000:0开始的内存单元中写入指令

3.下一条指令被执行了吗?

  

 

 

 

  mov ss,ax的下一条应该是mov sp,10,但变成了mov ax,3123

  debug的T命令在执行修改寄存器SS的指令后,下一条指令也紧接着被执行

 

实验任务

  

 

 

  

  这两条指令执行后靠近栈顶的10个字节中值立即有了变化,是对定义栈段时部分运行环境变量进行暂存,靠近栈顶的10个字节中的暂存数据分别是SS、IP、 CS 等的值。

  因为在用T指令在进行调试时,会产生中断。而为了保护现场,CPU先把标志寄存器入栈,再把CS IP分别入栈。

 

标签:汇编,10,编程,mov,指令,寄存器,机器指令,ds,1000
From: https://www.cnblogs.com/cangshiqian/p/16610169.html

相关文章

  • 【Java面试】并发编程高频面试题,请你说一下你对Happens-Before的理解
    “请你说一下你对Happens-Before的理解”你听到这个问题的时候,知道怎么回答吗?大家好,我是Mic,一个工作了14年的Java程序员。并发编程是面试过程中重点考察的方向,能够考察......
  • ASP.Net Core异步编程
    ASP.NetCore异步编程概念什么是异步编程?异步编程是可以让程序并行运行的一种手段,其可以让程序中的一个工作单元与主应用程序线程分开独立运行,并且在工作单元运行结束后......
  • API 应用程序编程接口 (Unity)
    Unity5.6.0f31,如何查看APIHelp——> UnityManual——>ScriptingReference 模块化下载安装2,什么是事件函数MonoBehaviour继承自Behaviour继承自Compon......
  • Rust编程基础知识
    1.一般Rust源代码的后缀名是使用.rs表示。源码一定要注意使用utf-8编码。2.代码注释用//,一般用//注释单行,也就是行注释,块注释使用/*和*/包围。3.fn是一个关键字(keyword),......
  • PowerShell教程 - 编程结构(Program Struct)- 第一部分
    更新记录转载请注明出处。2022年8月21日发布。2022年8月18日从笔记迁移到博客。变量(Variables)变量说明Avariablemaybeofany.NETtypeorobjectinstance......
  • PowerShell教程 - 编程结构(Program Struct)- 第三部分
    更新记录转载请注明出处。2022年8月21日发布。2022年8月18日从笔记迁移到博客。预定义变量预定义的布尔值$True$False预定义变量预定义变量 描述(Descrip......
  • PowerShell教程 - 编程结构(Program Struct)- 第五部分
    更新记录转载请注明出处。2022年8月21日发布。2022年8月18日从笔记迁移到博客。枚举类型定义枚举类型(Defininganenumeration)简单的定义enumMyEnum{Zero......
  • PowerShell教程 - 编程结构(Program Struct)- 第四部分
    更新记录转载请注明出处。2022年8月21日发布。2022年8月18日从笔记迁移到博客。分支结构(Branching)if语句(ifStatement)if(条件){ #code}实例:$userInput=R......
  • X86汇编层面的方法调用。
    本文主要描述了X64下的汇编层面的方法调用。具体来说就是一个C语言的方法被另外一个方法调用,是如果在汇编语言X64的规范中实现的。1.假设有如下C语言文件"test.c"点击......
  • C语言指针与函数相关编程实例练习题
    指针也就是内存地址,指针变量是用来存放内存地址的变量,不同类型的指针变量所占用的存储单元长度是相同的,而存放数据的变量因数据的类型不同,所占用的存储空间长度也不同。本......