0

私が受講しているボカティナル クラスでは、次のようなサブルーチンを時間遅延として使用します。

      push ax
      push bx
      mov ax, 1000
B---> mov bx, FFFF
A---> nop
      dec bx
      jnz (A)
      dec ax
      jnz (B)
      pop bx
      pop ax
      ret

(1000) と (FFFF) は流動的な 16 進数の 4 桁の値です。

誰かがこのプログラムで何かを正確に計るのを手伝ってくれることを望んでいました. (例: 10 秒) 可能であれば、私のクラスと私が使用する方程式を含めてください。

4

1 に答える 1

0

このコードをタイミングに使用するには、ループ自体の期間を知る必要があります。これを行うには複数の方法があります。

  1. Software Developer Manualsを使用して、各命令のタイミングを調べてください。

  2. rdtsc命令を使用してクロック サイクルを測定する

どちらの場合も、CPU のクロック レートで割って時間を秒単位で取得する必要があります。

于 2014-11-05T14:51:06.973 に答える