开始 例4比较两个无符号数的大小。 指针←ST1 A(指针) 设外部RAM的存储单元ST1和 R2+(A) ST2中存放两个不带符号的二进制数, 指针-sT2 A←(指针) 找出其中的大数存入外部RAM中的 (A)>(R2)? ST3单元中。 A·(R2) 指针+ST3 指针)←(A) 结束 图43
例 4 比较两个无符号数的大小。 设外部 RAM 的存储单元 ST1和 ST2中存放两个不带符号的二进制数, 找出其中的大数存入外部RAM 中的 ST3单元中。 图 4.3
程序如下: ORG 1000H STI EQU 2000H ST2 EQU 2100H ST3 EQU 2200H START CLR C 清零C MOV DPTR,#ST1;第一个数的指针 MOⅤXA, aDPTR;取第一个数 MOV R2A ;保存 MOV DPTR,#ST2;第二个数的指针 MOⅤXA,@DPTR;取第二个数 CLR C
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
SUBB A,R2;两数比较 JNC BIG2;若第二个数大,则转 XCHA,R2;第一个数大 bIGI: MOV DPTR # sT3 MOVX ODPTR,A;存大数 RET BIG2: MOVX A, aDPTR;第二个数大 SMP BIGI RET
SUBB A, R2; JNC BIG2 ; 若第二个数大, XCH A, R2; BIG1: MOV DPTR, #ST3 MOVX @DPTR, A ; RET BIG2: MOVX A, @DPTR; SJMP BIG1 RET
423循环程序设计 循环程序 C开始) 开始 [初始化部分 初始化部分 循环体 循环控制部分 处理部分 修改控制变量 修改控制变量 循环控制部分 <条件成立? 循环结束? 上一m 结束部分 处理部分 结束 结束部分 循环体 结束) (b) a
4.2.3 循环程序设计 一、 循环程序 图 4.4
循环程序一般由四个主要部分组成: (1)初始化部分:为循环程序做准备,如规定循环次数、给 各变量和地址指针预置初值。 (2)处理部分:为反复执行的程序段,是循环程序的实体,也 是循环程序的主体。 (3)循环控制部分:这部分的作用是修改循环变量和控制变 量,并判断循环是否结束,直到符合结束条件时,跳出循环为止。 (4)结束部分:这部分主要是对循环程序的结果进行分析 处理和存放
循环程序一般由四个主要部分组成: (1) 初始化部分: 为循环程序做准备, 如规定循环次数、 给 各变量和地址指针预置初值。 (2) 处理部分: 为反复执行的程序段, 是循环程序的实体, 也 是循环程序的主体。 (3) 循环控制部分: 这部分的作用是修改循环变量和控制变 量, 并判断循环是否结束, 直到符合结束条件时, 跳出循环为止。 (4) 结束部分: 这部分主要是对循环程序的结果进行分析、 处理和存放