Рубрики

8086 программа для определения квадратов чисел в массиве из n чисел

Проблема — Напишите программу в микропроцессоре 8086, чтобы найти квадраты 8-битных n чисел, где размер «n» хранится со смещением 500, а числа сохраняются со смещения 501 и сохраняются результирующие числа во смещении 501 (в предположении квадратов). выходит в пределах 8 бит).

Пример —

Алгоритм —

  1. Сохраните 500 в SI и загрузите данные со смещения 500 в регистр CL и установите регистр CH в 00 (для подсчета).
  2. Увеличьте значение СИ на 1.
  3. Загрузите первое число (значение) из следующего смещения (т. Е. 501), чтобы зарегистрировать AL.
  4. Умножьте значение в регистре AL на себя.
  5. Сохранить результат (значение регистра AL) в смещении памяти SI.
  6. Увеличьте значение СИ на 1.
  7. Цикл выше 2, пока регистр CX не получит 0.

Программа —

MEMORY ADDRESSMNEMONICSCOMMENT
400MOV SI, 500SI<-500
403MOV CL, [SI]CL<-[SI]
405MOV CH, 00CH<-00
407INC SISI<-SI+1
408MOV AL, [SI]AL<-[SI]
40AMUL ALAX=AL*AL
40CMOV [SI], ALAL->[SI]
40EINC SISI<-SI+1
40FLOOP 408JUMP TO 408 IF CX!=0 and CX=CX-1
411HLTend

Пояснение —

  1. MOV SI, 500: установите значение SI на 500
  2. MOV CL, [SI]: загрузить данные из смещения SI в регистр CL
  3. MOV CH, 00: установить значение регистра CH на 00
  4. INC SI: увеличить значение SI на 1.
  5. MOV AL, [SI]: загрузить значение из смещения SI в регистр AL
  6. MUL AL: умножить значение регистра AL на AL.
  7. MOV [SI], AL: сохранить значение регистра AL по смещению SI.
  8. INC SI: увеличить значение SI на 1.
  9. LOOP 408: перейти к адресу 408, если CX не 0 и CX = CX-1.
  10. HLT: остановка

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

8086 программа для определения квадратов чисел в массиве из n чисел

0.00 (0%) 0 votes