资源描述:
《微机原理作业_王宏业.pdf》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、汇编程序部分作业070310022010301740王宏业1设在X、Y、Z字型变量中存放着三个无符号数,若其中有一个数为0,则把DH寄存器置1;若其中有两个数为0,则把DH寄存器置2;若其中三个数都为0,则把DH寄存器置3;若三个数都不为0,则求出它们的和(不考虑溢出)存入W单元。程序如下:XEQU20HYEQU21HZEQU22HWEQU23HDHEQU24HMOVDH,#0MOVA,XCJNEA,#0,D1INCDHD1:MOVA,YCJNEA,#0,D2INCDHD2:MOVA,ZCJNEA,#0,D3I
2、NCDHD3:ADDA,YADDCA,XMOVW,AEND2.编制一个查表程序将16进制数5B37H转换成ASCII码,结果依次存入BLOCK数组的4个字节中,即程序执行后BLOCK中4个字节内容成为37H,33H,42H,35H。a_1:pushcxmovax,5b37hleasi,BLOCKxordx,dxa_2:movcx,10calldivdwaddcx,30hmov[si],clincblincsicmpax,0jnza_2divdw:movpa,axmovax,dxxordx,dxdivcxpush
3、axmovax,padivcxmovcx,dxpopdxret3、某班一共30人,假设其微机原理成绩(无满分100)以其组合BCD码形式存放在以BLOCK为首的内存单元中,试编程找出其中最高分和最低分分别存入MAX和MIN单元;并计算出全班总分,以其组合BCD码形式存放在以TOTAL为首的单元中。程序如下:LCALLGet_MaxLCALLGet_MinLCALLGet_Valueint20h;--------------------Get_Max:movbl,#0movcx#30movSI,BlockG_Ma
4、x_0:lodsbcmpal,bljbeG_Max_1movMax_V,almovbl,alG_Max_1:loopG_Max_0ret;--------------------Get_Min:movbl,#0ffhmovcx,#30movSI,BlockG_Min_0;lodsbcmpal,bljaeG_Min_1movMin_V,almovbl,alG_Min_1:loopG_Min_0ret;--------------------Get_Value:movbx,#0movcx,#30movSI,Bloc
5、kG_V_0:lodsbxorah,ahaddax,bxmovbx,axloopG_V_0xordx,dxmovbx,#30divbxmovV_V,alret;----------------------------------------Max_V:db0Min_V:db0V_V:db0Block:db91h,90h,82h,.......99h;