2

ディスクの最初のセクター(MBR)を読み取り、フロッピーディスクに書き込むか、少なくともデータを表示するために、アセンブリでプログラムを作成できる必要があります。INT 13hと25hはWindowsプロテクトモードでは機能しないことを理解しています。また、DOSでコードを試しましたが、プログラムを実行するとDOSシステムがハングします。これはコードです:

  MOV byte ptr es:[bx], offset result
  MOV     AL,1 ;number ofsectors to read
  MOV     Cl,1 
  MOV     ch,0  
  mov     dl,80h  ;the HDD
  mov     dh,1
  mov ah,02h
  INT     13h

結果はバッファ変数です。

前もって感謝します。

4

2 に答える 2

1

この行は間違っていると思います

MOV byte ptr es:[bx], offset result ' attempts to write memory [bx]

そのはず

MOV es, segment_offset ' probably not needed
MOV bx, buffer_offset
...

ESまた、例を復元する必要があるかもしれません

push es
mov  es, ...
...
pop  es
' done
于 2010-01-01T21:14:08.067 に答える
1

うん。それはついに働いた。これはコードです (INT 13h は Windows OS では実行できないため、DOS でのみ実行されます。

            mov dx,80h
        mov cx,1
        mov bx,ds
        mov es,bx
        mov bx,offset result
        mov ax,0201h
        int 13h     
于 2010-01-02T14:03:40.073 に答える