试题详情
- 简答题某场歌手赛,共有10个评委,试编写一程序,输入10个评分,去掉最高分和最低分,求平均分(均为BCD码)。
-
O.RG 0H
N.EQU #5
B.LOCK EQU #30H
I.SELSORT: MOV R7,N
D.EC R7
M.OV R1,BLOCK
I.SST1: MOV R0,BLOCK
M.OV A,R7
M.OV R6,A
M.OV A,@R0
M.OV B,A
I.SST2: INC R1
M.OV A,@R1
C.LR C
S.UBB A,B
J.C ISST3
M.OV A,@R1
M.OV R2,A
M.OV B,@R1
I.SST3: DJNZ R6,ISST2
M.OV A,B
X.CH A,@R1
M.OV B,R2
M.OV @R1,B MOV @R1,A
D.JNZ R7,ISST1
M.OV R0,BLOCK
M.OV @R0,#0 ;去掉最低分
M.OV A,BLOCK
ADD A,#9
MOV R0,A
MOV @R0,#0 ;去掉最高分
AD: MOV R0,BLOCK
INC RO
MOV R1,#8
CLR A
CLR C
MOV B,#0
ADL: ADD A,@R0
DA A
MOV R2,A
ADDC A,#0
MOV B,A
MOV A,R2
DJNZ R1,ADL
MOV R5,0
MOV R4,B
MOV R3,A
MOV R2,#0
MOV R1,#8
R5R4R3/R2R1 = R4R3
MOV R1,#00H
MOV R2,#0FH
MOV R3,#04H
MOV R4,#05H
MOV R5,#06H
LCALL _DIV
AJMP $
_DIV: ;{
CLR C
MOV 30H,#0
MOV 31H,#0
MOV 32H,#0
_DIV_LOOP: CLR C
MOV A,R3
SUBB A,R1
MOV R3,A
MOV A,R4
SUBB A,R2
MOV R4,A
MOV A,R5
SUBB A,#0
MOV R5,A
JC _DIV_END
_INC_SHANG: CLR C
MOV A,30H
ADDC A,#1
MOV 30H,A
MOV A,31H
ADDC A,#0
MOV 31H,A
MOV A,32H
ADDC A,#0
MOV 32H,A
LJMP _DIV_LOOP
_DIV_END: CLR C
MOV A,R1
ADDC A,R3
MOV A,R2
ADDC A,R4
MOV R3,30H
MOV R4,31H
END 关注下方微信公众号,在线模考后查看
热门试题
- 编写指令序列,如果AL寄存器存放的是小写
- 什么是摩尔定律?它能永久成立吗?
- 8086CPU在内部结构上由哪几部分组成
- C语言用“/n”表示让光标回到下一行首位
- 8086的中断向量表位于内存的()区域,
- 8253—5作于方式3时,若计数值为偶数
- 什么是查询超时错误?
- 8051单片机中片内RAM分为()区,(
- 什么是端口?(课本P96)I/O端口的编
- 半导体存储器关机后,所存信息即丢失。
- RISC技术有哪些方面的主要特色?
- 编制3个子程序把一个32位二进制数用8位
- 825lA C/D、RD、W
- MCS-51单片机可分为两个优先级别。各
- 8051单片机中EA引脚的作用是什么?
- 源程序如下: 试问: ①若程序执行前,
- 综述Intel80x86系列处理器在指令
- 什么是DMA读和DMA写?什么是DMA控
- 825lA工作于异步方式,8个数据位,波
- 8086/8088系统中,存储器为什么要