资源描述:
《微机原理与汇编语言--程序设计课程》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、微机原理与汇编语言——程序设计课程求两个数的平均值。这两个数分别存放在X单元和Y单元中,而平均值放在Z单元中。补充知识:操作功能○○○○○○○○○○○○○○○○××××××××○○○○○○○○○○○○○○○○CPSZA○×SARdst,1SARdst,CL○×SHRdst,1SHRdst,CL○×SALdst,1SALdst,CL○×SHLdst,1SHLdst,CLO标志位影响指令格式CFdstCF0dstCF0dstCF0dstdatasegmentxdb5fhydb57hzdb?dataendscodes
2、egmentassumecs:code,ds:datastart:movax,datamovds,axmoval,xaddal,ymovah,0adcah,ahshrax,1movz,alcodeendsendstart思考:如何将十六进制结果转换为十进制数?如何将十进制数显示的屏幕上?;将al中存放的16进制数据转化;为10进制moval,zaampushaxmovdl,ahordl,30hmovah,2int21hpopaxmovdl,alordl,30hmovah,2int21h;显示AX中存放的2位数据
3、(0~9)disaxmacropushaxmovdl,ahordl,30hmovah,2int21hpopaxmovdl,alordl,30hmovah,2int21hendm如何将十进制数显示到屏幕上?从键盘输入0~9中任意一个自然数,将其平方值在屏幕上显示出来(用查表法).接收字符1转换成十进制数查表显示结果键盘输入单个字符MOVAH,01HINT21H输入字符AL屏幕显示单个字符MOVDL,‘A’MOVAH,02HINT21H输出到屏幕DL补充知识:DOS功能调用datasegmentnumdb0,1,4
4、,9,16,25,36,49,64,81dataendscodesegmentassumecs:code,ds:datastart:movax,datamovds,axmovah,01hint21hsubal,30hmovbx,offsetnumxlataamdisaxmovah,4chint21hcodeendsendstart计算1+2+3+…+100累加和,存放在sum单元初始化:加法次数CX=100加法和AX=0CX=0?CX自减1AX=AX+CXSUM=AX结束datasegmentsumdw0dat
5、aendscodesegmentassumecs:code,ds:datastart:movax,datamovds,axmovax,0movcx,100next:addax,cxloopnextmovsum,axmovah,4chint21hcodeendsendstart思考:如何计算2+4+6+…呢?将数据段中BUF1为起始地址的100个字节复制到BUF2为起始地址的区域中。datasegmentbuf1db1,2,3,4,5,6,7,8,9,10buf2db10dup(?)dataends…05hF1h
6、…BUF1BUF2DScodesegmentassumecs:code,ds:datastart:movax,datamovds,axmoves,axleasi,buf1leadi,buf2movcx,10cldrepmovsbmovah,4chint21hcodeendsendstart思考:如何用mov操作呢?如果传送的是10个字的信息呢?leasi,buf1leadi,buf2movcx,10cldnext:lodsbstosbloopnextleasi,buf1leadi,buf2movcx,10nex
7、t:moval,[si]mov[di],alincsiincdiloopnext求输入一位数据x,求公式y=(x+6)/3的值,结果存入y单元中。2al8位ahal×al8位ahal商ah余数ax16位dxax×ax16位dxax商dx余数datasegmentydb0dataendscodesegmentassumecs:code,ds:datastart:movax,datamovds,axmovah,01hint21hsubal,30haddal,6mulalmovbl,3divblmovy,almova
8、h,4chint21hcodeendsendstart求从num单元开始的10个连续的无符号数中的最大值和最小值。ALNUMSINUM的有效地址CX9CX=0?SISI+1比较AL和[SI],如果[SI]大就AL[SI]SUM=AX结束datasegmentnumdb73,58,61,81,96,37,5,39,19,54maxdb?mindb?dataendscodeseg