养生 装修 购物 美食 感冒 便秘 营销 加盟 小吃 火锅 管理 创业 搭配 减肥 培训 旅游

汇编语言程序设计:[3]产生随机数并运算

时间:2024-10-01 03:27:44

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

工具/原料

AssemblyLanguageMasm汇编编译器

方法/步骤

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

汇编语言程序设计:[3]产生随机数并运算

汇编语言程序设计:[3]产生随机数并运算

2、产生随机数的方法是利用系统时钟RANDPROCPUSHCXPUSHDXPUSHAXSTIMOVAH,0;读时钟计数器值INT1AHMOVAX,DX;清高6位ANDAH,3MOVDL,101;除101,产生0~100余数DIVDLMOVBL,AH;余数存BX,作随机数POPAXPOPDXPOPCXRETRANDENDP

3、在正文中输入我们的程序代码,并将文件命名为random.asmDATASEGME鲍伊酷雪NTCCDB'+'wwdb'-刻八圄俏9;GGDB'='IIDB0DH,0AH,'$'AADB5DUP(?)wwwdw0ghhdb'0',0dh,0ah,'$'bnmdw0DATAENDSSTACKSEGMENTDB200DUP(0)STACKENDSCODESEGMENTASSUMECS:CODE,DS:DATA,SS:STACKSTART:MOVAX,DATAMOVDS,AXMOVCX,20CALLRAND;产生一随机数CALLMCAT;将随机数转换为16进制表示的ASCII码字符MOVAX,BXPUSHAXCMPwww,0;WWW=0?JEA1;执行'+'CMPwww,1;www=1?JEA2;执行'-'A1:MOVDL,CC;显示'+'MOVAH,2INT21HCALLRAND;产生另一随机数addbx,0fhCALLMCAT;将随机数转换为16进制表示的ASCII码字符MOVDL,GG;显示'='MOVAH,2INT21HPOPAXADDAX,BXcmpax,0jneyjw1leadx,ghhmovah,9int21hjmpqq1yjw1:JMPB1A2:MOVDL,WW;显示'-'MOVAH,2INT21Hmovcx,65535mai1:loopmai1CALLRAND1CALLMCATMOVDL,GGMOVAH,2INT21HPOPAXSbbAX,BXcmpax,0jneyjw2leadx,ghhmovah,9int21hjmpqq1yjw2:JMPB1B1:MOVBX,AXCALLMCATleaDX,IIMOVAH,9INT21HQQ1:MOVAH,4CHINT21HMCATPROC;将随机数转换为16进制表示的ASCII码字符子程序PUSHAXpushbxPUSHCXPUSHDXCMPBX,9JAS1PUSHAXPUSHBXPUSHCXPUSHDXmovax,bxmovbl,5divblcmpah,3jaevb1movwww,1jmpvn1vb1:movwww,0vn1:popdxpopcxpopbxpopaxADDBL,30HMOVAA,BLMOVAA+1,'$'LEADX,AAMOVAH,9INT21HJMPs3s1:MOVCL,4MOVAL,0PUSHBXSHLBX,CLCMPBH,9JBEV1SUBBH,9ADDBH,40HJMPMM1V1:ADDBH,30HMM1:MOVAA,BHPOPBXANDBL,0FHPUSHAXPUSHBXPUSHCXPUSHDXmovax,bxmovbl,5divblcmpah,3jaevb2movwww,1jmpvn2vb2:movwww,0vn2:popdxpopcxpopbxpopaxCMPBL,9JBETT1SUBBL,9ADDBL,40HJMPRR1TT1:ADDBL,30HRR1:MOVAA+1,BLMOVAA+2,'$'LEADX,AAMOVAH,9INT21Hs3:POPDXPOPCXPOPBXPOPAXRETMCATENDPRANDPROCPUSHCXPUSHDXPUSHAXSTIMOVAH,0;读时钟计数器值INT1AHMOVAX,DX;清高6位ANDAH,3MOVDL,101;除101,产生0~100余数DIVDLMOVBL,AH;余数存BX,作随机数POPAXPOPDXPOPCXRETRANDENDPRAND1PROCPUSHCXPUSHDXPUSHAXSTIMOVAH,0INT1AHMOVax,cxANDAH,3MOVDL,101DIVDLMOVBL,AHPOPAXPOPDXPOPCXRETRAND1ENDPCODEENDSENDSTART

汇编语言程序设计:[3]产生随机数并运算

4、运行我们编辑的文件就会出现产生的随机说进行了运算

汇编语言程序设计:[3]产生随机数并运算

汇编语言程序设计:[3]产生随机数并运算

© 一点知识