Emu8086 элементы больше среднего арифметического удалить - Assembler

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

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

data segment     
    mas1 dw 2, 4, 6, 8, 10
    mas2 dw 5 dup (?) 
    n dw 0 
    s dw 0
ends
 
stack segment
    dw   128  dup(0)
ends
 
code segment
start:
; set segment registers:
    mov ax, data
    mov ds, ax
    mov es, ax
    
xor ax, ax
xor si, si
mov cx, 5
@1:
add ax, mas1[si]
add si, 2
inc n
loop @1
cwd
idiv n
;--------------------
xor si,si 
mov cx, 5
@2:
cmp ax,mas1[si]
JGE @3
add dx,mas1[si] 
add mas2[si], dx
@3: 
add si, 2
loop @2  
    mov ax, 4c00h ; exit to operating system.
    int 21h
В чём мой косяк?

Решение задачи: «Emu8086 элементы больше среднего арифметического удалить»

textual
Листинг программы
; multi-segment executable file template.
 
data segment
dwTest      DW    55h
sdwtest     DW     0
ends  
edata SEGMENT 
ewTest      DW    0AAh
ENDS
 
stack segment
    dw   128  dup(0)
ends
 
code segment
start:
; set segment registers:
      MOV   AX, DATA
      MOV   DS, AX
      MOV   AX, EDATA
      MOV   ES, AX
      MOV   AX, 1111h
      LEA   DI, sdwtest
      MOV   SI, DI
      STOSW
      LODSW
 
            
 
    
    mov ax, 4c00h ; exit to operating system.
    int 21h    
ends
 
end start ; set entry point and stop the assembler.

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


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

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

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