有关汇编语言寻址方式中的问题

来源:百度知道 编辑:UC知道 时间:2024/06/30 23:54:47
我想说的是“寄存器相对寻址”和“基址变址寻址”这两种寻址,前一种是SI.DI.BX.BP做变址寄存器,所以计算PA时要段寄存器根据这里的变址寄存器确定;后一种计算PA时要的段寄存器是根据基址寄存器,而他也有变址寄存器,为什么要根据基址寄存器呢?

不是啊
寄存器的相对寻是基址或变址的寄存器的内容加上偏移量 计算PA时的段寄存器也是根据寄存器的类别是BX还是BP来判断,而不是你说的根据变址寄存器确定
后一种基址加变址寻,因为其中 必须是每种寄存器中有一个,而段寄存器的确定只是BX和BP的区别 所以就是你说的“根据”基址寄存器来确定
其实不需要这么麻烦 你只要知道是BX还是BP就可以知道是SS还是DS了,根本就没有“根据寄存器是基址还是变址来判断”这么一说

记得这个就行了
[reg_base + reg_index * s + imm_offset] reg 寄存器, s 倍率, imm 常数地址, reg_base 基址, reg_index 索引, imm_offset 偏移

reg_base reg_index s和imm_offset这几个部分没有谁都可以,从而产生了各种寻址方式。起那些名字纯属蛋疼。