LINUX.ORG.RU

Подскажите инструкцию для Intel x86


0

0

(предисловие) Здравствуйте. Я пишу виртуальную машину, в которой необходимо реализовать ряд команд (mov REG, REG; push REG; pop REG; load REG, MEM; store REG, MEM; jmp/jc/je/js IMM; add/sub/div/mul REG, REG; call IMM; ret и некоторые другие). Все регистры (R0..R7) являются 16-битными. Для упрощения процесса написания и тестирования ассемблера для этой виртуальной машины, я взял систему команд, совместимую с Intel x86. Проблема возникла лишь с инстукциями in REG и out REG -- они должны считывать или записывать слово из единственного внешнего (во внешнее) устройства. Регистр может быть любым, но в Intel x86 в аналогичной команде может быть использован лишь аккумулятор. Я пытался использовать для этих целей "ненужные" мне инструкции fild и fist, но они могут использовать лишь четыре регистра общего назначения, а мне нужно восемь.

(собственно, сам вопрос) Какие две инструкции Intel x86 имеют схожую область применения и один аргумент (который является 16-битным регистром общего назначения (AX..DX, SI, DI, BP, SP))? Размер инструкции в байтах должен быть не больше четырёх. Заранее спасибо.

★★★

Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.