В одномерном массиве байтов нечетные элементы умножить на 2, остальные на 3 - Assembler

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

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

Задание:В одномерном массиве байтов нечетные элементы умножить на 2,остальные на 3 компилятор выдает ошибку в строке переноса значения из ax в y[si] Вопрос:"можно ли сделать умножение по другому"
.586
 
.model flat,stdcall
 
extern ExitProcess@4:near
 
includelib c:\masm32\lib\user32.lib
includelib C:\masm32\lib\kernel32.lib
 
data segment
 
N EQU 9
Y DB 1,3,4,5,0,31,10,22,19
D DB 2 
 
data ends
 
text segment
start:
MOV SI,0
mov cx,n
 
   J1:MOV AL,Y[SI]
      MOV AH,0
      DIV D
      cmp ah,0
      jne j2
 
      add y[si],3
      jmp g1
 
     j2:mov al,y[si]
         mul d
         mov y[si],ax
 
     g1:inc si
 
  LOOP J1
 
push 0
call ExitProcess@4
text ends
end start

Решение задачи: «В одномерном массиве байтов нечетные элементы умножить на 2, остальные на 3»

textual
Листинг программы
shl y[si],1

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

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