Ss和ds是段地址寄存器。
由於8086cpu為16,其存儲容量可達1mb,即20位尋址空間,因此在編程時用兩個16位地址表示,即
段地址:偏移地址,與實際地址相關,即物理地址:
物理地址=段地址×16+偏移地址
對於上面的寄存器,當它作為地址使用時,根據不同的尋址方式有壹個默認的關系。只要bp在指令中被尋址,它的段地址就是ss,否則就是ds。當然也有段前綴,具體看實際情況。
例如:
mov
ax,[bx];它的物理地址= ds × 16+bx。
mov
ax,[BP];它的物理地址= SS × 16+BP。
mov
ax,[bx][si]
;其物理地址= DS × 16+(BX+Si)。
mov
ax,[BP][si];其物理地址= SS× 16+(BP+Si)。