【正确答案】答案见下表1。
{{B}}表1{{/B}}
|
| 指 令 |
目的位置 |
值 |
| ADD %ecx, (%eax) |
0x100 |
0x100 |
| SUB %edx, 4(%eax) |
0x104 |
0xA8 |
| IMUL $16, (%eax, %edx, 4) |
0x10C |
0x110 |
| INC 8 (%eax) |
0x108 |
0x14 |
| DEC% ecx |
%eac |
0x0 |
| SUB% edx, %eax |
%eax |
0xFD |
本题需要考生根据表2的符号说明才能做答,题目本身不是难题。
{{B}}表2 符号说明{{/B}}
|
| 符 号 |
说 明 |
| ADD S, D |
D+S→D |
| SUB S, D |
D-S→D |
| IMUL S, D |
D*S→D |
| INC D |
D+1→D |
| DEC D |
D-1→D |
| $ |
立即数寻址标志 |
| A(IX) |
变址寻址,EA=A+(IX) |
| (IX1, IX2, n) |
变址寻址的另一种方式(常用于处理数组),EA=(IX1)+(IX2)*n |
| 0x |
十六进制数标志,无标志的默认为十进制数 |
第一个是一个加法指令,操作数l为寄存器寻址,操作数2为寄存器间接寻址。
操作数1值为0x1,操作数2的有效地址为0x100,存储器中地址为0x100的单元的值为0xFF。0x1+0xFF=0x100。目的位置为操作数2的有效地址0x100。
第二个是减法指令,操作数1为寄存器寻址,操作数2为变址寻址。
操作数1值为0x3,操作数2的有效地址EA=0x100+4=0x104,存储器中地址为0x104的单元的值为0xAB。0xAB-0x3=0xA8。目的位置为操作数2的有效地址0x104。
第三个是乘法指令,操作数1为立即寻址,操作数2为变址寻址的另一种形式。
操作数1值为16,操作数2的有效地址EA=(%eac)+(%edx)
*4=0x100+0x3
*4=0x10C,存储器中地址为0x10C的单元的值为0x11。0x11
*16=0x110。
剩下3个就不解释了,考生可以按照以上解释步骤自行写出。