data segment
MsgX db 13, 10, 'X = $'
MsgY db 32, 32, 32, 32, 'Y = $'
X db ?
Y dw ?
Buff db 6 dup (?)
MsgWait db 13, 10, 10, 'Для завершения работы нажмите любую клавишу… $'
ends
stack segment
dw 128 dup (?)
ends
code segment
N174855133:
mov ax, data
mov ds, ax
xor al, al
mov X, al
mov b.Buff+5, '$'
mov cx, 16
DoLoop:
mov dx, offset MsgX
mov ah, 9
int 21h
mov al, X
cbw
call print_num_uns
mov dx, offset MsgY
mov ah, 9
int 21h
mov al, X
mul al
mov bl, 12
mul bl
mov dx, ax
mov al, 9
mul b.X
sub dx, ax
inc dx
mov Y, dx
mov ax, dx
call print_num_uns
inc b.X
loop DoLoop
mov dx, offset MsgWait
mov ah, 9
int 21h
mov ah, 8
int 21h
mov ax, 4C00h
int 21h
ends
DEFINE_PRINT_NUM_UNS
end N174855133
Можете переделать код под ручной ввод в emu8086 и при диапазоне больше 16 выводило ошибку. Сделайте пожалуйста
Добрый день. Меня заинтересовал ваш ответ "В другую тему." на вопрос http://www.liveexpert.org/topic/view/1366200-assembler. Можно с вами обсудить этот ответ?