2

1.

%macro Descriptor 3
dw  %2 & 0FFFFh             
dw  %1 & 0FFFFh             
db  (%1 >> 16) & 0FFh           
dw  ((%2 >> 8) & 0F00h) | (%3 & 0F0FFh) 
db  (%1 >> 24) & 0FFh           
%endmacro ; 共 8 字节

コードの % の意味がわかりません

2.

DA_32       EQU 4000h
DA_C        EQU 98h
DA_DRW      EQU 92h

[SECTION .gdt]
LABEL_GDT:         Descriptor       0,                0, 0          
LABEL_DESC_CODE32: Descriptor       0, SegCode32Len - 1, DA_C + DA_32
LABEL_DESC_VIDEO:  Descriptor 0B8000h,           0ffffh, DA_DRW     


SelectorCode32      equ LABEL_DESC_CODE32   - LABEL_GDT
SelectorVideo       equ LABEL_DESC_VIDEO    - LABEL_GDT

SelectorVideo と SelectorCode32 の意味と構造は何ですか?

4

1 に答える 1

1

コード内の % の意味が理解できません

NASMマニュアルの答えは次のとおりです。

プリプロセッサ ディレクティブはすべて % 記号で始まります。

したがって、たとえば、%macroマクロ定義を開始していることをプリプロセッサに伝えます。


SelectorVideo と SelectorCode32 の意味と構造は何ですか?

SelectorCode32 equ LABEL_DESC_CODE32 - LABEL_GDT単純に (定数のような) 等式を作成し、 からLABEL_GDTまでの距離に等しい値を与えLABEL_DESC_CODE32ます。

于 2013-06-16T10:45:36.023 に答える