
Другие языки программирования и технологии
Ассемблер. Помогите решить. Для выполнения в emu8086
Написать программу, используя операторы условного и безусловного переходов.


Для эмулятора проще писать, чем под MS DOS. С ним в комплекте идёт файл с макросами и подпрограммами ввода-вывода.
#make_exe#
include emu8086.inc
stack segment
dw 100h dup (?)
ends
data segment
a dw ?
b dw ?
y dw ?
PromptA db "Введите A: ", 0
PromptB db 13, 10, "Введите B: ", 0
ResultMsg db 13, 10, "Y = ", 0
WaitPrompt db 13, 10, 10, "Для завершения работы нажмите любую клавишу... ", 0
ends
code segment
N185004117:
mov cx, data
mov ds, cx
mov si, offset PromptA
call print_string
call scan_num
mov a, cx
mov si, offset PromptB
call print_string
call scan_num
mov b, cx
mov ax, a
imul cx
test ax, ax
js Second
jz Second
add ax, a
sub ax, b
jmp Save
Second:
mov cx, b
shl cx, 1
add ax, cx
Save:
mov y, ax
mov si, offset ResultMsg
call print_string
mov ax, y
call print_num
mov si, offset WaitPrompt
call print_string
mov ah, 1
int 21h
mov ax, 4c00h
int 21h
ends
DEFINE_SCAN_NUM
DEFINE_PRINT_STRING
DEFINE_PRINT_NUM
DEFINE_PRINT_NUM_UNS
end N185004117
#make_exe#
include emu8086.inc
stack segment
dw 100h dup (?)
ends
data segment
a dw ?
b dw ?
y dw ?
PromptA db "Введите A: ", 0
PromptB db 13, 10, "Введите B: ", 0
ResultMsg db 13, 10, "Y = ", 0
WaitPrompt db 13, 10, 10, "Для завершения работы нажмите любую клавишу... ", 0
ends
code segment
N185004117:
mov cx, data
mov ds, cx
mov si, offset PromptA
call print_string
call scan_num
mov a, cx
mov si, offset PromptB
call print_string
call scan_num
mov b, cx
mov ax, a
imul cx
test ax, ax
js Second
jz Second
add ax, a
sub ax, b
jmp Save
Second:
mov cx, b
shl cx, 1
add ax, cx
Save:
mov y, ax
mov si, offset ResultMsg
call print_string
mov ax, y
call print_num
mov si, offset WaitPrompt
call print_string
mov ah, 1
int 21h
mov ax, 4c00h
int 21h
ends
DEFINE_SCAN_NUM
DEFINE_PRINT_STRING
DEFINE_PRINT_NUM
DEFINE_PRINT_NUM_UNS
end N185004117
Я под эмулятор не писал, но под обычным досом тут дохрена делов. Сделать запрос на ввод a и b, конвертация строки в число (при чем может быть и конвертация в число с плавающей точкой) умножение, сложение и вычитание попроще. Потом конвертация числа в строку и вывод строки на экран. А код на планшетке я вам не напишу, сейчас комп сломался. Да и не стал бы возиться за бесплатно.
Ярослав Дихтиевский
И на этом спасибо. Здесь есть пример: https://otvet.mail.ru/question/184909265
Похожие вопросы
- Ассемблер. помогите решить!!!
- АССЕМБЛЕР ПОМОГИТЕ! Задали на учебе пример на автомат. Помогите умоляю. Программа emu8086.
- Помогите решить задачу на ассемблере!!!
- Помогите решить задачку (ассемблер-тасм)
- задача по ассемблеру.помогите!
- Кто знает ассемблер, помогите!
- Ассемблер! ! Помогите, пожалуйста с программированием.
- Люди, которые хоть немного разбираются в ассемблере, помогите написать программу)
- Программисты, знающие ассемблер, помогите.
- Ассемблер помогите написать программу..