2013-10-13 69 views
-3

我正在进行汇编语言家庭作业任务,不理解如何处理这些问题。对于第一个,我明白在某些时候我需要指示Align 2强制myBytes进入偶数地址,但我不确定如何专门编写该指令。对于其他人,我不确定如何移动标识符的某些字节而不移动所有字节。任何帮助将不胜感激。汇编语言 - 指令和说明;移动字节

.data 
myBytes BYTE 10h,20h,30h,40h 
myWords WORD 3 DUP(?),2000h 
myString BYTE "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] 
+2

这是最好只问你的老师,如果你不知道从哪里开始,这不是什么计算器是为了。 –

+0

嗯,我有一个模糊的想法,但我不知道我是否在正确的轨道上。 1. ALIGN myBytes 2 ??? 2. mov dx,????? 3. mov al,[myWords + 1] 4. mov eax,[myBytes] – sakau2007

+0

您尚未指定您正在使用的汇编程序。 – Michael

回答

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