【简答题】
试题二(15分)
阅读以下说明和 X86 汇编语言代码,将应填入(n)处的字句写在答题纸的对应栏内。
【说明】
设有数组 X 和 Y。 X 数组中有 X1、X2、……、X10 十个数,Y 中有 Y1、Y2、……、 Y10 十个数。编制程序计算:
Z1=X1+Y1 Z2=X2+Y2 Z3=X3-Y3 Z4=X4-Y4
Z5=X5-Y5 Z6=X6+Y6 Z7=X7-Y7 Z8=X8-Y8
Z9=X9+Y9 Z10=X10+Y10
设置一个 10 位的标志尺:LOGIC_RULE,若它的每一位决定了当前按顺序该做加法(该位为 0)或减法(该位为 1)操作,则由上列等式可知 LOGIC_RULE 中的低 10 位应是 (1) 。
【汇编程序代码】
![](http://ti.r.ttvz.com/images/ti/iy4/iy43jg1b3un0q12.79e75cb1cdaa0386f33d8f440b064580.jpg)
附:指令及寄存器说明:
MOV 传送字或字节
PUSH 把字压入堆栈
HR 逻辑右移
JC 有进位时转移
JMP 无条件转移指令
SUB 减法
ADD 加法
LOOP CX 不为零时循环
JNE/JNZ 不等于时转移
CMP 比较
段寄存器 2 个:
CS: 代码段寄存器
DS: 数据段寄存器
数据寄存器 4 个:
AX: 累加器
BX: 基址寄存器
CX: 计数寄存器
DX: 数据寄存器