私は単純なプログラムを持っていて、それを読まなければなりませんPCI configuration space
(最初のPCIデバイスのためだけに)。しかし、それは機能しません。YASM:
18: warning: value doesnt fit in 8 bit fild
19: warning: value doesnt fit in 8 bit fild
コードは次のとおりです。
[use 32]
[org 0x7c00]
start:
mov ah, 0x3
int 0x10 ;clear screen
;forming the PCI address
push ax
or ah, 10000000b
xor al, al
or al, 00000001b
shl eax, 16
pop ax
xor al, al
xor ah, ah
push eax
out 0xcf8, eax
in eax, 0xcfc
mov edi, field
stosd
mov si, di
call print_str
ret
field:
print_str:
;print a string in si
mov ax, 0xb800
mov es, ax
xor di, di
mov cx, 128
rep movsw
ret
times 510 - ($ - $$) db 0
dw 0xaa55
ありがとう。
PS私はエミュレーションにBochsを使用し、アセンブラーとしてYASMを使用しています