2026-07-31
Selecting...
Home Page
reload
Search in this channel...
Punch card
Raw Text (irssi format)
Fork on github
switch to admin mode
Jump to...
redirecting...
Log for
Ubuntu 台灣社群
am 12:33:20
huang cf
am 12:33:32
huang cf
请问这里为什么要乘以16 求老司机给下答案
am 12:38:57
Alleen Wang
應該是移到高位
am 12:40:49
huang cf
为什么移
am 12:50:40
Alleen Wang
http://finalfrank.pixnet.net/blog/post/22992166-x86-cpu-%E6%9A%AB%E5%AD%98%E5%99%A8-register-%E5%A4%A7%E5%85%A8
am 12:50:56
Alleen Wang
http://finalfrank.pixnet.net/blog/post/22995822
am 12:51:00
huang cf
多谢我看看
am 12:51:12
Alleen Wang
其實網路都搜尋的到
am 12:51:55
huang cf
我新手
am 12:51:59
huang cf
群里问方便点
am 12:52:06
huang cf
怎么方便恩怎么来
am 12:52:17
huang cf
才是学习的最高境界
am 12:52:33
huang cf
老哥 这点你需要体会下
am 12:54:42
Alleen Wang
不太能體會,不過總之祝福你一切順利。
pm 03:24:35
自由車上自由人
這是當初 8086 CPU 上設計的定址方法,使用兩段欄位紀錄位址,一個稱為偏移位址,一個稱為區段位址;區段位址比偏移位址高 4bit,兩者相加後成為實際位址,所以記憶體每 16 bit 就可以從頭以零作為偏移位址起算。這樣設計為的是便於舊的八位元環境程式的移植(八位元 CPU 多半用 16 bit 欄位定址,可達 64K),同時可以讓舊定址方式
pm 03:27:40
自由車上自由人
4 bit 就是平移四個位元,數值要乘上 2 的 4 次方,也就是 16
pm 03:34:25
自由車上自由人
這篇有些東西錯了,請勿盡信。建議另找其他資料。
pm 03:36:52
Alleen Wang
嗯嗯~感謝
pm 07:23:55
huang cf
谢谢
pm 07:39:09
huang cf
舊
pm 07:39:16
huang cf
这是什么字
pm 07:39:19
huang cf
繁体看不懂
pm 07:39:22
huang cf
晕了
pm 07:41:04
Ying-Hao Liang
旧
pm 07:41:09
huang cf
谢谢
pm 07:43:03
huang cf
在帮下忙 看下 这个 欄
pm 07:43:06
huang cf
什么字
pm 07:57:10
フラン❤️️
裝個新同文堂啊
pm 08:39:01
huang cf
只是这两个i字装个软件
pm 08:39:06
huang cf
太费电了
pm 08:39:08
huang cf
算了
pm 08:39:29
huang cf
相加成实际位址
pm 08:40:19
huang cf
你给的这个说得感觉很牵强
pm 08:40:25
huang cf
有没有图片看下
pm 08:41:15
huang cf
明明说相加成实际地址
pm 08:41:22
huang cf
那干嘛还乘以16
pm 08:42:32
huang cf
没有说出主观目的
pm 08:42:39
huang cf
我百度下看有什么图
pm 08:44:10
huang cf
谁有汇编群拉我下 感激不尽
pm 08:50:35
自由車上自由人
pm 08:52:31
huang cf
我看看
pm 08:52:32
huang cf
多谢
pm 08:53:20
huang cf
有没有汇编群
pm 08:53:25
huang cf
拉我
pm 08:53:27
huang cf
老司机
pm 08:53:30
huang cf
感激不尽
pm 08:53:36
huang cf
😁
pm 09:03:15
自由車上自由人
pm 09:05:15
自由車上自由人
注意區段位址往左移了一位,等於乘以十六進位的 10,也就是十進位的 16
pm 09:16:56
自由車上自由人
由於這種設計比較特殊,8086 環境下要表示真實位址時,通常用 ABCD:1234 表示,冒號前是區段位址,冒號後是偏移位址。
pm 09:33:14
huang cf
我看看
pm 09:38:26
huang cf
pm 09:38:39
huang cf
pm 09:38:48
huang cf
也是 没说出真正原因
pm 09:38:53
huang cf
只是说要乘以16
pm 09:39:00
huang cf
没说为什么要乘以16
pm 09:39:07
huang cf
😳
pm 09:39:51
huang cf
没说到点上
pm 09:41:15
huang cf
谢谢你
pm 09:41:19
huang cf
😁
pm 09:45:11
自由車上自由人
這……就因為 8086 CPU 的電子線路,在計算實際位址時,真的會把區段位址左移 4 bit 再加上偏移位址。這就是他的電路設計,所以您在寫成事實,要依照他的設計計算,不然就沒法用在 8086 CPU 上面。
pm 09:45:46
huang cf
哦
pm 09:46:00
huang cf
反正他强制要求你 向左移一位对吧
pm 09:46:21
huang cf
随便吧 凑合用
pm 09:46:22
huang cf
多谢
pm 09:46:53
自由車上自由人
這個設計能夠縮減指令的長度,也方便移植當時常見的八位元程式
pm 09:47:26
huang cf
恩嗯嗯
pm 09:50:06
自由車上自由人
8086 的程式裡,需要進行記憶體存取時,指令碼通常只包含偏移位址,不指定區段位址,以減少長度。而這個偏移位址就跟當時常見的八位元 CPU 所用的定址方式一樣,都是 16 位元長度,所以也方便移植。
pm 09:52:24
自由車上自由人
沒有區段位址的情況下,預設(默認)使用某個區段暫存器裡的數值作為區段位址。所以只要先正確設定區段暫存器的數值,之後的指令碼就可以正確存取記憶體。
pm 09:56:00
自由車上自由人
另外,偏移位址有 16 bit 長,定址能力為 64K,習慣上會把能使用同一個區段位址的 64K 記憶體稱作「一個區段」。
pm 10:38:24
huang cf
好我看看
created by
mmis1000
and release under
MIT License
GitHub Repo