[B+B作基址寄存器,SI作变址寄存器 BX+D]BX作基址寄存器,D!作变址寄存器。 EA= F]+BP作基址寄存器,S作变址寄存器 EF]+DB作基址寄存器,D作变址帝存器。 【例3.6】 MOV AL,[BX+S(或 MOV AL,[BX[S叮) 若指令执行前,(DS)=1000H,(BX)=0010H, (sI)=0002H,(10012H)=45H 则有效地址EA=(BX)+(SI)=0012H, 实际地址PA=(DS)×10H+EA=10012H 指令执行后(AL)=45H。 BYCK
【例3.6】 MOV AL,[BX+SI](或MOV AL,[BX][SI]) 若指令执行前,(DS)=1000H,(BX)=0010H, (SI)=0002H,(10012H)=45H 则 有效地址EA=(BX)+(SI)=0012H, 实际地址PA=(DS)×10H+EA=10012H 指令执行后(AL)=45H
3.17相对基址变址寻址 把BX和BP看成是基址寄存器,把SID看成是变址寄存器 把一个基址寄存器(BX或BP)的内容加上一个变址寄存器( 或D)的内容,再加上指令中指定的8位或16位偏移量(当然要 以一个段寄存器作为地址基准)作为操作数的偏移地址,如图所 相对基址变址寻址德表示形式:ms3000 6[BxXI[S功 sI2000 操作码代吗段 或[Bx+6][SI BL2000 或[BxX+6+S叮 34000 其中:方括号[]有相加的含义MA0 数据段
3.1.7 相对基址变址寻址 把BX和BP看成是基址寄存器,把SI、DI看成是变址寄存器, 把一个基址寄存器(BX或BP)的内容加上一个变址寄存器(SI 或DI)的内容,再加上指令中指定的8位或16位偏移量(当然要 以一个段寄存器作为地址基准)作为操作数的偏移地址,如图所 示。 相对基址变址寻址德表示形式: 6[BX][SI] 或[BX+6][SI] 或[BX+6+SI] 其中:方括号[ ]有相加的含义
操作数在存储器中,其有效地址EA由(基址寄存器)+(变址 寄存器)+相对偏移量形成。 特点:同基址变址寻址方式,比基址变址寻址方式更灵活。 表3-1段寄存器使用的基本约定 访问存储器类型默认段寄存器可指定段寄存器段内偏移地址来源 取指令码 堆栈操作 无无 IP SP 串操作源地址 DS CS、ES、SS SI 串操作目的地址 无 DI BP用作基址寄存器 SS Cs、DS、ES 根据寻址方式求得 有效地址 般数据存取 CS、ES、SS 根据寻址方式求得 有效地址
操作数在存储器中,其有效地址EA由(基址寄存器)+(变址 寄存器)+相对偏移量形成。 特点:同基址变址寻址方式,比基址变址寻址方式更灵活。 表3-1 段寄存器使用的基本约定 访问存储器类型 默认段寄存器 可指定段寄存器 段内偏移地址来源 取指令码 CS 无 IP 堆栈操作 SS 无 SP 串操作源地址 DS CS、ES、SS SI 串操作目的地址 ES 无 DI BP用作基址寄存器 SS CS、DS、ES 根据寻址方式求得 有效地址 一般数据存取 DS CS、ES、SS 根据寻址方式求得 有效地址
注意: (1)隐含寻址:操作数隐含在指令中。 如:DAA,操作数隐含在AL中 (2)功o端口寻址 直擻/o端口寻址:指令中直接提供端口地址 如:INAL,60H 间擻/o端口寻址:指令中直接指出存放端口地址寄存器DS。 如: MOV DX,303H IN AL DX (3)一条指令中可以同时存在几种寻址方式。 如:MoV[BX],AL BUCK
注意: (1)隐含寻址:操作数隐含在指令中。 如:DA A,操作数隐含在AL中。 (2)I/O端口寻址 直接I/O端口寻址:指令中直接提供端口地址。 如:IN AL, 60H 间接I/O端口寻址:指令中直接指出存放端口地址寄存器DS。 如:MOV DX, 303H IN AL, DX (3)一条指令中可以同时存在几种寻址方式。 如:MOV [BX], AL
32指令的机器码表示方法(P65--P70) 阅读: 知识点:汇编语言、机器语言、汇编语言源程序、汇编的方法。 编码方法:了解掌握
3.2 指令的机器码表示方法(P65----P70) 阅读: 知识点:汇编语言、机器语言、汇编语言源程序、汇编的方法。 编码方法:了解掌握