文档详情

第3章 8086的寻址方式和指令系统精品.ppt

发布:2018-04-22约2.35万字共109页下载文档
文本预览下载声明
以下举例说明条件转移指令的用法。 例3-89 设某个学生的英语成绩已存放在AL寄存器中,若低于60分,则打印F(FALL);若成绩高于或等于85分,则打印G(GOOD);当在60分和84分之间时,打印P(PASS)。 CMP AL,60 JB FALL CMP AL,85 JAE GOOD MOV AL,“P” JMP PRINT FALL: MOV AL,‘F’ JMP PRINT GOOD: MOV AL,‘G’ PRINT: … 例3-90 假定某温度控制系统中,从温度传感器输入一个8位二进制的摄氏温度值。当系统温度低于100度时,则打开加热器;当温度上升到100度或100度以上时,关闭加热器,进行下一步处理。设温度传感器的端口号为320H,同时假设控制加热器的输出信号连到端口321H的最低有效位,当将这一位置1时,加热器便打开,清0时则关闭加热器。实现上出温度控制的程序为: CET_TEMP: MOV DX,320H IN AL,DX CMP AL,100 JB HEAT_ON JMP HEAT_OFF HEAT_ON: MOV AL,01H MOV DX,321H OUT DX,AL JMP CET_TEMP HEAT_OFF MOV AL,00 MOV DX,321H OUT DX,AL . . 例3-91 在以首地址为TABLE的10个内存子介单元中存放了10个带符号数,要求统计其中正数,负数和零的个数,并将结果分别存入PLUS、NEGT和ZERO单元。程序如下: TABLE DB 01H、80H、0F5H、32H、86H DB 74H、49H、0AFH,25H,40H PLUS DB 0 NEGT DB 0 ZERO DB 0 … MOV CX,10 MOV BX,0 AGAIN: CMP TABLE[BX],0 JGE GRET_EQ INC NEGT JMP NEXT GRET_EQ: JG P_INC INC ZERO JMP NEXT P_INC: INC PLUS NEXT: INC BX DEC CX JNZ AGAIN . 循环控制指令 (1)LOOP循环指令 指令格式:LOOP 短标号 指令功能:控制重复执行一系列指令,相当于以下两条指令的功能: DEC CX JNZ 标号 例3-92 设商店里有8种商品,它们的价格分别为83,76,65,84,71,49,62和58元,现要将每种商品提价7元,变成计算每种商品提价后的价格。 OLD DB 83H,76H,65H,84H DB 71H,49H,62H,58H NEW DB 8 DUP(?) . MOV AL,OLD[BX] ADD AL,7 DAA MOV NEW[BX],AL INC BX LOOP NEXT … (2)LOOPE/LOOPE相等或结果为0 时循环 指令格式:LOOPE 标号 或LOOPZ 标号 指令功能:LOOPE是结果相等时循环,而LOOPZ是结果为0时循环。这是两条能完成相同功能而具有不同助记符的指令。 例3-94 设有一个由50个字节组成的数组存放在ARRAY开始的内存单元中,现要对该数组中的元素进行测试,若元素为0,而
显示全部
相似文档