資料集
ここはhideyosiの学習帳です。いろいろな資料を集めたり整理したりしています。オイラ用のノートなので間違っていたり未完成だったりしますので信用度は相当低いことをあらかじめご了承くださいませ。

番地(アドレス)の置き換え anchor.png Edit

16Bitモードと書きながらプロテクトモードでは自信が無いのですが。。。

基本的にアセンブラで番地を書く場合、たとえば「jmp 0x80」とか書くとするとそれは「jmp CS:0x80」に置き換えられている。

それで、CS*16より小さい番地にアクセスしたい場合などもあるでしょう。そういう時、DSレジスタを使う。

DSレジスタはCSと置き換えて書くことが出来る。

例をあげるなら「jmp DS:0x80」などと書けばいいだけ。

Page Top

セグメントレジスタ anchor.png Edit

セグメントレジスタは基本的に「ss:0x0fff」とかいった感じで「セグメントレジスタの番地:番地」といった使い方をする。

このとき、「ss:0x0fff」が実際何番地を指しているかというとこれは「ss*16+0x0fff」を指している。(リアルモードの場合)

要するに、「セグメントレジスタの番地:番地」=>「セグメントレジスタの番地*16+番地」を指すということ。

ついでに、「セグメントレジスタの番地:番地」を専門用語でいうと「セグメントアドレス:オフセット」という


Front page   Edit Freeze Diff Backup Upload Copy Rename Reload   New Page Page list Search Recent changes   Help   RSS of recent changes (RSS 1.0) RSS of recent changes (RSS 2.0) RSS of recent changes (RSS Atom)
Counter: 2795, today: 1, yesterday: 1
Last-modified: 2024-01-06 (Sat) 22:37:40 (JST) (338d) by