汇编语言:SI、DI、BX、BP、SS、DS分别是什么?怎样根据这些求物理地址?

  1. 汇编语言 SI DI BX BP SS DS 是什么
    SI: 16位寄存器,源变址寄存器
    DI: 16为寄存器,目的变址寄存器
    BX: 16位寄存器(可分成2个8位寄存器BH,BL),数据基址寄存器
    BP: 16位寄存器,栈基址指针寄存器
    SS : 16位段寄存器,作用是存放当前堆栈段的段地址,一般和SP连用
    DS: 16为段寄存器,作用是存放当前数据段的段地址

  2. 怎样根据这些求物理地址
    上面的这几个寄存器跟求物理地址谈不上关系
    指令中出现BP作地址,则其段地址为SS,指令中出现IP作地址,则其段地址为CS,否则就为DS作段地址
    物理地址 = 段地址×16(基础地址) + 偏移地址 = CS*10H(基础地址)+ IP(偏移地址)
    CS: 16位段寄存器,存放当前代码段的段地址
    IP: 存放下一条要执行的指令的偏移地址

汇编语言比机器语言易于读写、易于调试和修改,同时也具有机器语言执行速度快,占内存空间少等优点,但在编写复杂程序时具有明显的局限性,汇编语言依赖于具体的机型,不能通用,也不能在不同机型之间移植。

你可能感兴趣的:(编程语言)