
Сообщение от
fifan
Я всё писал в мнемонике Z80, но для совместимости с ВМ80 (эмулятор всё равно расширенные команды не пропускает - заточен под ВМ80). А приведённая подпрограмма учитывает перенос в старший разряд. Если и adc пойдёт, то напишите. Чуть подзабыл ассемблер, лет 7 со времен писания программ под Скорпион прошло...
Если по условию нужно сложить именно [HL] и [BC] как 16ти битную арифметику, то:
1. Не нужно сбрасывать 'C', т.к. первая команда сложения не учитывает этот флаг.
2. Корректировать старший байт нужно ДО второго сложения.
3. А значит, подпрограмма будет выглядить так:
Код:
PUSH PSW
MOV A,L
ADD C
MOV L,A
MOV A,H
ADC B
MOV H,A
POP PSW
RET
4. Но если вспомнить таблицу команд ВМ80, то можно просто сделать DAD B и всего делов...
PS Я предлагаю использовать TASM и в родных мнемониках ВМ80.