第4章 汇编语言程序设计
第4章 汇编语言程序设计
4.1汇编语言程序的汇编 4.1.1程序设计语言简介 1机器语言 1110010100110000 0010010101000000 1111010101010000 2汇编语言 MOV A 30H ADD A, 40H MOV 50HA 3高级语言 FORTAN、BASC、C语等和过程的语言。如: 级语言是一种面向算氵
4.1 汇编语言程序的汇编 4.1.1 程序设计语言简介 1.机器语言 11100101 00110000 00100101 01000000 11110101 01010000 2.汇编语言 MOV A,30H ADD A,40H MOV 50H,A 3.高级语言 高级语言是一种面向算法和过程的语言。如: FORTAN、BASIC、C语言
4.1.2人工汇编 人工汇编就是根据指令表,将源程序由指令逐条翻译 成指令代码,并把这些代码以字节为单元从起始地址依次 排列成目标程序。 人工汇编分两步进行 第一步:确定各条指令(第一字节)的地址并翻译出各 条指令的机器码 第二步:将第一步未处理的标号进行代替,即求出标号 所代表的具体地址值或地址偏移量,形成代码
4.1.2 人工汇编 人工汇编就是根据指令表,将源程序由指令逐条翻译 成指令代码,并把这些代码以字节为单元从起始地址依次 排列成目标程序。 人工汇编分两步进行: 第一步:确定各条指令(第一字节)的地址并翻译出各 条指令的机器码。 第二步:将第一步未处理的标号进行代替,即求出标号 所代表的具体地址值或地址偏移量,形成代码
〔例4-1)将下列程序进行人工汇编 ORG 1000H START. SETB P DL MOV 30H #03H DLO. MOV 31H, #OFOH DLI: DJNZ 31H DLl DJNZ 30H DLO CPL P AJMP DI END
〔例4-1〕 将下列程序进行人工汇编 ORG 1000H START: SETB P1.1 DL: MOV 30H,#03H DLO:MOV 31H,#0F0H DL1: DJNZ 31H,DL1 DJNZ 30H,DLO CPL P1.1 AJMP DL END
表4-1第一步汇编结果 地址指令代码 标号助记符 ORG 1000H 1000HD291 START: SETB P 1002H753003 DL. MOV 30H #03H 1005H7531F0 DLO. MOV 31H #OFOH 1008H D5 31 rell DLI: DNZ 31H DLI 100BH D5 30 re12 DJNZ 30H DLO 100EHB291 CPL P 1010H AJMPDL AJMP DL END
地址 指令代码 标号 助记符 1000H D2 91 1002H 75 30 03 1005H 75 31 F0 1008H D5 31 100BH D5 30 100EH B2 91 1010H ORG 1000H START: SETB P1.1 DL: MOV 30H,#03H DL0: MOV 31H,#0F0H DL1: DJNZ 31H,DL1 DJNZ 30H,DLO CPL P1.1 AJMP DL END AJMPDL rel1 rel2 表4-1 第一步汇编结果