我正在处理汇编语言作业,不理解如何解决这些问题。对于第一个,我理解在某个时候我将需要给出Align 2指令以将myBytes强制为偶数地址,但是不确定如何具体编写该指令。对于其他,我不确定如何移动标识符的某些字节而不移动所有字节。任何帮助将不胜感激。
。datamyBytes BYTE 10h,20h,30h,40hmyWords WORD 3 DUP(?),2000hmyString BYTE“ ABCDE”
在给定数据中写一条指令,该指令将myBytes对齐到偶数地址。
编写一条指令,将myBytes中的前两个字节移到DX寄存器。结果值为2010h。
写一条指令,将myWords中的第二个字节移到AL寄存器。
写一条指令,将myBytes中的所有四个字节移至EAX寄存器。
这是到目前为止我要提出的内容:
1. ALIGN myBytes 2 ???
2. mov dx, ?????
3. mov al, [myWords+1]
4. mov eax, [myBytes]
嗯,我有一个模糊的主意,但我真的不知道自己是否走对了。
是的,您在正确的轨道上。
1. ALIGN myBytes 2 ??? <<-- correct
2. mov dx, ????? <-- what's difficult, you've got the rest correct.
3. mov al, [myWords+1] <-- correct
4. mov eax, [myBytes] <-- correct
为了分解数字2,请记住x86是小端处理器,请参阅:http://en.wikipedia.org/wiki/Endianness