汇编语言程序设计:[8]音乐程序

 时间:2024-09-21 23:35:39

汇编语言(AssemblyLanguage)是面向机器的程序设计语言。在汇编语言中,用助记符(Memoni)代替机器指令的操作码,用地址符号(Symbol)或标号(Label)代替指令或操作数的地址,如此就增强了程序的可读性并且降低了编写难度,象这样符号化的程序设计语言就是汇编语言,因此亦称为符号语言。使用汇编语言编写的程序,机器不能直接识别,还要由汇编程序或者叫汇编语言编译器转换成机器指令。汇编程序将符号化的操作代码组装成处理器可以识别的机器指令,这个组装的过程称为组合或者汇编。因此,有时候人们也把汇编语言称为组合语言。

工具/原料

AssemblyLanguageMasm汇编编译器

方法/步骤

1、打开masm汇编编译程序,新建一个masm源文件脚本。DATASSEGMENT;此处输入数据段代码DATASENDSSTACKSSEGMENT;此处输入堆栈段代码STACKSENDSCODESSEGMENTASSUMECS:CODES,DS:DATAS,SS:STACKSSTART:MOVAX,DATASMOVDS,AX;此处输入代码段代码MOVAH,4CHINT21HCODESENDSENDSTART

汇编语言程序设计:[8]音乐程序

汇编语言程序设计:[8]音乐程序

2、在正文中输入我们的程序代码,并将文件命名为YINYUE.asmDATASEG怡觎现喾MENTPARA'DATA'INFO1DB0D信咆颊辑H,0AH,'*****Designedby1wangxiaobo@163.com$'INFO2DB0DH,0AH,'xiaobowelcomeyoutorunmusicprogram!$'INFO3DB0DH,0AH,'pleaseselect!$'INFO4DB0DH,0AH,'INPUTERROR!$'INFO5DB0DH,0AH,'PLEASEINPUTAGAIN!$'MUSLISTDB0DH,0AH,'AMUSIC1'DB0DH,0AH,'BMUSIC2'DB0DH,0AH,'CMUSIC3'DB0DH,0AH,'QEXIT'db0dh,0ah,'$'MUS_FREG1DW330,294,262,294,3DUP(330)DW3DUP(294),330,392,392DW330,294,262,294,4DUP(330)DW294,294,330,294,262,-1MUS_TIME1DW6DUP(25*8),50*8DW2DUP(25*8,25*8,50*8)DW12DUP(25*8),100*8MUS_FREG2DW330,392,330,294,330,392,330,294,330DW330,392,330,294,262,294,330,392,294DW262,262,220,196,196,220,262,294,332,262,-1MUS_TIME2DW3DUP(50),25,25,50,25,25,100DW2DUP(50,50,25,25),100DW3DUP(50,25,25),100MUS_FREG3DW262,262,294,262,349DW330,262,262,294,262DW392,349,262,262,523DW440,349,262,262,466DW466,440,262,392,349,-1MUS_TIME3DW50,50,100,100,100DW100,100,50,50,100,100DW100,100,100,50,50,100DW100,100,100,100,100,50DW50,100,100,100,100,100DATAENDSSTACKSEGMENTPARASTACK'STACK'DB200DUP('STACK')STACKENDSCODESEGMENTASSUMEDS:DATA,SS:STACK,CS:CODEMAINPROCFARMOVAX,DATAMOVDS,AXMOVaH,0MOVAL,4INT10HMOVAH,0BHMOVBH,0MOVBL,4INT10HMOVAH,0BHMOVBH,01HMOVBL,00INT10H;*****定义一个宏*****SHOWMACRObLEADX,bMOVAH,9INT21HENDM;**********************showINFO1showINFO2showINFO3showMUSLISTINPUT:MOVAH,01HINT21HCMPAL,'Q'JZretuCMPAL,'A'JNZB0CALLMUSIC1JMPEXIT1B0:CMPAL,'B'JNZC0CALLMUSIC2JMPEXIT1C0:CMPAL,'C'JNZexitCALLMUSIC3EXIT1:showINFO5JMPINPUTEXIT:callclearshowINFO4showINFO5showINFO1showINFO2showINFO3showMUSLISTjmpinputRETU:MOVAH,4CHINT21HMAINENDPMUSIC1PROCNEARPUSHDSSUBAX,AXPUSHAXLEASI,MUS_FREG1LEABP,DS:MUS_TIME1FREG1:MOVDI,[SI]CMPDI,-1JEEND_MUS1MOVDX,DS:[BP]MOVBX,1400CALLGENSOUNDADDSI,2ADDBP,2JMPFREG1END_MUS1:RETMUSIC1ENDPGENSOUNDPROCNEARPUSHAXPUSHBXPUSHCXPUSHDXPUSHDIMOVAL,0B6HOUT43H,ALMOVDX,12HMOVAX,533H*896DIVDIOUT42H,ALMOVAL,AHOUT42H,ALINAL,61HMOVAH,ALORAL,3OUT61H,ALWAIT1:MOVCX,8FF0HDELAY1:LOOPDELAY1DECBXJNZWAIT1MOVAL,AHOUT61H,ALPOPDIPOPDXPOPCXPOPBXPOPAXRETGENSOUNDENDPMUSIC2PROCNEARPUSHDSSUBAX,AXPUSHAXLEASI,MUS_FREG2LEABP,DS:MUS_TIME2FREG2:MOVDI,[SI]CMPDI,-1JEEND_MUS2MOVDX,DS:[BP]MOVBX,1400CALLGENSOUNDADDSI,2ADDBP,2JMPFREG1END_MUS2:RETMUSIC2ENDPMUSIC3PROCNEARPUSHDSSUBAX,AXPUSHAXLEASI,MUS_FREG3LEABP,DS:MUS_TIME3FREG3:MOVDI,[SI]CMPDI,-1JEEND_MUS3MOVDX,DS:[BP]MOVBX,1400CALLGENSOUNDADDSI,2ADDBP,2JMPFREG1END_MUS3:RETMUSIC3ENDPclearprocnearpushaxpushbxpushcxpushdxmovah,6moval,0movch,0movcl,0movdh,24movdl,79movbh,7int10hpopdxpopcxpopbxpopaxretclearendpCODEENDSENDMAIN

3、运行我们编辑的文件

汇编语言程序设计:[8]音乐程序

汇编语言程序设计:[8]音乐程序

汇编语言程序设计:[8]音乐程序

汇编语言程序设计:[8]音乐程序

lol重新随机进程是什么 ATANH函数的使用方法 pycharm怎么查看接口测试历史记录 对于非稳态导热过程往往要求先解决哪些问题? 三国杀武将马岱技能用法介绍
热门搜索
植物的图片 松鼠简笔画图片大全 手模图片 跳蚤咬的症状图片 免费韩漫无遮漫画全部