Change bold code snippets to inline code blocks
This commit is contained in:
parent
f658bfbb40
commit
3c76d884ef
185 changed files with 1772 additions and 1772 deletions
16
03-09.md
16
03-09.md
|
|
@ -124,31 +124,31 @@ the result is 72,544 µs, or about 3.63 µs per load of AL from memory.
|
|||
This is just slightly longer than the time per load of AL measured by
|
||||
the precision Zen timer, as we would expect given that interrupts are
|
||||
left enabled by the long-period Zen timer. The extra fraction of a
|
||||
microsecond measured per **MOV** reflects the time required to execute
|
||||
microsecond measured per `MOV` reflects the time required to execute
|
||||
the BIOS code that handles the 18.2 timer interrupts that occur each
|
||||
second.
|
||||
|
||||
Note that the command can take as much as 10 minutes to finish on a slow
|
||||
PC if you are using MASM, with most of that time spent assembling
|
||||
Listing 3.8. Why? Because MASM is notoriously slow at assembling
|
||||
**REPT** blocks, and the block in Listing 3.8 is repeated 20,000 times.
|
||||
`REPT` blocks, and the block in Listing 3.8 is repeated 20,000 times.
|
||||
|
||||
### Using the Zen Timer from C {#Heading15}
|
||||
|
||||
The Zen timer can be used to measure code performance when programming
|
||||
in C—but not right out of the box. As presented earlier, the timer is
|
||||
designed to be called from assembly language; some relatively minor
|
||||
modifications are required before the **ZTimerOn** (start timer),
|
||||
**ZTimerOff** (stop timer), and **ZTimerReport** (display timing
|
||||
modifications are required before the `ZTimerOn` (start timer),
|
||||
`ZTimerOff` (stop timer), and `ZTimerReport` (display timing
|
||||
results) routines can be called from C. There are two separate cases to
|
||||
be dealt with here: small code model and large; I'll tackle the simpler
|
||||
one, the small code model, first.
|
||||
|
||||
Altering the Zen timer for linking to a small code model C program
|
||||
involves the following steps: **C** hange **ZTimerOn** to
|
||||
**\_ZTimerOn**, change **ZTimerOff** to **\_ZTimerOff**, change
|
||||
**ZTimerReport** to **\_ZTimerReport**, and change **Code** to
|
||||
**\_TEXT** . Figure 3.2 shows the line numbers and new states of all
|
||||
involves the following steps: `C` hange `ZTimerOn` to
|
||||
`_ZTimerOn`, change `ZTimerOff` to `_ZTimerOff`, change
|
||||
`ZTimerReport` to `_ZTimerReport`, and change `Code` to
|
||||
`_TEXT` . Figure 3.2 shows the line numbers and new states of all
|
||||
lines from Listing 3.1 that must be changed. These changes convert the
|
||||
code to use C-style external label names and the small model C code
|
||||
segment. (In C++, use the "C" specifier, as in
|
||||
|
|
|
|||
Loading…
Reference in a new issue