微型计算机原理实验Word文件下载.docx
《微型计算机原理实验Word文件下载.docx》由会员分享,可在线阅读,更多相关《微型计算机原理实验Word文件下载.docx(14页珍藏版)》请在冰豆网上搜索。
CODE
START:
MOVBX,0FFFH
MOVCX,10000
CALLDEC_DIV
MOVCX,1000
MOVCX,100
MOVCX,10
MOVCX,1
MOVAH,4CH
DEC_DIVPROCNEAR
MOVAX,BX
MOVDX,0
DIVCX
MOVBX,DX
MOVDL,AL
ADDDL,30H
MOVAH,2
RET
DEC_DIVENDP
CODEENDS
2.把BX中的带符号数转换成十进制数,在屏幕上显示出来。
MOVBX,8001H
MOVAX,8000H
ANDAX,BX
JNZMINUS
JMPDISP
MINUS:
-'
NEGBX
DISP:
3.求一个数据块(由10个单字节的无符号数组成)中的最大元素,并将结果在屏幕上显示出来,程序如下:
DATASEGMENT
BLOCKDB1,0,5,7,10,30,100,127,90,80
RESULTDB?
DATAENDS
CODE,DS:
DATA
BEGINPROCFAR
MOVAX,DATA
MOVDS,AX
MOVCX,9
LEASI,BLOCK
MOVAL,[SI]
X1:
INCSI
CMPAL,[SI]
JAEX2
X2:
LOOPX1
MOVRESULT,AL
MOVAH,0
MOVBX,AX
CALLXIANSHI
BEGINENDP
XIANSHIPROCNEAR
MOVAL,80H
ANDAL,BL
NEGBL
XIANSHIENDP
MOVDL,0
DIVCL
MOVBL,AH
MOVBH,0
ENDBEGIN
4.求一个数据块(由20个单字节的带符号数组成)中的正数和(≤字)和负数和(≤字),并在屏幕上用十进制的形式显示出两个和。
BLOCKDW-100,100,200,-200,5,6,7,8,9,10
DW11,12,13,14,15,50,-50,150,-150,-200
POSITDW?
NEGATDW?
ST1DB'
Thesumofallthepositivenumbers:
$'
ST2DB'
Thesumofthenegativenumbers:
CODE,DS:
STARTPROC
MOVBX,OFFSETBLOCK
MOVSI,0
MOVDI,0
MOVCX,20
MOVAX,[BX]
CMPAX,0
JGEX3
ADDDI,AX
JMPX2
X3:
ADDSI,AX
ADDBX,2
MOVPOSIT,SI
MOVNEGAT,DI
MOVBX,SI
MOVDX,OFFSETST1
MOVAH,9
MOVDL,0DH
MOVDL,0AH
MOVBX,NEGAT
ANDBX,7FFFH
MOVDX,OFFSETST2
STARTENDP
5.将寄存器BX中的二进制数转换成十六进制数并在屏幕上显示出来。
BINHEXPROCFAR
MOVCH,4
MOVBX,1000
ROTATE:
MOVCL,4
ROLBX,CL
MOVDL,BL
ANDDL,0FH
CMPDL,3AH
JLOUTPUT
ADDDL,7
OUTPUT:
DECCH
JNEROTATE
H'
BINHEXENDP
ENDBINHEX
实验三:
1.从键盘上输入一个十进制数(0~65535),转换成二进制数并放入寄存器BX中,其程序框图如下:
CALLDECBIN
DECBINPROCNEAR
MOVBX,0
LOP1:
MOVAH,1
CMPAL,30H
JLEXIT
CMPAL,39H
JGEXIT
SUBAL,30H
MOVAH,00H
XCHGAX,BX
MULCX
ADDBX,AX
JMPLOP1
EXIT:
DECBINENDP
LP1:
MOVCX,1000
2.从键盘上输入0~65535范围的一个十进制数,在屏幕上显示出相应的十六进制数。
CALLROTATE
ROTATEPROC
LOP2:
JNELOP2
ROTATEENDP
实验四:
1.在内存中存有一字符串,以0为结尾,程序开始输出‘HELLO’然后等待从键盘输入一字符,再改字符串中寻找该字符,若找到,输出‘yes’;
若找不到,输出‘no’,然后再输入下一字符。
STR1DB'
HELLO'
0DH,0AH,'
STR2DB20H,'
YES'
STR3DB20H,'
NO'
STR4DB'
123045ABa=!
?
'
00H
STARTPROCFAR
MOVDX,OFFSETSTR1
LOOP1:
MOVBX,OFFSETSTR4
GON:
MOVAH,[BX]
CMPAH,0
JZNO
INCBX
CMPAH,AL
JNZGON
MOVDX,OFFSETSTR2
GO:
JMPLOOP1
NO:
MOVDX,OFFSETSTR3
JMPGO
2.实验内容1的程序是个无限循环程序,若按‘ESC’键,让程序退出循环,是系统返回DOS。
已知‘ESC’键的键值是1BH,按照上面要求对实验内容1的程序进行修改,然后重新汇编、链接和运行。