Я вычисляю среднее значение 3 баллов:
g0 dw 70
g1 dw 100
g2 dw 65
с
xor rax, rax
xor rcx, rcx
mov ax, [g0]
inc rcx
add ax, [g1]
inc rcx
add ax, [g2]
inc rcx
xor rdx, rdx
idiv rcx
Оценки не должны быть словами, потому что байтов будет достаточно, как длясреднее, но сумма должна быть словом, чтобы избежать переполнения (то есть с этим алгоритмом).
Как я могу преобразовать оценки в байты?Использование db
недостаточно, потому что тогда мне придется изменить ax
на al
, но это приведет к переполнению в конце.Я не могу поручить mov/add
брать только байт из [g*]
, так как это приведет к несоответствию размеров операндов.
Я использую yasm.