正在加载图片...
6.加1指令 INCA;A←A+1 INC Rn;Rn←Rn+1 inc direct (direct)+( direct)+1 INC @Ri;(Ri)←(Ri)+1 INC DPTR;DPTR←DPTR+1 例如,(30H)=22H,执行INC30H后,(30H)=23H。 7.减1指令 DECA;A←A-1 DEC Rn;Rn←Rn-1 dec direct direct+(direct) DEC @Ri;(Ri)←(Ri)-1 例如,R0=30H,(30H)=22H,执行 DEC R0后,(30H)=21H 8.十进制调整指令 DAA;把A中按二进制相加的结果调整成按BCD码相加的结果 例如,A=65BCD,B=78BCD,C=0,执行下列语句 ADDA, B DA A 后,A=43BCD,C=1。 【例32】试把存放在R1R和R3R4中的两个16位数相加,结果存于 R5R6中。 解:参考程序如下: MOV ,R2;取第一个数的低8位 ADd A, R4 两数的低8位相加 MOV R6, A 保存和的低8位 MOV A, RI 取第一个数的高8位 ADDC A,R3;两数的高8位相加,并把低8位相加时的进位 位加进来 MOVR5,A;把相加的高8位存入R5寄存器中6.加1指令 INC A ;A← A + 1 INC Rn ;Rn← Rn + 1 INC direct ;(direct)← (direct)+ 1 INC @Ri ;(Ri)←(Ri)+ 1 INC DPTR ;DPTR← DPTR + 1 例如,(30H)=22H,执行 INC 30H 后,(30H)=23H。 7.减1指令 DEC A ;A← A - 1 DEC Rn ;Rn← Rn - 1 DEC direct ;direct← (direct)- 1 DEC @Ri;(Ri)←(Ri)- 1 例如,R0=30H,(30H)=22H,执行 DEC @R0 后,(30H)=21H。 8.十进制调整指令 DA A ;把A中按二进制相加的结果调整成按BCD码相加的结果 例如,A=65BCD,B=78BCD,C=0,执行下列语句 ADD A,B DA A 后,A=43BCD,C=1。 【例3.2】 试把存放在R1R2和R3R4中的两个16位数相加,结果存于 R5R6中。 解:参考程序如下: MOV A,R2 ;取第一个数的低8位 ADD A,R4 ;两数的低8位相加 MOV R6,A ;保存和的低8位 MOV A,R1 ;取第一个数的高8位 ADDC A,R3 ;两数的高8位相加,并把低8位相加时的进位 位加进来 MOV R5,A ;把相加的高8位存入R5寄存器中
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有