1、3、 编程计算(Z +X*Y -328) -V)/ Y,其中X、Y、Z、V均为16位带符号 数,假设初始数据分别装入X、Y、Z、V单元,要求上式计算结果的商存入AX,余数存入DX 寄存器。同学自行给出初始值加以验证程序。五、程序设计:实验1:流程图如下:开始输入数据进行运算输出结果结束实验2:以16进制加法为例,流程图如下:输入FIRST和 SECONDSI二3, CX二4YCX 二 0?输出THIRDTHIRD+1SI=FIRSTSI+SECONDSICX-1, SI-1 结束其他程序流程图类似。六、实验过程及结果:1.根据要求,设计程序如下:0203仙O506O7O8O91O1112131
2、1*151*02122232J4252627282930313233叢DATAS SEGMENT datal DU 087H data2 DU 034H data3 DU 0C2H data4 DW 5FHDATAS ENDSCODES SEGMENTASSUME CS:CODES,DS:DATAS START:MOUMOU DS,AXMOU AX7datalADD AX7data2SUB AX7data2MOU BX7data2MUL BXMOU AJC,datalMOU BX,data2DIU BXMOU AC,data3ADC AJCataUMOU 般,data3SBB AX.dataU
3、MOU AK9data3MOU BX.dataUIMUL 畔MOU AX,data3MOU BX,data4IDIU BKMOU AH,4CHI NT 21HCODES ENDSEND START2.编译代码,生成OBJ文件,再生成EXE文件,可成功运行。3.进行程序调试可得运算结果如下:087H+034H 的结果:tnx-eeBB Bxoeeo cx=ggs9 ox-eeoe sp咖g Bpooee simx di咖00DS=077 ES=O76Q SS=076F CS=771 IPKKC NU UP El PL NZ NA PE NCO?l:96ec Aioeoo MOU ftXJOOOG
4、) ds:0000=000?087H-034H 的结果:AX 6053 KX二6008DS 旳7?0 e?66)13 A1GO00CX;*53 DX 0000 SPOQGOSStTGF CS,0?71 IPW13 iw Axjoeee)087HX034H 的结果:-tAX 二 1B6C BXWOH IS=0?0 ES 旳73 0771 :91C A16009excess DX 二 098 SF 二 0099SS=e?6F CS=0?1 !P=G01Cnow Axjooeoi刖00 siooeo D.OOOGHU UP El PL MZ NA PE HCDS:eO99367087H/034H 的
5、结果:AX 9092 BX 0R34 DS 6?0 ES 0?f0 O771:GG2S H1M09CX=GG59 DXeOlF SF-0900 ss=0?fer cs=G?i ip-eeranu nx.roow)BP 9060 SJ 0909NU UP El PL HZ Nrt PE NCeG04=6GC20C2H+5FH的结果:AX 01Z1 BX 0034DS 二 0776 ES 二 0760 e?l:662C 10468CX=6e59 DX 091F SPOOGGSS=OT6F OS旳771 IFOBZC H)U AXJOGOI)bf eeeo si eeeo di eeeoNU UT
6、EI FL NZ AC PE NCDS;ooeec20C2H-5FH的结果:AX 0063 BX 0934 PS =0776 ES=0769 0?1:6633 ftl0460ex oesg dx coif sp oogg SS 二 T76F CS=07?1 IF 二 0933 rt)U nXJOGCH)BP 09GG Si O06O Di 0960NU UP El PL NZ AC PE HCIXS:“MO0C20C2HX5FH的结果:AXM7FE BXOCKFDS=07?0 ES=0?8eCX 二妙 9 DXOOOG SPGOOO SS=076F 00771 IP 二 G03CBP-GOtW
7、 SIPO09 DIPQ09NU UP El PL NZ AC PE NC9771:O0:JCrtju66CHGCZ0C2H4-5FH 的结果:BP-0900 SI-6CO5 DI 6060KU UP El PL KZ NA PE NC ftS:000O=GG8?AX 6002 BX-6Q5FDS=W?6O|G7?l;0O15 B44CCX二0O5P DX二0004 SP二0009 BP-00(*) SI二0660 DIG090 SS=0?6F CS=07?1 IF =9045 MU UP El PL NZ ftC PE NCMOU rtH.4C4 总结两组数的和差积商及标志状态位悄况如下表:
8、计算状态标志表达式结果CFAFZFOFSFPF087H+034HOBBHNCXANZNVPLPE087H-034H53HA087H*034H1B6CH087H/034H商2H余1FHZR0C2H+5FH121HAC0C2H-5FH63H0C2H*5FH47FEPO0C2H/5FH余4H状 态 标 志 位加法减法乘法除法1最高有效位向高位无进位最高有效位 向高位有进 位二进制减 法运算中 最高有效 为向高位 无借位(被减 数=减 数,够减二进制减法 运算中最高 冇效位向高 位有借位(被 减数小于减 数,不够减的 情况CF OF二0 0 乘 积的高一半为 0 (字节操作的(AH)或字操 作的(DX
9、)OF 二 1 1 乘积的 高一半 不为0不确定的情况)玉响无影响结果不为零结果为零*影响两个不同 符号数相 加,或同 符号数相 加,结果 符号与其 相同。两个同符号 数相加(正 数+正数或 负数+负 数),结果 符号与其相 反。同符号数 相减时, 或不同符 号数相 减,其结 果符号与 减数不 同。两数符号相 反(正数-负 数,或负数- 正数),而 结果符号与 减数相同。CF 0F=0 0 乘 积的高一半为 0 (字节操作的(AH)或字操作的(DX)结果不为 负结果为负|1.根据要求,编译程序如下:FIRST+SECOND 的 16 进制:020304050607ns0901234567890
10、1111111111122DATAS SEGMENTFIRST DB 1|5H,82H,96H,57H SECOND DB 12H,46H,83H,45HTHIRD DB 5 dup(8)FORTH DB 5 dup(O) DATAS ENDSASSUME CS:CODES,DS:DATftSFIRST-SECOND 的 16 进制:01081011121314151617181920212223242526272829START:MOU SI,3MOU AL.FIRSTSISUB AL,SECONDSIMOU THIRD+1SI,MOU CX,4next:DEC SIMOU AL,FIRST
11、SILOOP nextMOU AL,0SUB AL,0MOU THIRDSI,ALINT 21HFIRST DB 45H,82H,96H,57H SECOND DB 12H,46H,83H,45H THIRD DB 5 dup(O)DATASFIRST+SECOND 的 10 进制:FIRST DD 45H,82II,96II,57HSECOND DB 12H,46H,83H,45HTHIRD DB 5 dup(O)FORTH DB 5 dup(O)MOU AX,DATfiSMOU SI ,3ADC AL,SECONDSIDtltiMOU F0RTH+1SI,ALDAAADC AL J2SMO
12、U FORTHSI,AL30MOU AH詁CH31IHT 21 II3233c B.EHD STARTFIRST-SECOND 的 10 进制:DfiTfiS SEGMENTFIRST DB U5H,82H,96H,57HTHIRD DB 5 dup(0)FORTH DB 5 dup(0)DfiTfiS ENDSSTfiRT:MOU AX,DATASSBB AL,SECONDSIDASMOV F0RTH+1SI,fiLMOV FORTH+1SI,I1LSBB AL90MOU FORTHSI,ftLMOU AH94CHFIRST+SECOXD的16进制结果:BX-0999 CX 二 0900 D
13、X 二决炯 SF 旳609 册二60阳 SXFFFF Dl=0999977Z:962EM4(:EUAH. 4(:dds:6刃?8:飯旧04557eo-s?o?e:eeioeo00eoET773:磁0册OEeo-tw0773:00304E-8A(r779:96H0eo-e0770:0850CDG0 3叨8:0660QO-G93779:0070eo ooe0ooGHsn4ooQOGO090eH4o4舸090900%ee6z&创DS二e ES二07W SS076F CS=0?2 1PG2 NU UP El PL ZR Nrt PE HCFIRST-SECOND的16进制结果:gZcX076O BX-
14、GOO)cxeoeei)x eeoe spoeeoBP=006GSI=FFFF DI 6600DSOT70 DS 二 G760SS 捋76FCSe?7Z IF、二妙EHU UP El PL 贡NA FE NC07?2:6G2EB44CMIUMCO刃70:6000E.W.F.3 cr?o:eoio0770:ecize(146030M N. . .M.0770.0040 L0?0:6C60GOcr7?eo60ET770:e0?9FIRST-SECOND的10进制结果:Ax=e?*n Bx=oo0e 曲 旳??0 660fni JVHC-dds:0000 45 020010 60 600779:00
15、20 BO 700030 ZF 8B 0779:0010 GO ZF 9779:0E59 60 M 0776:0060 GO OO 9779:0076 60 99E.W.F.C36 CX 0609 DX=090e SP 45009SS=6?2 IP=0G31MOU L4C99-43 OB 00 00 8AOG-4EF9-B600-69 00 OG 冷99BP=ooeo SI=FFFF DI=O0eNU UP 1 MG MZ AC PE CY4最终结果如下:十六进制结果十进制结果FIRST+SECOND57H, C8H, 19H, 9CH5& 29, 80, 03FIRST-SECOND33H,
16、 3CH, 13H, 12H33, 36, 13, 12实验3:1.依据题意编写代码如下:X DW 87HV DW 3即HZ DW 0C2HU DW 5FH9899MOU AX,DfiTfiSMOU DS,fiXMOU AX,XIMUL VMOU CX5AXMOU BX,DXMOU AX52CWDADD AX.CXADC DX.BXSUB AX.328SBB DX.QMOU CX,AXMOU BX.DXMOU AK9USUB CX,fiXSBB BX,DXMOU fiX,CXMOU DX,BXIDIU YMOU AH/CH34CODES ENDS END START2编译代码,生成OBJ文件,
17、再生成EXE文件,可成功运行。3.进行程序调试可得运算结果如下:粧HX-O08Z BX-69G0 CX-lft8? DX-OO1F SP-0090 BPP9O0 SI-eGOO DI-0009 DS =0770 ES=0?bO SS二W6F CS=0771 IP=0O3Z MU UP El PL ZB MA PE MC e?71:MZ B44C MOU AH.4C即商为82H,余数为1FH七、实验感想:经过两次实验,渐渐熟悉了编程环境,对汇编语言中的二进制、十六进制、十进制、BCD码的表示形式有了一定了解,也对从汇编课上学习到的有关BCD码调 整指令方面理论知识有了更深刻的认识,经过自己动手编程,熟悉了二进制多字节 加减法基本指令的使用方法以及无符号数和有符号数乘法和除法指令的使用,通过 分析和思考,掌握了各类运算类指令对个状态标志位的影响和测试方法。继续阅读
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1