Рубрики

8086 программа для умножения двух 8-битных чисел

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

Примеры — Входные и выходные данные приведены в шестнадцатеричном представлении.

Алгоритм —

  1. Загрузить данные со смещения 500 в регистр AL (первое число)
  2. Загрузить данные со смещения 501 в регистр BL (второе число)
  3. Умножьте их (AX = AL * BL)
  4. Сохранить результат (содержимое регистра AX) по смещению 600
  5. Стоп

Программа —

MEMORY ADDRESSMNEMONICSCOMMENT
400MOV SI, 500SI=500
403MOV DI, 600DI=600
406MOV AL, [SI]AL<-[SI]
408INC SISI=SI+1
409MOV BL, [SI]BL<-[SI]
40BMUL BLAX=AL*BL
40DMOV [DI], AXAX->[DI]
40FHLTEND

Пояснение —

  1. MOV SI, 500 установить 500 на SI
  2. MOV DI, 600 установить 600 на DI
  3. MOV AL, [SI] загрузить содержимое смещения SI в регистр AL
  4. INC SI увеличивает значение SI на 1
  5. MOV BL, [SI] загрузить содержимое смещения SI в регистр BL
  6. MUL BL умножить содержимое регистра AL и BL
  7. MOV [DI], AX сохраняют результат (содержимое регистра AX) для смещения DI
  8. HLT End.

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

8086 программа для умножения двух 8-битных чисел

0.00 (0%) 0 votes