-3

我正在处理汇编语言家庭作业,但不明白如何处理这些问题。对于第一个,我知道在某些时候我需要给出 Align 2 的指令以强制 myBytes 进入偶数地址,但不确定如何具体编写该指令。对于其他人,我不确定如何在不移动所有字节的情况下移动标识符的某些字节。任何帮助将不胜感激。

。数据
myBytes BYTE 10h,20h,30h,40h
myWords WORD 3 DUP(?),2000h
我的字符串字节“ABCDE”
  1. 在给定数据中写入一个指令,将 myBytes 与偶数地址对齐。

  2. 编写一条指令,将 myBytes 中的前两个字节移动到 DX 寄存器。结果值为 2010h。

  3. 编写一条将 myWords 中的第二个字节移动到 AL 寄存器的指令。

  4. 编写一条将 myBytes 中的所有四个字节移动到 EAX 寄存器的指令。

到目前为止,这是我想出的:

1. ALIGN myBytes 2 ???   
2. mov dx, ?????   
3. mov al, [myWords+1]   
4. mov eax, [myBytes]
4

1 回答 1

0

好吧,我有一个模糊的想法,但我真的不知道我是否走在正确的轨道上。

是的,你在正确的轨道上。

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

于 2013-10-16T01:05:44.467 回答