欢迎来到天天文库
浏览记录
ID:55589600
大小:62.50 KB
页数:14页
时间:2020-05-19
《汇编语言第二版(王爽)知识总结.doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、汇编语言(第二版)知识总结第一章基础知识1.存储单元为1Byte,即字节。2.微小信息单位为1bit,其中1Byte=8bit。3.Cpu的寻址能力l对于地址总线来说,N根地址总线,寻址能力为2NB。l对于数据总线来说,N根地址总线,寻址能力为N/8B。4.8086cpu的PC机内存地址空间分配如图:00000主存储器地址空间(RAM)显存地址空间(RAM)各类ROM地址空间存储芯片从读写属性来看:RAMROM9FFFF(随机存储器)(只读存储器)A0000主板,网卡,显卡上的BIOS装在ROM中,不
2、能写入操作;BFFFF运算器(信息处理)C0000CPU控制器(控制各种器件工作)FFFFF寄存器(信息存储)第2章寄存器AX(accumulate),BX(base),CX(count),DX(data);SI,DI;5.8086CPU有14个寄存器(指针存储器)SP,BP,IP;(段存储器)CS,SS,DS,ES;(标志存储器)PSW;6.AX:AH(高八位)/AL(低八位)分别可以当做独立寄存器使用,且互不影响;FEDCBA98765432107.字的概念:一个字(word)是由两个字节(Byt
3、e)构成的,其中含有高位字节和低位字节;8.对于实验中溢出的数据,由PSW寄存器保存溢出值;9.以下错误指令是常出现的:movax,bl(不允许8位和16位寄存器之间传送数据)movbh,ax(同上)moval,20000(8位寄存器最大的存放值为255)moval,100H(不允许将高于8位的数据加到8位寄存器之中)10.8086CPU采用两个16位地址合成的方法来形成一个20位的物理地址,它有20位地址总线,达到1MB的寻址能力;11.8086CPU采用段地址和偏移地址,通过地址加法器来合成物理地
4、址物理地址=段地址x16+偏移地址(段的大小=偏移地址的长度)12.偏移地址16位,其变化范围为0—FFFFH;仅用偏移地址来寻址最多可寻64KB个内存单元;13.CPU将CS:IP指向的内容作为指令执行,读取一条指令后,IP值将自动增加,以便使CPU读下一条指令,机器码占几个字节,IP值加几;vCS:IP指向的内存单元读取指令,读取的指令进入指令缓存器;vIP=IP+所读取指令的长度,从而指向下一条指令;v执行指令,转到步骤一,重复执行此过程;14.改变CS:IP的指令:JMP指令,修改方式为“JM
5、P段地址:偏移地址”,如果仅想修改IP的值,修改方式为“JMP某一合法寄存器”,从而用寄存器的值修改IP。第3章寄存器(内存访问)15.字单元:存放一个字型数据(16位)的内存单元,由两个地址连续的内存单元,将起始地址为N的字单元简称为N地址字单元。020H4EH12H00HEg:0012H存放在2地址字单元1字单元124EH存放在1地址字单元23416.DS和【address】,分别表示段寄存器和内存单元的偏移地址17.Mov指令可以:(1)将数据直接送入寄存器(2)将一个寄存器的内容送到另一个寄存
6、器(8086CPU不支持数据直接入段寄存器)18.栈:LIFO(后进先出)8086CPU入栈(PUSH)和出栈(POP)以字为单位;19.SS:SP任意时刻始终指向栈顶元素,PUSHAX由下面两步构成:(1)SP=SP-2,SS:SP指向当前栈顶前面的单元,以当前栈顶前面的单元作为新的栈顶;(2)将AX中的内容送入SS:SP指向的内存单元处,SS:SP此时指向新栈顶;20.8086CPU入栈时,栈顶从高地址向低地址方向移动,栈为空的时候,SS:SP指向最底部的字单元的偏移地址+2;21.出栈后,SS:
7、SP指向新的栈顶,但之间栈顶的元素还在,只是不在栈中,在之后PUSH移动至此后,此数据将会被覆盖。22.以下操作均可执行(“”表示可互换):mov(段)寄存器寄存器add/sub寄存器数据/寄存器pop/push(段)寄存器mov内存单元(段)寄存器add/sub寄存器内存单元pop/push内存单元23.一个栈段最大为64KB,SP的变化范围为0—FFFFH,当10000H—1FFFFH时,SS=1000H,SP=0000H,(此时SP=SP+2z只能返回0000H处)第4章第一个程序24.一个汇编
8、程序由多个段组成,这些段分别用来存放代码,数据,后者当做栈空间,一个有意义的汇编程序中至少有一个段,这个段用来存放代码。格式:assume段寄存器:段名(划线处表示伪代码,由编译器执行)段名segment代码段movax,4c00H程序返回指令(与中断有关)Int21H段名ends(表示一个段结束)end(表示程序结束)16.加载过程(简略图)PSP程序备注:PSP:程序段前缀(0—255字节);程序地址改为SA+10H:0;SA:0SA:0程序入口为S
此文档下载收益归作者所有