首页 > 代码库 > 汇编的学习历程 -第一个程序

汇编的学习历程 -第一个程序

一: 部分寄存器作用

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:\t1.asm

             1:  输入:masm c:\t1;

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

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

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

           3:输入:debug t1.exe

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

汇编的学习历程 -第一个程序