正在加载图片...
假设: DS)=2000H,(BX)=1256H,(SD)=528FH, 位移量=20AH,(232F7H)=3280H,(264E5H)=2450H 例9 J MP BX 则执行该指令后(P)=1256H 例10 JMP TABLE[BXJ 则执行该指令后P)=(16d×(D)十(BX)十位移量) =(20000+1256+20A1) =(232F7H) =3280H 例11 JMP BXIIS 则指令执行后(P)=(16d×(DS)十(BX)十(SI (200001256十528F =(264E5H) =2450H (三)段间直接转移 指令中直接提供了转向段地址和偏移地址,所以只要用指令中指定的偏移地址取代 IP寄存器的内容,用指令中指定的段地址取代CS寄存器的内容就完成了从一个段到另一个 段的转移操作,如下图所示。 IP寄存器 偏移地址 地址 CS寄存器 这种指令的汇编语言格式可表示为: JMP FAR PTR NEXTROUTINT 其中, NEXTROUTINT为转向的符号地址, PAR FAR则是表示段间转移的操作符。 (四)段间间接转移 用存储器中的二个相继字的内容来取代IP和CS寄存器中的原始内容以达到段间转 移约目的。这里存储单元的地址是由指令指定除立即数方式和寄存器方式以外的任何一种数 据寻址方式取得,如下图所示 存储器中的二个 相继字 指令 根据数裾寻址转向的偏移地址 数据寻址方式方式计算出EA 转向的段地址cs 这种指令的汇编语言格式可表示 JMP DWORD PTR[INTERS+BX 其中,[ INTERS+BⅪ]说明数据寻址方式为直接变址寻址方式, DWORD PTR为双字操作符 说明转向地址需要取双字为段间转移指令。假设: (DS)=2000H,(BX)=1256H,(SI)=528FH, 位移量=20A1H,(232F7H)=3280H,(264E5H)=2450H。 例 9 JMP BX 则执行该指令后(IP)=1256H 例 10 JMP TABLE[BX] 则执行该指令后(IP)=(16d×(D)十 (BX)十位移量) =(20000 十 1256 十 20A1) =(232F7H) =3280H 例 11 JMP [BX][SI] 则指令执行后(IP)=(16d×(DS)十(BX)十(SI)) =(20000 十 l256 十 528F) =(264E5H) =2450H (三)段间直接转移 指令中直接提供了转向段地址和偏移地址,所以只要用指令中指定的偏移地址取代 IP 寄存器的内容,用指令中指定的段地址取代 CS 寄存器的内容就完成了从一个段到另一个 段的转移操作,如下图所示。 这种指令的汇编语言格式可表示为: JMP FAR PTR NEXTROUTINT 其中,NEXTROUTINT 为转向的符号地址,PAR FAR 则是表示段间转移的操作符。 (四)段间间接转移 用存储器中的二个相继字的内容来取代 IP 和 CS 寄存器中的原始内容以达到段间转 移约目的。这里存储单元的地址是由指令指定除立即数方式和寄存器方式以外的任何一种数 据寻址方式取得,如下图所示。 这种指令的汇编语言格式可表示为: JMP DWORD PTR[INTERS+BX] 其中,[INTERS+BX]说明数据寻址方式为直接变址寻址方式,DWORD PTR 为双字操作符, 说明转向地址需要取双字为段间转移指令
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有