Вычисление выражения по формуле. - Assembler (223322)

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

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

X=(–3A – 5B + 7C)/4- то что пытаюсь сделать
.model small    
 
    stack 100h      
 
    dataseg        
A   dw 1            
B   dw 3            
C   dw 2            
X   dw ?            
 
    codeseg         
start:                  
    startupcode     
    mov AX,A       
    imul AX,3      
    neg AX          
    mov BX,B       
    imul BX,5      
    neg BX         
    mov CX,C       
    imul CX,7       
    add AX,BX       
    add AX,CX      
    neg AX                   
    mov X,AX       
quit:                   
    exitcode 0      
 
    end start
пишет что в 15 18 и 21 строке ошибки

Решение задачи: «Вычисление выражения по формуле.»

textual
Листинг программы
.model small
 
    stack 100h
 
    dataseg
A   dw 1
B   dw 3
C   dw 2
X   dw ?
 
    codeseg
    .286
start:
    startupcode
    mov AX,A
    imul AX,3
    neg AX
    mov BX,B
    imul BX,5
    neg BX
    mov CX,C
    imul CX,7
    add AX,BX
    add AX,CX
    sar AX,2 ;ax:=ax/4
    mov X,AX
quit:
    exitcode 0
 
    end start

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

  1. Объявлены переменные A, B, C и X (dataseg)
  2. Заданы начальные значения переменных A, B и C равными 1, 3 и 2 соответственно (initialization of A, B and C)
  3. Переменная X инициализируется неизвестным значением (initialization of X)
  4. Код выполняется в режиме 286 (80286)
  5. При запуске программы выполняется startupcode
  6. Переменная A перемножается на 3 и затем результат вычитается (imul AX,3 и neg AX)
  7. Переменная B перемножается на 5 и затем результат вычитается (imul BX,5 и neg BX)
  8. Переменная C перемножается на 7 и затем результат вычитается (imul CX,7 и neg CX)
  9. Результаты операций с переменными A, B и C складываются (add AX,BX и add AX,CX)
  10. Результат вычитается на 2 (sar AX,2)
  11. Результат вычисления записывается в переменную X (mov X,AX)
  12. Программа завершается с кодом выхода 0 (exitcode 0)
  13. Завершающий блок кода (end start)

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


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

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

6   голосов , оценка 4 из 5