Возникла проблема с командой ADD, или я что-то не понимаю. В отладчике DEBUG показывает:
-E CS:100 82
-R
AX=0000 BX=0000 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000
DS=13DB ES=13DB SS=13DB CS=13DB IP=0100 NV UP EI PL NZ NA PO NC
13DB:0100 820000 ADD BYTE PTR [BX+SI],00 DS:0000=CD
-E CS:100 80
-R
AX=0000 BX=0000 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000
DS=13DB ES=13DB SS=13DB CS=13DB IP=0100 NV UP EI PL NZ NA PO NC
13DB:0100 800000 ADD BYTE PTR [BX+SI],00 DS:0000=CD
Это глюк отладчика, или что-то не так?
Правда в отладчике mtdbg не успел проверить на наличие этой ошибки.
Подскажите в чём может быть проблема, в другом отладчике выдаёт вообще:
82 DB 82
Заранее благодарен.
Команда ADD, запутался в коде.
тебя интересует такая форма ADD:
100000sw:mod000r/m:i8
где
w = 0 => операнды размером в байт
mod = 0, r/m = 0 => [bx+si]
i8 = 0
для 820000 ADD BYTE PTR [BX+SI],00
s = 1 => операнд расширяеся до слова
комманда add word ptr [bx + si], 0
для 800000 ADD BYTE PTR [BX+SI],00
s = 0 => операнд не расширяеся
комманда add byte ptr [bx + si], 0
вроде так
100000sw:mod000r/m:i8
где
w = 0 => операнды размером в байт
mod = 0, r/m = 0 => [bx+si]
i8 = 0
для 820000 ADD BYTE PTR [BX+SI],00
s = 1 => операнд расширяеся до слова
комманда add word ptr [bx + si], 0
для 800000 ADD BYTE PTR [BX+SI],00
s = 0 => операнд не расширяеся
комманда add byte ptr [bx + si], 0
вроде так
Спасибо за подробное объяснение! Буду дальше разбираться!
Who is online
Users browsing this forum: No registered users and 45 guests