51实用汇编子程序.docVIP

  • 14
  • 0
  • 约3.96万字
  • 约 1页
  • 2017-03-19 发布于重庆
  • 举报
51实用汇编子程序

MCS-51定点运算子程序库及其使用说明 1.多字节定点操作数:用 [R0] 或 [R1] 来表示存放在由 R0 或 R1 指示的连续单元中的数据。地址小的单元存放数据的高字节。例如: [R0] 123456H ,若 R0 30H ,则 30H 12H , 31H 34H , 32H 56H 。 2.运算精度:单次定点运算精度为结果最低位的当量值。 3.工作区:数据工作区固定在 PSW 、 A 、 B 、 R2 ~ R7 ,用户只要不在工作区中存放无关的或非消耗性的信息,程序就具有较好的透明性。 (1) ?? 标号: ?? BCDA 功能:多字节BCD码加法 入口条件:字节数在 R7 中,被加数在 [R0] 中,加数在 [R1] 中。 出口信息:和在 [R0] 中,最高位进位在 CY 中。 影响资源: PSW 、 A 、 R2 堆栈需求: ?? 2字节 BCDA:? ?MOV??A,R7?? ;取字节数至 R2 中 MOV??R2,A ADD??A,R0?? ;初始化数据指针 MOV??R0,A MOV??A,R2 ADD??A,R1 MOV??R1,A CLR??C BCD1:? ?DEC??R0?? ;调整数据指针 DEC??R1 MOV??A,@R0 ADDC??A,@R1?? ;按字节相加 DA??A?? ;十进制调整 MOV??@R0,A?? ;和存回 [R0] 中 DJNZ??R2,BCD1?? ;处理完所有字节 RET (2) ?? 标号: ?? BCDB 功能:多字节BCD码减法 入口条件:字节数在 R7 中,被减数在 [R0] 中,减数在 [R1] 中。 出口信息:差在 [R0] 中,最高位借位在 CY 中。 影响资源: PSW 、 A 、 R2 、 R3 堆栈需求: ?? 6字节 BCDB:??LCALL??NEG1?? ;减数 [R1] 十进制取补 LCALL??BCDA?? ;按多字节BCD码加法处理 CPL??C?? ;将补码加法的进位标志转换成借位标志 MOV??F0,C?? ;保护借位标志 LCALL??NEG1?? ;恢复减数 [R1] 的原始值 MOV??C,F0 ;恢复借位标志 RET NEG1:??MOV??A,R0?? ; [R1] 十进制取补子程序入口 XCH??A,R1?? ;交换指针 XCH??A,R0 LCALL??NEG?? ;通过 [R0] 实现 [R1] 取补 MOV??A,R0 XCH??A,R1?? ;换回指针 XCH??A,R0 RET (3) ?? 标号: ?? NEG 功能:多字节BCD码取补 入口条件:字节数在 R7 中,操作数在 [R0] 中。 出口信息:结果仍在 [R0] 中。 影响资源: PSW 、 A 、 R2 、 R3 堆栈需求: ?? 2字节 NEG:??MOV??A,R7?? ;取(字节数减一)至 R2 中 DEC??A MOV??R2,A MOV??A,R0?? ;保护指针 MOV??R3,A NEG0:?CLR??C MOV??A,#99H SUBB??A,@R0?? ;按字节十进制取补 MOV??@R0,A?? ;存回 [R0] 中 INC??R0?? ;调整数据指针 DJNZ??R2,NEG0?? ;处理完( R2 )字节 MOV??A,#9AH?? ;最低字节单独取补 SUBB??A,@R0 MOV??@R0,A MOV??A,R3?? ;恢复指针 MOV??R0,A RET (4) ?? 标号: ?? BRLN 功能:多字节BCD码左移十进制一位(乘十) 入口条件:字节数在 R7 中,操作数在 [R0] 中。 出口信息:结果仍在 [R0] 中,移出的十进制最高位在 R3 中。 影响资源: PSW 、 A 、 R2 、 R3 堆栈需求: ?? 2字节 BRLN:??MOV??A,R7?? ;取字节数至 R2 中 MOV??R2,A ADD??A,R0?? ;初始化数据指针 MOV??R0,A MOV??R3,#0?? ;工作单元初始化 BRL1:??DEC??R0?? ;调整数据指针 MOV??A,@R0?? ;取一字节 SWAP??A?? ;交换十进制高低位 MOV??@R0,A?? ;存回 MOV??A,R3?? ;取低字节移出的十进制高位 XCHD??A,@R0?? ;换出本字节的十进制高位 MOV??R3,A?? ;保存本字节的十进制高位 DJNZ??R2,BRL1?? ;处理完所有字节 RET (5) ?? 标号: ? MULD 功能:双字节二进制无符号数乘法 入口条件:被乘数在 R2 、 R3 中,乘数在 R6 、 R7 中。 出口信息:乘积在 R2 、 R3 、

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档