zoukankan      html  css  js  c++  java
  • 汇编语言入门(在debug中编辑和调试程序)

     

     

     分类:
     

            我们在Windows中进入的Dos方式,实际上是虚拟8086模式的Dos,方法是:点击“开始”,“运行”,输入"command",点击“确定”, 可以看到弹出一个黑色的框框,然后,在黑色的框框中输入相关信息,如图所示(提前说一句,汇编语言对大小写不敏感,而C语言对大小写敏感):

           下面来具体分析一下:

          1. debug是一个调试工具(虽然可以在debug中写程序,但真正要写汇编程序,很少在debug中写)

          2. r用于查询各寄存器的值

          3. a用来输入汇编指令

          4. t用来执行一条汇编指令

          5. 还有其他命令,如d, e等等,此处不做介绍,用的时候,查一下就Ok

          6.CPU执行的起点是CS:IP处

          7.debug中写程序时,mov ax, 1 中的1表示0001h, 验证如下:

            下面,我们再来看一个程序:

            下面简要分析一下:

           1. 栈为SS:SP, 即1000:0100

           2. push表示入栈

           3. pop表示出栈

           4. 根据栈的性质可知:ax和bx的值交换了

           还有一个问题需要解决:在上面的过程中,是用t命令来执行程序的,每次只能执行一条,那有没有什么命令可以将程序完全执行的呢?有!且看g命令的用法:

            对一些人来说,看不到程序,看不到操作,就看不到想看到的东西,弄懂上面几个小程序,对汇编语言就有了一个初步的认识了,别一开始就搞无边无际的理论。

           虽然基本操作和代码简单(容易被所谓的汇编语言大牛鄙视),但无疑,最简单的东西通常具有最大的单刀直入性。入门了,一切都不在话下。

  • 相关阅读:
    SQL Server 删除重复数据只保留一条
    英语冠词有哪些?
    英语基本语法
    统一身份认证服务(客户端用户身份验证)
    解决MVC中使用BundleConfig.RegisterBundles引用Css及js文件发布后丢失的问题
    统一身份认证服务 源码(客户端)
    MVC 如何设定默认默认路由为指定的Area下的某个action(笔记)
    MongoDB安装笔记
    消息队列第二篇:MessageQueue实战(课程订单)
    消息队列第一篇:MessageQueue介绍
  • 原文地址:https://www.cnblogs.com/java2016/p/5469447.html
Copyright © 2011-2022 走看看