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


#make_exe#
include emu8086.inc
data segment
a dw 43
b dw 195
y dw ?
Result db "Y = $"
WaitPrompt db 13, 10, 10, "Для завершения нажмите любую клавишу... $"
ends
stack segment
dw 128 dup (?)
ends
code segment
N184664362:
mov di, data
mov ds, di
lea dx, Result
mov ah, 9
int 21h
mov ax, a
cmp ax, 30
jle Sum_AB
mov dx, 35
imul dx
mov bx, ax
mov ax, b
mov dx, -17
imul dx
add ax, bx
jmp Save_Y
Sum_AB:
add ax, b
Save_Y:
mov y, ax
call print_num
lea dx, WaitPrompt
mov ah, 9
int 21h
mov ah, 8
int 21h
mov ax, 4c00h
int 21h
ends
DEFINE_PRINT_NUM
DEFINE_PRINT_NUM_UNS
end N184664362
include emu8086.inc
data segment
a dw 43
b dw 195
y dw ?
Result db "Y = $"
WaitPrompt db 13, 10, 10, "Для завершения нажмите любую клавишу... $"
ends
stack segment
dw 128 dup (?)
ends
code segment
N184664362:
mov di, data
mov ds, di
lea dx, Result
mov ah, 9
int 21h
mov ax, a
cmp ax, 30
jle Sum_AB
mov dx, 35
imul dx
mov bx, ax
mov ax, b
mov dx, -17
imul dx
add ax, bx
jmp Save_Y
Sum_AB:
add ax, b
Save_Y:
mov y, ax
call print_num
lea dx, WaitPrompt
mov ah, 9
int 21h
mov ah, 8
int 21h
mov ax, 4c00h
int 21h
ends
DEFINE_PRINT_NUM
DEFINE_PRINT_NUM_UNS
end N184664362
Николай Ефимов
Спасибо Вам большое, выручаете)
для цикла:
@@:
loop @B
для условия CMP
для умножения MUL/IMUL
сложение ADD
вычитание SUB
@@:
loop @B
для условия CMP
для умножения MUL/IMUL
сложение ADD
вычитание SUB
Николай Ефимов
Как она может выглядеть для эмулятора можно написать? Я к преподу пойду, всё равно разбирать как и что. Просто что бы у меня было уже с чем пойти.
kolasc.net.ru/cdo/programmes/assembler/
Ответ выслан по электронной почте....
Николай Ефимов
Я конечно воспользуюсь Вашим предложением там поискать, но сомнительно как то это ...
Похожие вопросы
- Вопрос по изучению языка Ассемблера под MS DOS. (Нужны советы по программному обеспечению/программированию)
- Сравнение языка Ассемблера и Си
- Почему разновидностей языка ассемблера так много?
- Вопрос про язык ассемблера
- Помогите с написанием программы на языке Ассемблер, алгоритм знаю, вот только команды самого языка - не очень.
- Как школьнику самостоятельно изучить язык Ассемблера?
- На что способен язык Ассемблер? И есть ли у него какие нибудь ограничение?
- Как реализовать рекурсию на языке ассемблера? (intel 80х86, masm, tasm или fasm)
- Вопрос из разряда компиляторов. На С++ написан код, генерирующий машинный код из команд на языке ассемблер.
- Скажите программирование на Языке ассемблера сложное? в сровнении с С++ ?