原文 Assembler / なぜx86ではMBRが"0x7C00"にロードされるのか?(完全版)
感謝 descent 大大分享本文,隨便看隨便譯。本文不是逐句譯,同時也不是這方面的專家 (不管是語言或技術),用語不一或缺漏錯誤在所難免,歡迎自行 fork 修正指教
誰適合看本文?
對 x86 架構與組合語言有基礎認識,以及從 MBR 到載入 OS 這一段過程有興趣的人 (還有談到中斷向量或 INT xxx 時不會一臉茫然的人)
diff --git a/configure b/configure | |
index d6dc075..4f3e715 100755 | |
--- a/configure | |
+++ b/configure | |
@@ -233,7 +233,8 @@ if [ $USE_ANTHY = 'Y' ] || [ $USE_CHEWING = 'Y' ]; then | |
BUILD_MODULE='Y' | |
fi | |
-OPTFLAGS="-O" | |
+OPTFLAGS=${CFLAGS:--O} |
diff --git a/data/Makefile b/data/Makefile | |
index e6d5c79..adf5f58 100644 | |
--- a/data/Makefile | |
+++ b/data/Makefile | |
@@ -1,7 +1,7 @@ | |
include ../config.mak | |
SRC_DIR = ../src | |
-IM_CLIENT_DIR = ../src/im-client |
diff --git a/extprims.c b/extprims.c | |
index 2b7c438..1a1c532 100644 | |
--- a/extprims.c | |
+++ b/extprims.c | |
@@ -326,7 +326,7 @@ NEWPRIM(acceptconn) { | |
/* ( listen_sock -- connection_sock ) */ | |
struct sockaddr_in their_addr; | |
- int tp = sizeof(struct sockaddr_in); | |
+ socklen_t tp = sizeof(struct sockaddr_in); |
[Software\\Wine\\X11 Driver] 1240428288 | |
"ClientSideAntiAliasWithCore"="N" | |
"ClientSideAntiAliasWithRender"="N" | |
"ClientSideWithCore"="Y" | |
"ClientSideWithRender"="Y" | |
"DXGrab"="Y" | |
"UseXIM"="Y" |
;; | |
;; ( f -- ) _if <then_label> | |
;; do something | |
;; then_label: | |
;; | |
%macro _if 1 | |
cell _0branch | |
dd %1-%%_offset | |
%%_offset: | |
%endmacro |
#!/bin/sh | |
find $1 | sed -e 's/^.\///;s/\/$//;s/[^\/]\+\/\([^\/]\+\)$/ + \1/;s/[^\/]\+\// | /g' |
void vm_exec_xt(vm_t *vm, xt_t *xt) | |
{ | |
... | |
CODE(PLUS): | |
/* ( n1|u1 n2|u2 -- n3|u3 ) */ | |
ds->cells[ds->pos-2] += ds->cells[--ds->pos]; | |
ENDCODE; |
from dsl.scheme import * | |
(_define . foo | |
((1, 2, 3))) | |
(_define . bar | |
(lambda x: x + 4)) | |
(_display (1, 3)) |
%macro putchar 1 | |
mov ah, 0xe | |
int 0x10 | |
%endmacro | |
%macro getchar 1 | |
xor ax, ax | |
int 0x16 | |
mov ah, 0 | |
%endmacro |
原文 Assembler / なぜx86ではMBRが"0x7C00"にロードされるのか?(完全版)
感謝 descent 大大分享本文,隨便看隨便譯。本文不是逐句譯,同時也不是這方面的專家 (不管是語言或技術),用語不一或缺漏錯誤在所難免,歡迎自行 fork 修正指教
誰適合看本文?
對 x86 架構與組合語言有基礎認識,以及從 MBR 到載入 OS 這一段過程有興趣的人 (還有談到中斷向量或 INT xxx 時不會一臉茫然的人)