Прерывание по спецификации
Основная причина прерывания по доступу приведена в 3.4.2.
Прерывание по спецификации возникает, если для пары общих регистров, содержащих 64-разрядный операнд, указан номер нечетного регистра.
Если в десятичном данном, используемом командой, имеется неправильный код цифры, возникает прерывание по данным.
Логические команды, выполняющие сравнение и логические проверки, будут рассмотрены подробнее вместе с командами перехода, что даст более наглядное представление об их применении.
Первая команда MVC, используемая в программе, выполняет пересылку двух исходных байт во второй и третий байт области NOV.
Командой MVC можно переслать не более 256 байт. Если требуется переслать больше 256 байт, можно воспользоваться командой MVCL формата RR. В качестве каждого ее операнда используются два общих регистра с четным и нечетным номером, в команде указываются адреса четных регистров. Адреса полей для пересылки должны находиться в разрядах 8—31 четных регистров, а длины — в разрядах 8—31 нечетных регистров. В разряды 0—7 нечетного регистра второго операнда помещается символ-заполнитель. По команде MVCL второй операнд помещается на место первого, начинается пересылка с левого конца обоих полей и выполняется слева направо. Если второй операнд короче первого, то в оставшиеся байты первого операнда помещается символ-заполнитель.
Вторая команда MVC используется для пересылки нулей в пятый, шестой и седьмой байты области. На этой команде можно увидеть, что один символ можно записать по всей области, указав начало области первого операнда на один байт правее начала области второго операнда, потому что команда MVC выполняет пересылку не сразу всего поля, а по одному байту. Команды MVN и MVZ пересылают только часть байт: в первом случае младшие 4 разряда, во втором — 4 старшие разряда каждого байта. Таким образом, в четвертый и пятый байты области NOV командой MVN будут помещены младшие разряды исходных байт, а в пятый и шестой командой MVZ — старшие разряды этих байт. В результате в области NOV будет следующая информация: X’C1A1B20102A0B0FF’.