基址寄存器汇编程序员

分类:学点编程浏览量:1527发布于:2021-06-13 07:37:05

基址寄存器汇编程序员

位移量一般由立即数提供,可以使一个8位或16位的立即数.偏移量指的是偏移地址.位移量是偏移量的一个组成部分.为了表示偏移地址的方便和灵活,偏移地址可以由几部分构成.基址寄存器+变址寄存器可以理解为:基址寄存器中保存一个数组的起始地址,变址寄存器中保存某个数组元素与数组起始之间的相对偏移,加在一起,就是某个元素的偏移地址.

基址寄存器:寄存器BX称为基地址寄存器(Base Register),它可作为存储器指针来使用.变址寄存器:32位CPU有2个32位通用寄存器ESI和EDI.其低16位对应先前CPU中的SI和DI,对低16位数据的存取,不影响高16位的数据.寄存器ESI、EDI、SI和DI称为变址寄存器(Index Register),它们主要用于存放存储单元在段内的偏移量,用它们可实现多种存储器操作数的寻址方式,为以不同的地址形式访问存储单元提供方便.变址寄存器不可分割成8位寄存器.作为通用寄存器,也可存储算术逻辑运算的操作数和运算结果.它们可作一般的存储器指针使用.在字符串操作指令的执行过程中,对它们有特定的要求,而且还具有特殊的功能.

只有BP作为间址寄存器时,段寄存器才缺省使用SS.用BX, SI, DI这三个寄存器作为间址寄存器时,都缺省使用DS作为段寄存器.SP是不可以作为间址寄存器使用的.它

基址是存放在基址寄存器中的内容,为有效地址中基址部分.基址只能是BX和BP,其默认匹配的段寄存器分别是DS和SS. 变址是存放在变址寄存器中的内容,它通常用来访问数组中的某个元素或字符串中的字符.

(1)通用寄存器:8个,包括数据寄存器、地址指针寄存器、变址寄存器. 数据寄存器4个:AX BX CX DX,它们又可作为8个8位的寄存器使用,即AH BH CH DH AL BL CL DL AX称为累加器,I/O指令均使用该寄存器,访问外部硬件和接口. BX称为基址寄存器,在访问内存时用于存放基地址. 地址指针寄存器2个:SP BP SP称为堆栈指针寄存器,BP称为基址指针寄存器,在作数组和字符串运算时,用于存放内存的偏移地址. 变址寄存器2个:SI DI SI称为源变址寄存器,DI称为目的变址寄存器,用于数据块操作的内存寻址. 你还是找本汇编书慢慢的看 汇编要是入门了,很有意思

mov ax,[bx+si+6]就是一个包含相对基址变址寻址的指令就是指示内存的那个对象包含一个基址寄存器,一个偏移寄存器和一个立即数的寻址方式

暂时保管的意思, 需要时在出栈就OK了

bx是数据基址,bp是栈基址,不能联合使用.可以 MOV AX,ARRAY[BX][SI]

用 bx、sp 寄存器寻址 称为 基址寻址.(bx是数据段的基址寄存器,bp为栈段的基址寄存器) 用 si 或 di 寄存器寻址 称为源 或 目的 变址寻址.用 bx+si 或 bx+di 寄存器寻址 称为 基址+变址 寻址.mov ds:[si], al ----------这是源变址寻址

移位器 缓冲器 时标发生器 条件寄存器 乘法器 主存地址寄存器