В одномерном массиве байтов нечетные элементы умножить на 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