zoukankan      html  css  js  c++  java
  • 汇编语言(王爽)学习记录_第四章

    第四章 第一个程序

    4.1 一个源程序从写出到执行的过程

    1.编写汇编语言(用编辑器进行汇编语言的编写)

    2.对源程序进行编译连接(对源程序进行编译,产生目标文件;再连接程序对目标文件进行连接,生产可执行文件)

    3.执行可执行文件中的程序(执行文件需要将机器码和数据载入内存,然后CPU执行)

    4.2 源程序

    例如源程序:assume cs:codesg

          codesg segment

              mov ax,0123H

              mov bx,0456H

              add ax,bx

              add ax,ax

              mov ax,4c00H

              int 21H

          codesg ends

          end

    1.伪指令

      汇编语言中的两种指令:伪指令,汇编指令。汇编指令有对应的机器码,伪指令没有对应机器码不被CPU执行而被编译器执行。

      A.××× segment·····×××ends是成对出现的伪指令,用来定义一个代码段。

      B.end(不是ends)是一个汇编程序结束的标志。

      C.assume(假设)功能:将指定用途的段和相关的段寄存器关联起来。比如上面的代码将cs和定义的代码段codesg联系起来。

    2.源程序中的“程序”

      这里的源程序指最终由计算机执行、处理的指令或数据(最后的二进制机器码)。

    3.标号

      标号例如上面的codesg就想名称一样。

    4.程序的结构

      1首先是定义段 abc segment ·····abc  ends,2在里面写汇编指令把·····换成汇编指令,3指出何处结束end,4用assume将段寄存器与abc联系起来。

    5程序的返回

      举例:一个p2程序要执行必须有一个正在执行的p1程序把p2加载入内存后,才能将CPU交给p2,p2随之运行,p2结束后返回控制权给p1这个返回过程就是:程序返回     最上面的例子中的mov     ax,4c00H  int 21H这两条指令实现的功能就是程序返回。

    6.语法错误和逻辑错误

    语法错误就是编译器发现的错误,运行的结果与预期的不同就是逻辑错误。

    4.3 编辑源程序

    这里开始就是动手实操了,我用的win10环境,看了很多博客在win10编写汇编语言都是用DOSBOX和MASM挂两篇博客汇编 之 win10 下安装dosbox 和 MASMWin10(64位)安装汇编环境(MASM) 按照两篇博客装教程很快可以入手实操!   注意:我按照两篇博客内容整下来在编译 连接时没问题但是不能运行.exe文件应该时不兼容问题,无赖只好又找到一款好用的工具代替用VSCode风格的编辑器写MASM汇编语言注意注意注意:(重要的说三篇还是去用DOSBOX和MASM了解熟悉编译连接这个过程在用这个集成环境)

    我用的notepad++编辑如图 

    4.4 编译

    4.5连接

    4.6 以简化的方式进行编译和连接

    4.7 运行

    上面4步在大佬博客里都有。

    4.8 谁将可执行文件中的程序装载进入内存并使用它运行?

    问题4.1:执行1.exe时是windows的cmd将1.exe加载到内存

    问题4.2:运行完后返回到cmd继续执行cmd

    4.9 程序执行过程的跟踪

    用大佬给的MASMACAU  debug打开(那个小黄鸭)

     程序在装入内存时会先装入psp,DOS用来和程序进行通讯。256字节即10H

     

    程序执行到 int 21 时需要在debug中用p命令

     实验3

    编写程序直接debug运行即可。

     

     

  • 相关阅读:
    jedis jedispool Redistemplate
    开箱一个docker
    JPA分页查询与条件分页查询
    基于token与基于服务器的身份认证
    uni-app第三方登陆-微信
    main.js中封装全局登录函数
    idea搭建可运行Servlet的Web项目[maven]
    什么是servlet?
    简单了解request与response
    颓废的三天
  • 原文地址:https://www.cnblogs.com/Te-mgl/p/14045053.html
Copyright © 2011-2022 走看看