Хотя бы принцип, как это сделать.
Есть следуюющие команды:
shl (CF)
shr (CF)
and (ZF)
not
mov xx, 0
mov xx, 1
mov xx, 255
jc
jz
jmp
Используя эти команды требуется реализовать:
mov al, bl
mov ax, bx
cmp xx, yy (ZF, CF)
inc (CF)
dec (CF)
add (ZF, CF)
sub (ZF, CF)
or (ZF)
mul bl
div bl
call
ret
Во всем задании запрещается использовать стандартный стек, нужно создать собственный стек: две переменные - для адреса вершины стека и то, куда будут помещаться значения. В реализации остальных операций запрещается использовать переменные, можно только регистры ax, bx, cx dx и их старшие и младшие разряды.