Рубрики

8086 программа для нахождения среднего числа из n

Проблема — Напишите программу на ассемблере в микропроцессоре 8086, чтобы найти среднее из n восьмибитных чисел.

Пример —

Алгоритм —

  1. Присвойте значение 500 в СИ и 600 в DI
  2. Переместить содержимое [SI] в CL
  3. Переместить 0000 в AX
  4. Переместить содержимое CL в BL
  5. Увеличить значение СИ на 1
  6. Добавьте содержимое AL и [SI]
  7. Добавьте 00 к AH с предыдущим переносом
  8. Увеличить значение СИ на 1
  9. Уменьшает значение CL на 1
  10. Если нулевой флаг (ZF) не установлен, перейдите к шагу 6, иначе перейдите к шагу 11
  11. Разделите содержимое AX на BL
  12. Переместите содержимое AX в [DI]
  13. Остановить программу

Программа —

OFFSETMNEMONICSCOMMENT
400MOV SI, 500SI <- 500
403MOV DI, 600DI <- 600
406MOV AX, 0000AX = 0000
409MOV CL, [SI] CL <- [SI]40BMOV BL, CL BL <- CL40DINC SISI = SI + 140EADD AL, [SI]AL = AL + [SI]410ADC AH, 00AH = AH + 00 + cy412INC SISI = SI + 1413DEC CLCL = CL – 1415JNZ 40EJUMP if ZF = 0417DIV BLAX = AX / BL419MOV [DI], AX[DI] <- AX41BHLTStop

Пояснение —

  1. MOV SI, 500 используется для перемещения смещения 500 к начальному индексу (SI).
  2. MOV DI, 600 используется для перемещения смещения 600 к Индексу назначения (DI).
  3. MOV AX, 0000 используется для перемещения данных 0000 в AX.
  4. MOV CL, [SI] используется для перемещения содержимого [SI] в BL.
  5. MOV BL, CL используется для копирования содержимого CL в BL.
  6. INC SI используется для увеличения содержимого SI на 1.
  7. ADD AL, [SI] используется для добавления содержимого [SI] в AL.
  8. ADC AH, 00 используется для 00 вместе с предыдущим cy для AH.
  9. INC SI используется для увеличения содержимого SI на 1.
  10. DEC CL используется для уменьшения содержимого CL на 1.
  11. JNZ 40E используется для перехода к смещению 40E, если значение ZF = 0.
  12. DIV BL используется для умножения содержимого AX на BL.
  13. MOV [DI], AX используется для перемещения содержимого AX в [DI].
  14. HLT прекращает выполнение программы и останавливает любое дальнейшее выполнение.

Рекомендуемые посты:

8086 программа для нахождения среднего числа из n

0.00 (0%) 0 votes