Оно и для других процессоров вполне цынично: Прибавляем к знаковому
байту АЦП 0х80 и отнимаем от регистра старшего байта результата сам этот регистр и дополнительно флаг переноса. :-) i8086:
MOV AH, AL ; в AL был знаковый байт с АЦП
ADD AH, 0x80
SBB AH, AH ; теперь в AH расширенный знак
И т.д.