📄 14-5.asm
字号:
;***********************************************************************
; 功能 :查表程序
; 作者 :LIHJ
; 创建日期 :04-04-24
; 版本 :V1.0
; 修改日期 :
;************************************************************************
ORG 00H
JMP MAIN
;*******************************************************
;学生学号与成绩表格
ORG 200H
Score_tab:
DB 81, 88, 66, 78, 98, 59, 90, 85, 84, 77
DB 75, 69, 71, 65, 52, 95, 98, 74, 68, 84
;********************************************************
;主循环程序
ORG 50H
MAIN:
CALL GET_MAX ;查找最高分,结果保存在30H单元
CALL GET_MIN ;查找最低分,结果保存在31H单元
JMP $
;结束主循环
;子程序
;查找最高分子程序
GET_MAX:
MOV DPTR, #Score_tab ;取得表格首地址
MOV R0, #14H ;循环次数
MOV 30H, #00H ;给成绩最高分赋初值
;从后往前查表
NEXT0:
MOV A, R0
DEC A
MOVC A, @A+DPTR ;取出最后一名学生的成绩
CJNE A, 30H, NEXT1 ;当前学生成绩与成绩最高分比较
NEXT1:
JC NEXT2 ;查看比较结果
MOV 30H, A ;当前学生得分高于当前最高分
NEXT2:
DJNZ R0, NEXT0 ;比较下一个学生的成绩
RET ;结束查表
;最低分查表程序
GET_MIN:
MOV DPTR, #Score_tab
MOV R0, #14H
MOV 31H, #64H ;最低分初始化为100分
LOOP0:
MOV A, R0
DEC A
MOVC A, @A+DPTR
CJNE A, 31H, JP1 ;当前学生得分与最低分比较
JP1:
JNC JP2 ;判断比较结果
MOV 31H, A
JP2:
DJNZ R0, LOOP0 ;循环比较20个学生的成绩
RET
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -