正在加载图片...
综合实验报告 714/2007 CMP AL31H JL QIONG ;若键入字符不在1-7则重新弹奏 MOV BUFIAL 否则将字符存入缓冲 INC D 计数器加 CALL DISPLAY 调用辅助显示子模块 CALL BEEP 调用发音子模块 JMP PITCH 整个弹奏判断逻辑模块如上介绍,但一曲奏毕,用户可以选择存 储或是不存储然后继续进行弹奏。这一段的处理子模块代码如下所 STORE MOV BYTE PTR BUFIDI, 30H 缓冲区存音阶的字符串末尾加0 INC DI MOvDⅹ, OFFSET MES6 MOVAH09H INT2IH 显示提示信息 MOV AH.OTH INT2IH CMP AL. 59H JZ MOVE 按Y则进行存储 CMP AL. 43H JZ GO ON ;按C则不存储 MOV DX OFFSET WRONG ;若输入错误则提示用户重新选择 MOVAH09H INT2IH JMP STORE 以上这一段用于处理用户按键S表示一曲奏毕后提示用户是否存 储音乐,下面介绍若用户选择进行存储则进行处理的MOⅤE模块。 MOVE. PUSH SI PUSH D POPCⅩ MOVAXDATA MOV ES.AX MOV SLOFFSET BUF MOV DLOFFSET MUSICO 将缓冲中的音阶字符串倒入 MUSIC0 REP MOVSB POP CX综合实验报告 7/4/2007 CMP AL,31H JL QIONG ;若键入字符不在 1-7 则重新弹奏 MOV BUF[DI],AL ;否则将字符存入缓冲 INC DI ;计数器加一 CALL DISPLAY ;调用辅助显示子模块 CALL BEEP ;调用发音子模块 JMP PITCH 整个弹奏判断逻辑模块如上介绍,但一曲奏毕,用户可以选择存 储或是不存储然后继续进行弹奏。这一段的处理子模块代码如下所 示: STORE: MOV BYTE PTR BUF[DI],30H ;缓冲区存音阶的字符串末尾加 0 INC DI MOV DX,OFFSET MES6 MOV AH,09H INT 21H ;显示提示信息 MOV AH,07H INT 21H CMP AL,59H JZ MOVE ;按 Y 则进行存储 CMP AL,43H JZ GO_ON ;按 C 则不存储 MOV DX,OFFSET WRONG ;若输入错误则提示用户重新选择 MOV AH,09H INT 21H JMP STORE 以上这一段用于处理用户按键 S 表示一曲奏毕后提示用户是否存 储音乐,下面介绍若用户选择进行存储则进行处理的 MOVE 模块。 MOVE: CLD PUSH SI PUSH DI POP CX MOV AX,DATA MOV ES,AX MOV SI,OFFSET BUF MOV DI,OFFSET MUSIC0 ;将缓冲中的音阶字符串倒入 MUSIC0 REP MOVSB POP CX 10/18
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有