程序质量的判断标准: 程序的执行时间短;占用的内存单元少;程序的语句行 数少
程序质量的判断标准: 程序的执行时间短;占用的内存单元少;程序的语句行 数少
41.3汇编语言源程序的编辑和汇编 1.汇编语言源程序的编辑 编辑好的源程序应以“.ASM扩展名存盘 2.汇编语言源程序的汇编 源程序经机器汇编之后,若无语法错误,一般将生成 两个新文件,它们的扩展名分别是OBJ和LST
4.1.3 汇编语言源程序的编辑和汇编 • 1. 汇编语言源程序的编辑 • 编辑好的源程序应以“. ASM”扩展名存盘 • 2. 汇编语言源程序的汇编 • 源程序经机器汇编之后,若无语法错误,一般将生成 两个新文件,它们的扩展名分别是.OBJ和.LST
例4-1将内部RAM从30H开始的10个单元的内容 相加,其和保存于A(假设其和仍为8位数)。 列表文件(LST)信息如下: 地址机器码汇编语言源程序 注释 ORG 2000H ;定义程序起始地址 2000 7830 START: MOV RO,#30H 初始地址送R0 20027A0 A MOV R2,#10 ;循环初始值送R2 20047400MoVA,#00H ;累加和初始值送A 200626 LOOP: ADDC A,(aRO ;完成累加 200708 INC RO ;修改地址 2008 DAFC DNZ R2, LOOP ;循环判断 200A 80FE SMP S ;暂停 END ;程序结束 INCLUDE IN HASHTAB START 2000 LOOP: 2006 目标文件(OBJ)信息如下: 2000200C78307A0A74002608DAFC80FE
例4-1 将内部RAM从30H开始的10个单元的内容 相加,其和保存于A(假设其和仍为8位数)。 • 列表文件(.LST)信息如下: • 地址 机器码 汇编语言源程序 注释 • ORG 2000H ;定义程序起始地址 • 2000 7830 START:MOV R0,#30H ;初始地址送R0 • 2002 7A0A MOV R2,#10 ;循环初始值送R2 • 2004 7400 MOV A,#00H ;累加和初始值送A • 2006 26 LOOP:ADDC A,@R0 ;完成累加 • 2007 08 INC R0 ;修改地址 • 2008 DAFC DJNZ R2,LOOP ;循环判断 • 200A 80FE SJMP $ ;暂停 • END ;程序结束 – INCLUDE IN HASHTAB – START: 2000 – LOOP: 2006 • 目标文件(.OBJ)信息如下: • 2000200C78307A0A74002608DAFC80FE
例42将40H单元的高、低半字节的两个BCD码拆开并变 成其ASCI码,并分别存入41H和42H单元 方法一:用逻辑指令将高、低半字节分开,对数字09加上30H即可得到 所对应的ASCI码30H~39H。 ORG 2000H MOV A, 40H 取数 ANL A,#OFH ;分离出低半字节 ADD A, #30H 变为ASCI码 MOV 42H, A ;保存 Mov A, 40H ;重新取数 SWAP A ;高、低半字节交换 ANI A, #OFH ;分离出高半字节 ADD A,#30H ;变为ASCI码 MOV 41H, A ;保存 END
方法一:用逻辑指令将高、低半字节分开,对数字0~9加上30H即可得到 所对应的ASCII码30H~39H。 ORG 2000H MOV A,40H ;取数 ANL A,#0FH ;分离出低半字节 ADD A,#30H ;变为ASCII码 MOV 42H,A ;保存 MOV A,40H ;重新取数 SWAP A ;高、低半字节交换 ANL A,#0FH ;分离出高半字节 ADD A,#30H ;变为ASCII码 MOV 41H,A ;保存 END 例4-2 将40H单元的高、低半字节的两个BCD码拆开并变 成其ASCII码,并分别存入41H和42H单元
汇编语言程序共有四种结构形式: 顺序结构、循环结构、分支结构 和子程序结构
汇编语言程序共有四种结构形式: • 顺序结构、循环结构、分支结构 和子程序结构