微型计算机原理试验_第1页
微型计算机原理试验_第2页
微型计算机原理试验_第3页
微型计算机原理试验_第4页
微型计算机原理试验_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、-WORD格式 - 可编辑 -实验一:输出字符 A的源程序如下: PROG SEGMENTASSUME CS:PROGSTART: MOV DL,AMOV AH , 2INT 21H MOV AH , 4CHINT 21HPROG ENDSEND START实验二:1. 把 BX 中的二进制数转换成十进制数,在屏幕上显示出来,只 考虑无符号数。程序如下:CODE SEGMENTASSUME CS:CODESTART: MOV BX,0FFFHMOV CX,10000CALL DEC_DIVMOV CX, 1000CALL DEC_DIVMOV CX,100CALL DEC_DIVMOV CX,

2、10CALL DEC_DIVMOV CX,1CALL DEC_DIVMOV AH,4CHINT 21HDEC_DIVPROC NEARMOV AX,BXMOV DX,0DIV CXMOV BX,DX-WORD格式 - 可编辑 -MOVDL,ALADDDL,30HMOVAH,2INT21HRETDEC_DIVENDPCODE ENDSENDSTART-WORD格式 - 可编辑 -2. 把 BX 中的带符号数转换成十进制数,在屏幕上显示出来。程序如下: CODE SEGMENTASSUME CS:CODEBX,8001START: MOV HMOVAX,8000HANDAX,BXJNZMINUSJ

3、MPDISPMINUS: MOV DL,-MOVAH,221INTHBNEGXJMPDISPDISP:MOVCX,10000CALLDEC_DIVMOVCX, 1000CALLDEC_DIVMOVCX,100CALLDEC_DIVMOVCX,10CALLDEC_DIVMOVCX,1CALLDEC_DIVMOVAH,4CH21INTHDEC_DIVPROCNEARMOVAX,BXMOVDX,0DIVCXMOVBX,DXMOVDL,AL-WORD格式 - 可编辑 -ADD DL,30HMOV AH,221INT HRETDEC_DIVENDPCODE ENDSEND START3. 求一个数据块(

4、由 10 个单字节的无符号数组成)中的最大元素, 并将结果在屏幕上显示出来,程序如下:DATA SEGMENTBLOCK1,0,5,7,10,30,100,127,90,80DBRESULT?DBDATA ENDS-WORD格式 - 可编辑 -CODE SEGMENTCS:CODE,DS:DATASSUME ABEGIN PROC FARMOVAX,DATAMOVDS,AXMOVCX,9LEASI,BLOCKMOVAL,SIX1: INCSICMPAL,SIJAEX2MOVAL,SIX2:LOOPX1MOVRESULT,ALMOVAH ,0MOVBX,AXCALLXIANSHIMOVAH,4C

5、HINT21HBEGIN ENDPXIANSHIPROCNEARMOVAL,80HANDAL,BLJNZMINUSJMPDISPMINUS: MOV DL,-MOVAH,2INT21HBNEGLJMPDISPDISP:MOVCX,100CALLDEC_DIV-WORD格式 - 可编辑 -MOVCX,10CALLDEC_DIVMOVCX,1CALLDEC_DIVMOVAH,4CHINT 21HXIANSHIENDP DEC_DIVPROCNEARMOVAX,BXMOVDL,0-WORD格式 - 可编辑 -DIVCLMOVBL,AHBH,0MOVDL,ALDL,30HMOVADDAH,221HMO

6、VINTRET DEC_DIV ENDP CODE ENDSENDBEGIN4. 求一个数据块(由 20 个单字节的带符号数组成)中的正数和(字)和 负数和(字),并在屏幕上用十进制的形式显示出两个和。程序如下:DATA SEGMENTBLOCK DW -100,100,200,-200,5,6,7,8,9,10DW11,12,13,14,15,50,-50,150,-150,-200POSIT DWNEGAT DWST1 DBThe sum of all the positive numbers:$ST2 DBThe sum of the negative numbers:$MOVAX,DA

7、TAMOVDS,AXMOVBX,OFFSET BLOCKMOVSI,0MOVDI,0MOVCX,20-WORD格式 - 可编辑 -X1: MOVAX,BXCMPAX,0JGEX3ADDDI,AXJMPX2X3: ADDSI,AXX2: ADDBX,2LOOPX1MOVPOSIT,SIMOVNEGAT,DIMOBX,SIVDX,OFFSET ST1MOAH,9VMOV-WORD格式 - 可编辑 -INT21HCALLXIANSHIMOVDL,0DHAH,MOV2INT21HMOVDL,0AHAH,MOV2INT21HMOVBX,NEGATNEGBXANDBX,7FFFHDX,OFFSETMOVS

8、T2AH,MOV9INT21HDL,MOVAH,MOV2INT21HCALLXIANSHIMOVAH,4CHINT21HSTART ENDPXIANSHI PROC NEARMOVCX,100CALLDEC_DIVMOVCX,10CALLDEC_DIVCX,MOV1CALLRETDEC_DIVXIANSHI ENDPDEC_DIV PROC NEAR-WORD格式 - 可编辑 -MOVAX,BXDX,MOVDIVMOVMOVADD0CXBX,DXDL,ALDL,30HAH,MOVINTRET221HDEC_DIV ENDPCODE ENDSENDSTART5. 将寄存器 BX 中的二进制数转换

9、成十六进制数并在屏幕上显示出来-WORD格式 - 可编辑 -程序如下:CODE SEGMENTCS:CODASSUME EBINHEXPROCFARMOVCH,4MOVBX,1000ROTATE:MOVCL,4ROLBX,CLMOVDL,BLANDDL,0FHADDDL,30HCMPDL,3AHJLOUTPUTADDDL,7OUTPUT:MOVAH,2INT21HDECCHJNEROTATEMOVDL,HMOVAH,2INT21HMOVAH,4CHINT21HBINHEXENDPCODE ENDSEND BINHEX-WORD格式 - 可编辑 -实验三:1. 从键盘上输入一个十进制数( 入寄存

10、器 BX 中,其程序框图如下:程序如下:CODE SEGMENTASSUME CS:CODESTART PROCCALLDECBINCALLXIANSHIMOVAH,4CHINT21HSTART ENDPNEADECBIN PROC RMOVCX,10MOVBX,0LOP1: MOV AH,1INT21HCMPAL,30HEXIJLTCMPAL,39HJGEXITSUBAL,30HMOVAH,00HXCHGAX,BXMULCXADDBX,AXJMPLOP1EXIT:RETDECBIN ENDP065535),转换成二进制数并放NEARXIANSHI PROC-WORD格式 - 可编辑 -LP1

11、:MOVCX,10000CALLDEC_DIVMOVCX,1000CALLDEC_DIVMOVCX,100CALLDEC_DIVMOVCX,10CALLDEC_DIVMOVCX,1CALLDEC_DIV-WORD格式 - 可编辑 -RETXIANSHI ENDPDEC_DIV PROC NEARMOV AX,BXMOV DX,0DIV CXMOV BX,DXMOV DL,ALADD DL,30HMOV AH,2INT 21HRETDEC_DIV ENDPCODE ENDSEND START2. 从键盘上输入 0 65535 范围的一个十进制数,在屏幕上显示出 相应的十六进制数。程序如下:COD

12、E SEGMENTASSUME CS:CODESTART PROCCALLDECBINMOVCH,4CALLROTATEMOVAH,4CHINT21HSTART ENDPNEADECBIN PROC RMOV CX,10MOV BX,0LOP1: MOV AH,1INT 21H-WORD格式 - 可编辑 -CMPAL,30HEXIJLTCMPAL,39HJGEXITSUBAL,30HMOVAH,00HXCHGAX,BXMULCXADDBX,AXJMPLOP1-WORD格式 - 可编辑 -EXIT:RET DECBIN ENDP ROTATE PROCLOP2: MOV CL,4ROLBX,CL

13、MOVDL,BLANDDL,0FHADDDL,30HCMPDL,3AHJLOUTPUTADDDL,7AH,OUTPUT: MOV 2INT21HCDECHJNELOP2MOVDL,HMOVAH,2INT21HMOVAH,4CHINT21HROTATEENDPCODE ENDSENDSTART实验四:1.在内存中存有一字0 为结尾,程序开始输出 HELLO 然后符串,以等待从键盘输入一字符,再改字符串中寻找该字符,若找yes;若找不到,输出到,输出 no ,然后再 输入下一字符。程序如下:DAT SEGMEA NT-WORD格式 - 可编辑 -HELLO,0DH,0STR1 DBAH,$STR2

14、 DB20H,YES,0DH,0AH,$20H,NO,0DH,0STR3 DBAH,$STR4 DB1 2 3 0 4 5 A B a=! ?,00HDATA ENDSCOD SEGMEE NTASSUMCS:CODE,DS:DEATASTART PROCFARMOVAX,DATAMOVDS,AXDX,OFFSETMOVSTR1MOVAH,9INT21HLOOP1: MOV INT MOV GON: MOV CMP JZ INC CMP JNZ MOV GO: MOVINT JMP NO: MOVJMPSTART ENDP CODE ENDS-WORD格式 - 可编辑 -AH,121HBX,O

15、FFSET STR4AH,BXAH,0NOBXAH,ALGONDX,OFFSET STR2AH,921HLOOP1DX,OFFSET STR3 GOEND START2.实验内容 12.实验内容 1 的程序是个无限循环程序,若按 出循环,是系统返 回 DOS 。已知 ESC键的键值是1实B验H内,容按照上面要求对ESC键,让程序退1 的程序进行修 改,然后重新汇编、链接和运行程序如下:SEGMEDATANTSTR1DBHELLO,0DH,0AH,$STR2DB20H,YES,0DH,0AH,$STR3DB20H,NO,0DH,0AH,$STR4DB1 2 3 0 4 5 A B a=! ?,00HDATAENDSCODSEGMEENTASSUMECS:CODE,DS:DATASTART PROC FARMOVAX,DATAMOVDS,AX

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论