第4章汇编语宣程存设计简介 程序如下: ORG 1000H STI EQU 2000H ST2 EO 2100H ST3 EQU 2200H START CLR C 清零Cy MOV DPTR,#ST1;第一个数的指针 MOVX A,@DPTR;取第一个数 MOVR2.A 保存 MOV DPTR,#ST2:第二个数的指针 MOVX A,@DPTR;取第二个数 CLR C
第 4 章 汇编语言程序设计简介 ORG 1000H ST1 EQU 2000H ST2 EQU 2100H ST3 EQU 2200H START: CLR C ; 清零Cy MOV DPTR, #ST1 ; MOVX A, @DPTR ; MOV R2, A ; MOV DPTR, #ST2 ; MOVX A, @DPTR ; CLR C
第4章汇编语宣程存设计简介 SUBB A,R2;两数比较 JNC BIG1;若第二个数大,则转 XCH A, R2;第一个数大 BIG0:MOⅤDPTR.#ST3 MOVX@DPTR,A;存大数 RET BG1:MOXA,@DPTR第二个数大 SJMP BIGO RET
第 4 章 汇编语言程序设计简介 SUBB A, R2; JNC BIG1 ; 若第二个数大, XCH A, R2; BIG0: MOV DPTR, #ST3 MOVX @DPTR, A ; RET BIG1: MOVX A, @DPTR; SJMP BIG0 RET
第4章汇编语宣程存设计简介 4.23循环程序设计 、循环程序 C开始) 开始) 初始化部分 初始化部分 循环体 循环控制部分 处理部分 [修改控制变量 修改控制变量 循环控制部分 条件成立? N 循环结束>▲ N 「结束部分 「处理部分 结束 结束部分 循环体 结束 图44 (b)
第 4 章 汇编语言程序设计简介 4.2.3 循环程序设计 一、 循环程序 图 4.4
第4章汇编语宣程存设计简介 循环程序一般由四个主要部分组成 Ⅰ)初始化部分:为循环程序做准备,如规定循环次数、给 各变量和地址指针预置初值。 (2)处理部分:为反复执行的程序段,是循环程序的实体,也 是循环程序的主体。 (3)循环控制部分:这部分的作用是修改循环变量和控制变 量,并判断循环是否结束,直到符合结束条件时,跳岀循环为止。 x(4)结束部分:这部分主要是对循环程序的结果进行分析、 变处理和存放
第 4 章 汇编语言程序设计简介 循环程序一般由四个主要部分组成: (1) 初始化部分: 为循环程序做准备, 如规定循环次数、 给 各变量和地址指针预置初值。 (2) 处理部分: 为反复执行的程序段, 是循环程序的实体, 也 是循环程序的主体。 (3) 循环控制部分: 这部分的作用是修改循环变量和控制变 量, 并判断循环是否结束, 直到符合结束条件时, 跳出循环为止。 (4) 结束部分: 这部分主要是对循环程序的结果进行分析、 处理和存放
第4章汇编语宣程存设计简介 例5工作单元清零 在应用系统程序设计时,有时经常需要将存储器中各部 分地址单元作为工作单元,存放程序执行的中间值或执行结 果,工作单元清零工作常常放在程序的初始化部分中 设有50个工作单元,其首址为外部存储器8000单元,则 其工作单元清零程序如下 CLEAR: CLR A MOV DPTR,#800H;工作单元首址送指针 MOV R2, 50 ;置循环次数 CLEARI: MOVX DPTR,A INC DPTR ;修改指针 DNzR2, CLEAR1;控制循环 RET
第 4 章 汇编语言程序设计简介 例 5 工作单元清零。 在应用系统程序设计时, 有时经常需要将存储器中各部 分地址单元作为工作单元, 存放程序执行的中间值或执行结 果, 工作单元清零工作常常放在程序的初始化部分中。 设有50个工作单元, 其首址为外部存储器8000H单元, 则 其工作单元清零程序如下: