вот пример (числа должны быть правильными (т. к не проверок), для обозначения 10, 11, ..., 15 должны использоваться A, B, ..., F)
| Код | ; FASM ; SI содержит адрес первой строки + ее длина - 1, DI содержит адрес второй строки + ее длина - 1 , BX содержит адрес строки-результата + ее длина - 1, CX - длина мЕньшей входной строки xor dx, dx @@: mov al, byte [si] call convert mov ah, al mov al, byte [di] call convert add al, ah add al, dl mov dl, al and al, 15 shr dl, 4 mov byte [bx], al dec si dec di dec bx dec cx jnz @B mov byte [bx], dl
convert: sub al, 30h cmp al, 9 jbe @F sub al, 7 @@: ret
|
|