第1题
阅读以下说明和X86汇编语言代码,将应填入(n)处的字句写在答题纸的对应栏内。[说明]设有数组X和Y
。X数组中有X1,X2、…、X10十个数,Y中有Y1、Y2、…、Y10十个数。编制程序计算:Z1=X1+Y1Z2=X2+Y2Z3=X3-Y3Z4=X4-Y4Z5=X5-Y5Z6=X6+Y6Z7=X7-Y7Z8=X8-Y8Z9=X9+Y9Z10=X10+Y10设置一个10位的标志尺:LOGIC_RULE,若它的每一位决定了当前按顺序该做加法(该位为0)或减法(该位为1)操作,则由上列等式可知LOGICRULE中的低10位应是(1)。[汇编程序代码]datareasegment;definedatasegmentxdwx1,x2,x3,x4,x5,x6,x7,x8,x9,x10ydwy1,y2,y3,y4,y5,y6,y7,y8,y8,y10zdwz1,z2,z3,z4,z5,z6,z7,z8,z9,z10logic_ruledw(2);LOGIC_RULEinitializedatareaendsprogramsegment;definecodesegmentmainprocfarassumecs:program,ds:datareastart:;startingexecutionaddress(3);saveolddatasegmentsubax,ax;putzeroinAXpushax;saveitonstack;setDSregistertocurrentdatasegmentmovax,datareamovds,ax;MAINPARTOFPROGRAMGOESHEREmovbx,0movex,10movdx,logic_rulenext:movax,x[bx]shrdx,1jcsubtract(4)jmpshortresultsubtract:sub..
点击查看答案