Как переключить 1-й и 2-й, 3-й и 4-й элементы массива и т. Д. И вывести их в формате dec на языке ассемблера? - PullRequest
0 голосов
/ 19 октября 2019

Я новичок в ассемблере (MASM) и хочу взять массив слов и переключить 1-й и 2-й элементы, 3-й и 4-й и т. Д. Я знаю, как это сделать, но не могу понять,как положить EDI в 16-битный регистр. Наконец, как мне получить его, чтобы он выводил массив переключенных значений в десятичном формате? Это то, что я имею до сих пор.

TITLE ArrayCode
INCLUDE Irvine32.inc

 .DATA
    warray WORD 4,9,13,7,5,12,17,2,15,8 

 .CODE
 main PROC

 xor eax,eax
 xor ebx,ebx
 mov esi, OFFSET warray
 mov edi, [esi+2]
 mov ecx, 5

 L1:
 mov ax,[esi]
 ;Want to move edi into bx
 mov [esi+2],ax
 mov [esi],bx
 movzx eax,bx ;Can i use this to fill the 16 bit and move it into the eax, and then use writeDec?
 add esi, TYPE warray     
 loop L1

 ;Want to display array. Maybe another loop? 
 call writeDec

 call WaitMsg
 EXIT
 main ENDP
 end main
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...