Составить программу для вычисления Y на языке Ассемблер - Assembler

Узнай цену своей работы

Формулировка задачи:

Составить программу для вычисления Y на языке Ассемблер. y=3+d*g-v+4m
model small 
include io.asm 
.stack  100h
.data
v db 4
d db 3
m db 1
g db 2
y dw ?
.code
start:
mov ax, @data
mov ds, ax
mov al,3
mov y,ax; y=3
mov al,d
mul g
mul d; ax=d*g
add y,ax;
mov al,4
mul m
sub y,ax
outint y
mov ax, 4C00h
int 21h
end start
Помогите пожалуйста, у меня не работает!

Решение задачи: «Составить программу для вычисления Y на языке Ассемблер»

textual
Листинг программы
model small
 
include io.asm
 
.stack 100h
 
.data
 
v db 4
 
d db 3
 
m db 1
 
g db 2
 
y dw ?
 
.code
 
start:
 
mov ax, @data
 
mov ds, ax
 
mov al,2
 
mul v
 
mov y,ax; y=2v
 
mov al,6
 
mul d; ax=6*d
 
add y,ax;
 
mov al,m
 
mul g
 
sub y,ax
 
add y,3
 
outint y
 
mov ax, 4C00h
 
int 21h
 
end start

Объяснение кода листинга программы

В этом коде на языке ассемблера небольшая программа, которая вычисляет значение переменной Y.

  1. Установка модели памяти на small
  2. Включение файла с определениями ввода-вывода (io.asm)
  3. Установка стека на 100 байтов
  4. Объявление переменных: v, d, m, g, y
  5. Код вычисляет значение y как 2v
  6. Затем код вычисляет значение ax как 6*d
  7. К y прибавляется значение ax
  8. Код вычисляет значение y как m*g
  9. Затем к y прибавляется 3
  10. Выводится значение y
  11. Код завершается, возвращая значение 4C00h в регистре eax, что означает завершение работы программы
  12. Это значение передается в функцию interrupt 21h, которая завершает работу программы.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

12   голосов , оценка 4.083 из 5
Похожие ответы