第4章McS-51程序设计 1汇编语言的格式伪指令 42伪指令 4.3查表程序设计 44循环程序设计 45分支程序设计 46散转程序设计 47数制转换程序设计
第4章 MCS-51程序设计 4.1 汇编语言的格式伪指令 4.2 伪指令 4.3 查表程序设计 4.4 循环程序设计 4.5 分支程序设计 4.6 散转程序设计 4.7 数制转换程序设计
41汇编语言的格式 标号源程序 注释 ORG 000OH ;整个程序起始地址 AJMP MAIN 跳向主程序 ORG 0030H 主程序起始地址 MAIN: CLR C MAIN为程序标号 LOOP: Mov A, aRO ADDC A, @RI INC RO DNZ R1,LOOP;相对转移 SJMP NEXT MOV RI. #03H NEXT: DEC RO SJMP S ;相当于 LOOPI: SJMP LOOP1 END ;结束标记
4.1 汇编语言的格式 汇编语言的格式 标号 源程序 注释 ORG 0000H ; 整个程序起始地址 AJMP MAIN ; 跳向主程序 ORG 0030H ; 主程序起始地址 MAIN: CLR C ; MAIN为程序标号 LOOP: MOV A , @R0 ADDC A, @R1 INC R0 DJNZ R1, LOOP ;相对转移 SJMP NEXT MOV R1, #03H NEXT: DEC R0 SJMP $ ;相当于 LOOP1: SJMP LOOP1 END ; 结束标记
汇编语言格式: 地址机器码 标号源程序 注释 ORG 000OH ;整个程序起始地址 0000200030 LMIP MAIN ;跳向主程序 ORG 0030H 主程序起始地址 0030C3 MAIN: CLR C ;MAIN为程序标号 0031E6 LOOP: MOv A,RO 003237 ADDC A, aRI 003308 INC RO 0034 DA FB DNZ R1,LOOP;相对转移 00368003 SJMP NEXT 00387803 MOV RO. #03H 003A18 NEXT: DEC RO 003B80FE SJMP S: HERE: SJMP HERE END ;结束标记
汇编语言格式: 地址 机器码 标号 源程序 注释 ORG 0000H ; 整个程序起始地址 0000 20 00 30 LJMP MAIN ; 跳向主程序 ORG 0030H ; 主程序起始地址 0030 C3 MAIN: CLR C ; MAIN为程序标号 0031 E6 LOOP: MOV A , @R0 0032 37 ADDC A, @R1 0033 08 INC R0 0034 DA FB DJNZ R1, LOOP ;相对转移 0036 80 03 SJMP NEXT 0038 78 03 MOV R0, #03H 003A 18 NEXT: DEC R0 003B 80FE SJMP $ ;HERE: SJMP HERE END ; 结束标记
4.2伪操作指令 1.ORG( Origin)定义程序的起始地址 2.END程序结束标志 3DB( Define byte)定义字节 4.DW( Define word)定义字 5.EQU( Equate)表达式赋值
4.2 伪操作指令 1. ORG(Origin) 定义程序的起始地址 2. END 程序结束标志 3. DB (Define Byte) 定义字节 4. DW (Define Word)定义字 5. EQU(Equate) 表达式赋值
伪操作指令例子 MATH EQU 03H ORG 000OH MAIN: CLR C LOOP: MOv A,RO MOV RI. #MATH ;相当于MOVR1,#3H NEXT: SJMP S ORG 1100H DB01H,04H,09H,05H END ROM中 地址数据 110001 110104 110209
伪操作指令例子 伪操作指令例子 MATH EQU 03H ORG 0000H MAIN: CLR C LOOP: MOV A , @R0 MOV R1, #MATH ;相当于 MOV R1, #03H NEXT: SJMP $ ORG 1100H DB 01H , 04H, 09H , 05H ; END ROM 中 地址 数据 1100 01 1101 04 1102 09 1103 05