- 1、本文档共46页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
**********指令执行前:(A)=49H,(30H)=ECH。执行指令:ADDA,30H01001001+)111011001←00110101指令执行后:(A)=35H,Cy=1,Ac=1,OV=0,P=0指令执行前:(A)=ACH,(R1)=65H,(65H)=D3H。执行指令:ADDA,@R110101100+)110100111←01111111指令执行后:(A)=7FH,Cy=1,Ac=0,OV=1,P=1由于ADD指令只能进行2进制运算;所以,在BCD码的加法运算中,其运算结果可能不再是BCD码;这时,用DA指令对结果进行调整,使其仍为BCD码。下面是可能出现的3种情况(P75例如):⑴、无进位,9。例、2+4=60010+)01000110⑵、无进位,9。例、5+7=120101+)01111100⑶、有进位,9。例、9+7=161001+)01111←0000由以上3种BCD码运算结果可以得出:①的运算结果是正确的②的运算结果错误,因为BCD码十进制数中只有0~9这10组四位二进制数没有1100这个编码。③运算结果错误,正确结果为16,而运算结果10。①累加器低4位大于9或者辅助进位位Ac=1,则低4位加6调整。②累加器高4位大于9或者进位位Cy=1,则高4位加6调整。③累加器高4位为9,低4位大于9,则高4位和低4位分别加6调整。上述BCD码的加法运算进行十进制调整都是通过“DAA”指令自动实现的。ANLA,Rn/direct/@Ri/#dataANLdirect,A/#dataORLA,Rn/direct/@Ri/#dataORLdirect,A/#dataXRLA,Rn/direct/@Ri/#dataXRLdirect,A/#dataCLRACPLARLARLCARRARRCA这类指令,除检验目的累加器A的P标志外,其它标志位不受影响。例、将逻辑单元中的某些位(如:D2、D5、D7)置1,清0,取反,其余位不变。置1 将置1的位“或”1,不变的位“或”0。 ORLP1,清0 将清0的位“与”0,不变的位“与”1。 ANLP1,取反 将取反的位“异或”1,不变的位“异或”0。XRLP1,子程序调用无条件转移条件转移空操作ACALLaddr11LCALLaddr16RET ;子程序返回RETI ;中断返回AJMPaddr11LJMPaddr16SJMPrelJMP@A+DPRTJZrel ;(A)=0转移。JNZrel ;(A)≠0转移。CJNEA,direct,relCJNEA,#data,relCJNERn,#data,relCJNE@Rn,#data,relDJNZRn,relDJNZdirect,relNOP功能类型同前述关于bit寻址,面对所有具有位地址的单元。指令功能指令功能MOV?C,bit直接寻址位送CANL?C,bitC逻辑与直接寻址位MOV?bit,CC送直接寻址位ANL?C,/bitC逻辑与直接寻址位的反CLR??CC清零ORL?C,bitC逻辑或直接寻址位CLR?bit直接寻址位清零ORL?C,/bitC逻辑或直接寻址位的反CPL??CC取反JC?relC为1转移CPL?bit直接寻址位取反JNC?relC为零转移SETB?CC置位JB??bit,rel直接寻址位为1转移SETB?bit直接寻址位置位JNB?bit,rel直接寻址为0转移JBC?bit,rel直接寻址位为1转移并清该位P95一、二顺序结构分支循环子程序中断服务程序例:求累加器A中,单字节符号数的补码。complement: JNBACC.7,retur
文档评论(0)