汇编语言第二章
1.通用寄存器 8086CPU的所有寄存器都是16位的,可以存放两个字节。 而AX,BX,CX,DX这四个寄存器被称为通用寄存器,并且这些寄存器都可以分为两个独立的八位寄存器来使用。(AH BH CH DH AL BL CL DL) 2.字在寄存器中的存储 一个字由两个字节组成,而一个字节由八个bit组成,所以由此可知字节通常放在八位寄存器中,字通常放在十六位寄存器中(这个字就可以分为高位字节和低位字节)。 3.几条汇编指令 mov 和add 例如mov ax,18 :就是将18送入寄存器ax中? ? ? ?mov ax,bx :将bx中的值送到寄存器ax中 ? ? ? ?add ax,8 :就是将寄存器ax中的值加上8? ? ?add ax,bx :将ax和bx中的值相加,然后存入寄存器ax中 (在这边不区别大小写) 此外,在进行数据传输时或运算时,要注意指令的两个对象的位数应当是一致的。 4.物理地址 CPU必须是一个内存单元的地址总线通过地址总线送入存储器的。 但是在此之前,必须在内部先形成物理地址。 不同的CPU可以有不同的形成物理地址的方式。 5.16位结构的CPU 特性:CPU一次性最多处理16位的数据; ? ? ? ? ? 寄存器的最大宽度为16位; ? ? ? ? ? 对于16位的CPU,能一次性处理.传输.暂时存储16位的地址。 6.8086CPU给出物理地址的方法 采用一种在内部用两个16位地址合成的方法来形成一个20位的物理地址: CPU中的相关部件提供两个16位的地址,一个为段地址,另一个为偏移地址; 然后这两个地址被送到一个叫地址加法器的部件; 地址加法器采用物理地址=段地址*16+偏移地址的方法将这两个16位地址合成一个20位的物理地址; 送到地址总线,最后传送到存储器。 7.“段地址*16+偏移地址=物理地址”的本质含义 CPU在访问内存时,用一个基础地址(段地址*16)和一个相对于基础地址的偏移地址的相加,给出内存单元的物理地址。 8.段 段是可以根据需要将地址连续,其实物理地址为16倍数的一组内存单元当作一个段使用。 9.cs和IP cs:代码段段寄存器,用于存放代码段的段地址; IP:指令指针寄存器,用于存放CPU将要读取的指令在代码段中的偏移地址 即:指令的物理地址=CS*16+IP.。 修改CS,IP的指令:jmp 形如jmp 段地址:偏移地址 而jmp ax,在含义上好似:mov IP,ax。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |