1.已知X和Y是数据段中的两个无符号字节单元,用程序完成表达式Z=(X2+Y2)/2的计算。源代码如下:DATASEGMENTXDB5YDB4ZDW?DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AX;初始化数据段MOVAL,X;X中的内容送ALMULAL;计算X*XMOVBX,AX;X*X乘积送BXMOVAL,Y;Y中的内容送ALMULAL;计算Y*YADDAX,BX;计算X2+Y2SHRAX,1;计算(X2+Y2)/2MOVZ,AX;结果送Z单元MOVAH,4CHINT21H;返回DOSCODEENDSENDSTART;汇编结束从键盘读入两个一位数(按键时保证按下的是数字键),显示它们的积。源代码如下:CODESEGMENTASSUMECS:CODEMAIN:MOVAH,1INT21H;读入第1个数字MOVBL,AL;保存在BL中MOVAH,2MOVDL,13INT21H;回车MOVDL,10INT21H;换行MOVAH,1INT21H;读入第2个数字SUBAL,30H;第2个数字转换成十进制数SUBBL,30H;第1个数字转换成十进制数MULBL;两个数相乘,积在AX中MOVBL,10;DIVBL;积除以10取商送AL,余数在AH中ADDAX,3030H;转换成相应的ASCⅡ码MOVBX,AX;保存在BX中MOVAH,2MOVDL,13INT21H;回车MOVDL,10INT21H;换行MOVDL,BLMOVAH,2INT21H;输出十位数MOVDL,BHINT21H;输出个位数MOVAH,4CHINT21H;返回DOSCODEENDSENDMAIN;程序结束