LODSB Load String Byte Flags: not altered
LODSB transfers the byte pointed to by DS:SI into AL and increments or
decrements SI (depending on the state of the Direction Flag) to point
to the next byte of the string.
Operands Clocks Transfers Bytes Example
(repeat) 9+13/rep 1/rep 1 REP LODSB
Note: Although it is legal to repeat this instruction, it
is almost never done since doing so would
continually overwrite the value in AL.
The following example sends the eight bytes at INIT_PORT to port 250.
(Don't try this on your machine, unless you know what's hanging off
DB '$CMD0000' ;The string we want to send
CLD ;Move forward through string at INIT_PORT
LEA SI, INIT_PORT ;SI gets starting address of string
MOV CX, 8 ;CX is counter for LOOP instruction
AGAIN: LODSB ;Load a byte into AL...
OUT 250,AL ; ...and output it to the port.