Ассемблер - вопрос №1366200

#make_exe#
include emu8086.inc

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 выводило ошибку. Сделайте пожалуйста

Ответы

В другую тему.
07.07.15

Глеб Черняк

Читать ответы

Олег Николаевич

Читать ответы

Alexander

Читать ответы
Посмотреть всех экспертов из раздела Технологии > Компьют. безопасность
Пользуйтесь нашим приложением Доступно на Google Play Загрузите в App Store