zoukankan      html  css  js  c++  java
  • 汇编的学习历程 -第一个程序

    一: 部分寄存器作用

    CS:IP

    任意时刻cpu将CS:IP指向的内容当做指令执行

    DS

    存放要访问数据的段地址

    SS:SP

    任意时刻,SS:SP指向栈顶元素

     

    二:第一个程序

      1:使用dos的edit编辑,现在看界面果然烂

      2:源程序分为两部分

         伪指令:由编译器所执行的指令

                 Ps:xxx segment

                     .....

                     xxx ends//成对使用的指令,定义了一段

                     

                    end//汇编程序结束的标记

                  

                     asume//假设某一段寄存器和程序的某一个用segment.....ends定义的段相关李娜

         汇编指令:有对应的机械码的指令,可以被编译为指令,最终为cpu为执行

      3:标号代表了一个地址,类似codesg,最终会在编译和连接中处理成一个段地址

      4:程序的返回:command将程序载入内存,再将CPU交个程序,程序运行完后,将权利返回command

             语法:mov ax,4c00h

                   Int 21h(别问我为啥,不知道啦) 

    二:编译,连接,调试

          工具:masmlinkdebug

           用法:

                 假设:已经有源程序文件 c: 1.asm

                 1:  输入:masm c: 1;

                     在当前路径下生成1t.obj,跳过生成的.lst,.crf,两个文件

                 2:输入:link t1;//不同代码可能还得连接其他文件

                     在当前路径生成 1.exe,忽略中间文件.map,.lib 的生成

               3:输入:debug t1.exe

                  注意路径,进入debug的程序之中,基本操作没有变,使用u可以查看所有的程序,t运行一个单句,运行到int 21时,使用p

  • 相关阅读:
    PIL PNG格式通道问题的解决方法
    opencv-python 学习初探2 去图片水印
    Appium、selenium与Robot Framework
    性能监控0
    XML
    Python3 读取和写入excel
    Python识别字符型图片验证码
    python进程、线程、协程
    算法和程序
    Zigbee
  • 原文地址:https://www.cnblogs.com/dilidingzhi/p/3947867.html
Copyright © 2011-2022 走看看