zoukankan      html  css  js  c++  java
  • 第四章整理

    一、伪指令

    汇编语言源程序中包含两种指令,汇编指令(有机器码、由CPU执行)和伪指令(无机器码,由编译器执行)

    常见的伪指令

    1】XXX(段名,也称 标号) segment //说明一个段的开始

      ……

       XXX ends //说明一个段的结束,ends=end segment

    //定义一个段

    2】end 是一个汇编程序的结束标记,注意没有小尾巴S

    3】assume 表示“假设”,(也有用aume的),用assume cs:codesg(段名)将用作代码段的段codesg和CPU中的段寄存器cs联系起来(书上又说也不是非这么做不可,暂时没看到解释)

    二、程序返回

    是一个过程:一个程序结束后,将CPU的控制权交还给使它得以运行的程序

      mov ax,4c00/4ch

      int 21h

    这两条指令实现的功能就是程序返回,类似于C语言中的[return 0;]、[exit(0);]

    三、汇编源程序从编写到调试

    编辑(edit):用任意文本编辑器编写皆可,只要最终将其储存为纯文本文件即可。->XX.asm

    汇编(masm):编辑得到的XX.asm要注意与电脑上的编译器放到同一目录下,如果不是那么在输入源程序文件名的时候一定要指明XX.asm的所在路径。输入要编译的文件名后按Enter键,在当前目录下生成目标文件XX.obj(这个OBJ是我们要得到的最终结果)

    具体操作,在masm后加上被编译的源程序文件的路径、文件名,在命令行的结尾加分号,再按Enter键

    连接(Link):将XX.obj连接为XX.exe(若文件不是以obj为拓展名就要输入它的全名)

    具体操作,在link后面加上被编译的目标文件的路径、文件名,在命令行的结尾加分号,再按Enter键

    加载(command):设置CPU的CS;IP指向程序的第一条指令(也就是程序入口),使程序得以运行

    执行(CPU)具体操作,在提示符(形如 c:masm)后面输入可执行文件的名字,再按Enter即可

    调试(Debug)具体操作在提示符后面输入可执行文件的名字,并且注意加上拓展名,也就是debug XX.exe这个样子,再按Enter即可

    四、注意事项,关于CX,P命令的使用

  • 相关阅读:
    sqlmap从入门到精通-第七章-7-20 绕过WAF脚本-space2mssqlblank.py&space2mssqlhash.py
    Vulnhub-靶机-TOPPO: 1
    sqlmap从入门到精通-第七章-7-19 绕过WAF脚本-space2morecomment.py&space2morehash.py
    session.getdefaultinstance和getinstance的区别
    <load-on-startup>1</load-on-startup>的作用
    html表格按长度换行
    关于ORA-12154: TNS:could not resolve the connect identifier specified的问题
    Xilinux PS与PL交互::Linux-App读写REG
    Xilinux PS与PL交互:裸机程序读写FPGA-REG
    Xilinx ZYNQ-7000 平台简介
  • 原文地址:https://www.cnblogs.com/kori/p/9954631.html
Copyright © 2011-2022 走看看