资源描述:
《汇编语言基础学习笔记》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、1.机器指令:0101010之类的二进制数。2.CUP把机器指令转换为高低电平驱动(控制)计算机部件运行。3.汇编语言包括:a)汇编指令(由翻译软件——编译器翻译成机器指令)b)伪指令(告诉翻译软件,汇编指令按什么步骤翻译)c)符号指令:+-*/(也由编译器执行)4.指令和数据都2进制形式存储在内存当中。5.寄存器中1(或2)个字节能存放的最大数是:a)16进制:FFh(或FFFFh)b)10进制:255(或65535)所以,movax,65536是错误的。但是,movax,65535addax,2//最后ax=0001h;本来应
2、该是10001h,第一个1为溢出位(ax寄存器放不下,但是不代表cpu就扔了,而是存放到其他地方去了)movah,FFaddah,2//同理,ah=01h;本来应该为101,但是第一位1,但ah寄存器放不下,所以存放到了其他地方。6.通用寄存器:ax,bx,cx,dx;它们都是16位寄存器,可以分成两个独立的8位寄存器,可以存放一个字型数据(word=2Byte)。短地址寄存器:cs,ds,es,ss偏移地址寄存器:bp,ip,sp,si,di,bx7.物理地址=短地址*10+偏移地址cpu将cs:ip所指向(组合成)的地址中的数
3、据当作指令!8.指令执行的过程:(1)cpu从si:ip所指向的内存地址中读取指令,并将这个指令存放到指令缓存器中。(2)将:ip=ip+所读指令的字节数(3)执行指令缓存器中的指令;回到步骤(1),重复这个过程。9.转移指令--jump(1)jump2000:1000//cs=2000;ip=1000;(2)jump寄存器//ip=寄存器(中的值)ps:不能用mov指令和数据直接修改cs或ip寄存器中的内容:movcs,2000;//错!movip,1000;//错!对cs而言,可以用mov指令间接的修改:movax,2000;
4、movcs,ax;10.汇编程序员,通过汇编指令修改寄存器中的内容来控制cpu,从而控制计算机。11.debug汇编指令调试工具(1)debug调试指令:(a)r命令:查看、修改cpu寄存器的内容。格式:-r//查看所有寄存器中的内容-r寄存器//只查看指定寄存器中的内容(b)d命令:查看内存中的内容。格式:-d//查看当前cs:ip所指向的内存及其后连续的79个内存单元中的内容-dcs:ip//查看设定的cs:ip所指向的内存及其后连续的79个内存单元中的内容-dcs:ipip//查看设定的cs:ip所指向的内存到后一个ip所指
5、向的内存。(c)e命令:修改内存中的内容。格式:ecs:ip//修设定的cs:ip内存中的内容。(d)u命令:将当前cs:ip所指向的内存及后续内存中的机器指令翻译成汇编指令,并显示出来。格式:-u-ucs:ip//将设定的cs:ip所指向的内存及后续内存中的机器指令翻译成汇编指令,并显示出来。(f)t命令:执行一条机器指令。格式:-t//执行cs:ip所指向内存中的指令(g)a命令:以汇编指令的格式在内存中写入一条机器指令。格式:-a//向当前cs:ip所指向的内存中写入。(h)p(pass)命令:当cs:ip指向循环体时,可以
6、用p命令一次性运算完循环(i)g(go)命令:-gip值//直接运算到cs:ip所指向的指令处。10.访问内存单元中数据的方法:ds:[偏移地址]11.内存中数据的长度由寄存器的长度决定。例如:a)movbx,2000b)movds,bxc)movds:[0],ax(或者al)//若是ax,那么存放数据时就占用2个字节;//若是al,就占用1个字节。d)movax,ds:[0]//因为ax是16位,所以将ds:[0]和ds:[1]这两个连续的内存单元中的内容存放到ax中。14.汇编指令总结:a)移动指令:i.mov寄存器,数据//
7、movax,1000hii.mov寄存器,寄存器//movax,bxiii.mov寄存器,内存单元//movax,ds:[1]内存单元长度由寄存器大小决定iv.mov内存单元,寄存器//movds:[0],axv.mov段寄存器,寄存器//movds,axi.mov寄存器,段寄存器//movax,dsb)运算指令:add指令:i.add寄存器,数据//addax,1ii.add寄存器,寄存器//addax,bxiii.add寄存器,内存单元//addax,ds:[0]iv.add内存单元,寄存器//addds:[0],axsub指
8、令:i.sub寄存器,数据//subax,1ii.sub寄存器,寄存器//subax,bxiiisub寄存器,内存单元//subax,ds:[0]iv.sub内存单元,寄存器//subds:[0],ax15.程序的执行入口——cs:ip所指向的内存