
Другие языки программирования и технологии
Как написать программу для assembler (ассемблер)?
Нужна программа на assembler EMU8086 с выводом на экран желательно, но или хотя бы просто вычислить y


С выводом на экран и даже с вводом с клавиатуры.
#make_exe#
include emu8086.inc
data segment
a dw ?
b dw ?
x dw ?
y dw ?
z dw ?
PromptN db 13, 10
Prompt1 db "Введите A: ", 0
Result db 13, 10, "Y = ", 0
WaitMsg db 13, 10, 10, "Для завершения работы нажмите любую клавишу... ", 0
ends
stack segment
dw 256 dup (?)
ends
code segment
N185415293:
mov bp, data
mov ds, bp
lea si, Prompt1
call print_string
call scan_num
mov a, cx
inc byte ptr Prompt1 + 8
lea si, PromptN
call print_string
call scan_num
mov b, cx
mov byte ptr Prompt1 + 8, 'X'
lea si, PromptN
call print_string
call scan_num
mov x, cx
lea si, Result
call print_string
mov cx, b
cmp cx, 10
jge Else
mov ax, a
cmp ax, 3
jle Else
imul ax
shl ax, 1
add ax, cx
add ax, cx
add ax, cx
dec ax
jmp Save
Else:
mov ax, x
shl ax, 1
inc ax
mov z, ax
imul ax
sub ax, z
sub ax, z
sub ax, 3
je Save
mov ax, z
js First
imul ax
dec ax
jmp Save
First:
add ax, 4
Save:
mov y, ax
call print_num
lea si, WaitMsg
call print_string
mov ax, 0C01h
int 21h
mov ax, 4c00h
int 21h
ends
DEFINE_SCAN_NUM
DEFINE_PRINT_STRING
DEFINE_PRINT_NUM
DEFINE_PRINT_NUM_UNS
end N185415293
#make_exe#
include emu8086.inc
data segment
a dw ?
b dw ?
x dw ?
y dw ?
z dw ?
PromptN db 13, 10
Prompt1 db "Введите A: ", 0
Result db 13, 10, "Y = ", 0
WaitMsg db 13, 10, 10, "Для завершения работы нажмите любую клавишу... ", 0
ends
stack segment
dw 256 dup (?)
ends
code segment
N185415293:
mov bp, data
mov ds, bp
lea si, Prompt1
call print_string
call scan_num
mov a, cx
inc byte ptr Prompt1 + 8
lea si, PromptN
call print_string
call scan_num
mov b, cx
mov byte ptr Prompt1 + 8, 'X'
lea si, PromptN
call print_string
call scan_num
mov x, cx
lea si, Result
call print_string
mov cx, b
cmp cx, 10
jge Else
mov ax, a
cmp ax, 3
jle Else
imul ax
shl ax, 1
add ax, cx
add ax, cx
add ax, cx
dec ax
jmp Save
Else:
mov ax, x
shl ax, 1
inc ax
mov z, ax
imul ax
sub ax, z
sub ax, z
sub ax, 3
je Save
mov ax, z
js First
imul ax
dec ax
jmp Save
First:
add ax, 4
Save:
mov y, ax
call print_num
lea si, WaitMsg
call print_string
mov ax, 0C01h
int 21h
mov ax, 4c00h
int 21h
ends
DEFINE_SCAN_NUM
DEFINE_PRINT_STRING
DEFINE_PRINT_NUM
DEFINE_PRINT_NUM_UNS
end N185415293
ну и ?
открываешь справочник по командам и вперед
открываешь справочник по командам и вперед
Алексей Еремеев
У меня не получается, пожалуйста помогите!
Похожие вопросы
- Помогите написать программу в Assembler НАЙТИ СУММУ ЦИФР 3-ЗНАЧНОГО ЧИСЛА И ПРОИЗВЕДЕНИЕ 4-ЗНАЧНОГО ЧИСЛА
- Помогите написать программу на ассемблере, завтра экзамен а я в нём совсем не шарю.
- помогите написать программы в ассемблере
- Люди, которые хоть немного разбираются в ассемблере, помогите написать программу)
- Нужно написать программа на ассемблере для функции СигнумХ . Как правильно это сделать?
- Помогите написать программу для процессора i8085 на assembler.
- Что лучше для новичка, что бы написать программу? 1.Visual Basic 2.Delphi 3.C++ 4.Assembler
- срочно помогите написать программу на ассемблере вычисляющую R. R=x2+y2, где x=a+b-c, y=b*c-a. a,b,c вводятся с клавы
- написать программу на ассемблере: найти (в строке) и вывести слово, у которого код первого символа наибольший
- помогите написать программу любой игры в ассемблере с блок-схемой. спасибо