收藏 分销(赏)

微机原理实验.doc

上传人:天**** 文档编号:4345720 上传时间:2024-09-09 格式:DOC 页数:45 大小:781KB
下载 相关 举报
微机原理实验.doc_第1页
第1页 / 共45页
微机原理实验.doc_第2页
第2页 / 共45页
点击查看更多>>
资源描述
微型计算机原理实验报告 学号 40953055 姓名 海米提。热合木江 班级 测控0902班 实验一 显示程序实验 一般来说,程序需要显示输出提示运行得状况与结果,有得还需要将数据区中得内容显示在屏幕上。本实验要求将指定数据区得数据以十六进制数形式显示在屏幕上,并通过DOS功能调用完成一些提示信息得显示。实验中可使用DOS功能调用(INT 21H)。 流程图 2、试验程序 DATA SEGMENT MES DB 'Show a as hex:', 0AH,0DH,'$' SD DB 'a' DATA ENDS CODE SEGMENT ASSUME CS:CODE, DS:DATA START: MOV AX, DATA MOV DS, AX MOV DX, OFFSET MES MOV AH, 09H INT 21H MOV DI, OFFSET SD MOV AL, DS:[DI] AND AL, 0F0H SHR AL,4 CMP AL, 0AH JB C2 ADD AL, 07H C2: ADD AL, 30H MOV DL, AL MOV AH, 02H INT 21H MOV AL, DS:[DI] AND AL, 0FH CMP AL, 0AH JB C3 ADD AL, 07H C3: ADD AL, 30H MOV DL, AL MOV AH, 02H INT 21H MOV AX, 4C00H INT 21H CODE ENDS END START 实验二 数据传送实验 三、实验内容 将数据段中得一个字符串传送到附加段中,并输出附加段中得目标字符串到屏幕上 1. 试验程序 DATA SEGMENT MSR DB "HELLO,WORLD!$" LEN EQU $ MSR DDATA ENDS EXDA SEGMENT MSD DB LEN DUP(?) EXDA ENDS MYSTACK SEGMENT STACK DW 20 DUP(?) MYSTACK ENDS CODE SEGMENT ASSUME CS:CODE, DS:DDATA, ES:EXDA START: MOV AX, DDATA MOV DS, AX MOV AX, EXDA MOV ES,AX MOV SI, OFFSET MSR MOV DI, OFFSET MSD MOV CX, LEN NEXT: MOV AL, [SI] MOV ES:[DI], AL INC SI INC DI DEC CX JNZ NEXT PUSH ES POP DS MOV DX, OFFSET MSD MOV AH, 9 INT 21H MOV AX, 4C00H INT 21H CODE ENDS END START MOV BX, 0 MOV CX, LEN NEXT: MOV AL, MSR[BX] MOV ES:MSD[BX], AL INC BX LOOP NEXT 2、实验结果 实验三 数码转换程序实验 1. 将ASCII码表示得十进制数转换为二进制数 1. 流程图 2、试验程序 DATAS SEGMENT NUMBER DB '00012' DATAS ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATAS START: MOV AX,DATAS MOV DS,AX MOV CX,4 MOV SI,OFFSET NUMBER MOV AL,[SI] SUB AL,30H MOV AH,00H MOV BL,10 L1: MUL BL ADD AL,[SI+1] SUB AL,30H INC SI DEC CX JNZ L1 MOV CX,8 MOV BL,AL NEXT: SHL BL,1 JC ONE MOV DL,30H JMP EXIT ONE: MOV DL,31H EXIT: MOV AH,02H INT 21H DEC CX JNZ NEXT MOV AH,4CH INT 21H CODE ENDS END START 3、实验结果 2. 将十进制数得ASCII码转换为BCD码 本实验要求将键盘输入得一个五位十进制数54321得ASCII码存放入数据区中,转换为 BCD 码后,并将转换结果按位分别显示于屏幕上。若输入得不就是十进制数得ASCII码,则输出“FF”。提示:一字节ASCII码取其低四位即变为BCD码 1. 实验流程图 2、实验程序 DATAS SEGMENT BUF DB 6 DB ? DB 6 DUP(?) BUFE DB 'FF$' DATAS ENDS CODE SEGMENT ASSUME DS:DATAS,CS:CODE START: MOV AX,DATAS MOV DS,AX MOV DX,OFFSET BUF MOV AH,10 INT 21H MOV CH,5 MOV SI,DX L2: MOV BL,[SI+2] INC SI CMP BL,39H JA L1 SUB BL,30H AND BL,0FH MOV DH,4 MOV CL,4 ;SHL AL,CL ROL BL,CL NEXT: SHL BL,1 JC ONE MOV DL,30H JMP EXIT ONE: MOV DL,31H EXIT: MOV AH,2 INT 21H DEC DH JNZ NEXT DEC CH JNZ L2 JMP L3 L1: MOV DX,OFFSET BUFE MOV AH,9 INT 21H L3: MOV AH,4CH INT 21H CODE ENDS END START 3、实验结果 3.将十六进制数得ASCII码转换为十进制数 十六位二进制数得值域为065535,最大可转换为五位十进制数。五位十进制数可表示为: ND=D4×104+D3×103+D2×102+D1×10+D0 因此,将十六位二进制数转换为五位ASCII码表示得十进制数,就就是求D1D4,并将它们转化为ASCII码。本实验要求将缓冲区中存放得000CH得ASCII码转换成十进制数,并将转结果显示在屏幕 1. 实验流程图 2. 实验程序 DATA SEGMENT BUF DB 5 DB ? DB 5 DUP(?) HEX DB 4 DUP(?) DECI DB 5 DUP(0),'$' S1 DB '16JINZHI : $' S2 DB 0AH,0DH,'10JINZHI : $' DATA ENDS CODE SEGMENT ASSUME CS:CODE, DS:DATA START: MOV AX,DATA MOV DS,AX LEA DX,S1 MOV AH,9 INT 21H LEA DX,BUF MOV AH,10 INT 21H MOV SI,2 MOV DI,0 CHECK: MOV AL,[SI][BUF] CMP AL,40H JS NUM CMP AL,47H JS CAPITAL SUB AL,57H JMP STORE NUM: SUB AL,30H JMP STORE CAPITAL: SUB AL,37H JMP STORE STORE: MOV HEX[DI],AL INC DI INC SI CMP DI,4 JNZ CHECK LEA DX,S2 MOV AH,9 INT 21H MOV AX,WORD PTR HEX SHL AL,4 ADD AH,AL MOV CH,AH MOV AX,WORD PTR 2[HEX] SHL AL,4 ADD AL,AH MOV AH,CH MOV SI,5 MOV BX,10 MOV DX,0 CMP AX,0 JNS CONV NEG AX PUSH AX PUSH DX MOV DL,2DH MOV AH,2 INT 21H POP DX POP AX CONV: DEC SI DIV BX ADD DX,30H MOV DECI[SI],DL XOR DX,DX CMP AX,0 JNZ CONV LEA DX,DECI MOV AH,9 INT 21H MOV AH,4CH INT 21H CODE ENDS END START 3、实验结果 4.BCD码转换为二进制码 本实验要求将四个二位十进制数得BCD码存放在某一内存单元中,转换出得二进制数码存入其后得内存单元中,转换结束,送屏幕显示。 1、实验流程图 2、实验程序 DATA SEGMENT DASC DB 3 DB ? DB 3 DUP(?) S1 DB 0AH,0AH,0DH,'10 JINZHI MA : $' S2 DB 0AH,0DH,' BCD MA: $' S3 DB 0AH,0DH,' 2 JINZHI MA : $' STO DB 8 DUP(?) DATA ENDS CODE SEGMENT ASSUME CS:CODE, DS:DATA START: MOV AX,DATA MOV DS,AX MOV DI,0 MOV SI,4 LOOPER: CALL WHOLE DEC SI JNZ LOOPER JMP EXIT WHOLE: LEA DX,S1 MOV AH,9 INT 21H LEA DX,DASC MOV AH,10 INT 21H LEA DX,S2 MOV AH,9 INT 21H MOV AX,WORD PTR 2[DASC] SUB AX,3030H SHL AL,4 ADD AL,AH MOV [DI][STO],AL MOV CH,2 MOV CL,4 PRE1: MOV DX,30H ROL AL,1 JNC DISP1 ADD DX,01H DISP1: PUSH AX MOV AH,02 INT 21H POP AX DEC CL JNZ PRE1 PUSH AX MOV DL,20H MOV AH,2 INT 21H POP AX DEC CH MOV CL,4 JNZ PRE1 LEA DX,S3 MOV AH,9 INT 21H MOV AL,[DI][STO] MOV BL,AL AND BL,0FH SHR AL,4 MOV CL,10 MUL CL ADD AL,BL INC DI MOV [DI][STO],AL INC DI MOV CX,8 PRE2: MOV DX,30H ROL AL,1 JNC DISP2 ADD DX,01H DISP2: PUSH AX MOV AH,02 INT 21H POP AX LOOP PRE2 RET EXIT: MOV AH,4CH INT 21H CODE ENDS END START 实验四 运算类程序实验 1. 二进制双精度加法运算 本实验要求计算x+y=z,将结果z输出到屏幕,其中x=001565a0h,y=0021b79eh、 1. 实验流程图 2、实验程序 DATA SEGMENT X DD 421C65A0H Y DD 3C41B69BH S DB 'X+Y= $' SUM DB 4 DUP(0) DATA ENDS CODE SEGMENT ASSUME CS:CODE, DS:DATA START: MOV AX,DATA MOV DS,AX MOV AX,WORD PTR X MOV BX,WORD PTR Y ADD AX,BX MOV WORD PTR SUM,AX MOV AX,WORD PTR 2[X] MOV BX,WORD PTR 2[Y] ADC AX,BX MOV WORD PTR 2[SUM],AX LEA DX,S MOV AH,9 INT 21H MOV CX,4 MOV SI,3 CHECK: MOV AL,SUM[SI] MOV AH,AL SHR AL,4 CMP AL,0AH JS DISP1 ADD AL,07H DISP1: ADD AL,30H MOV DL,AL PUSH AX MOV AH,02H INT 21H POP AX AND AH,0FH CMP AH,0AH JS DISP2 ADD AH,07H DISP2: ADD AH,30H MOV DL,AH MOV AH,02H INT 21H DEC SI LOOP CHECK EXIT: MOV AH,4CH INT 21H CODE ENDS END START 3、实验结果 (2)减法程序 1、实验流程图 2、实验程序 DATA SEGMENT X DW 0400H Y DW 0102H S DB 'Z=XY= $' Z DW 2 DUP(0) DATA ENDS CODE SEGMENT ASSUME CS:CODE, DS:DATA START: MOV AX,DATA MOV DS,AX LEA DX,S MOV AH,9 INT 21H MOV AX,WORD PTR X MOV BX,WORD PTR Y SUB AL,BL AAS SUB AH,BH AAS MOV Z,AX ADD AX,3030H MOV BX,AX MOV DL,30H MOV AH,2 INT 21H MOV DL,BH MOV AH,2 INT 21H MOV DL,30H MOV AH,2 INT 21H MOV DL,BL MOV AH,2 INT 21H EXIT: MOV AH,4CH INT 21H CODE ENDS END START 3、实验结果 实验五 分支程序设计实验 实验内容:实验可以使用BH,BL作为暂存现行得最大值与最小值,且在程序得初始,将BH与BL初始化为首字节得内容,然后进入循环操作。在循环操作中,依次从字节序列中逐个取出一个字节得内容与BH,BL进行比较,若取出得字节内容比BH得内容大或比BL中得内容小,则修改之。当循环结束操作时,将BH,BL分别送屏幕显示。 1. 实验流程图 2、实验程序 DATA SEGMENT BUF DB 'The max number:$' CUF DB 0AH,0DH,'The mini number:$' DUF DB 0D9H,07H,8BH,0C5H,0EBH,04H,9DH,0F9H DATA ENDS CODE SEGMENT ASSUME DS:DATA,CS:CODE START: MOV AX,DATA MOV DS,AX MOV DX,OFFSET BUF MOV AH,9 INT 21H MOV SI,OFFSET DUF MOV CH,7 MOV BH,[SI] MOV BL,[SI] L1: INC SI MOV AL,[SI] CMP AL,BH JB L2 MOV BH,AL L2: CMP AL,BL JA L3 MOV BL,AL L3: DEC CH JNZ L1 ;MOV BH,0B9H XIANSHI: MOV AL,BH ;显示 BH与BL MOV CL,4 SHR AL,CL CMP AL,0AH JB C1 ADD AL,07H C1: ADD AL,30H MOV DL,AL MOV AH,2 INT 21H MOV AL,BH AND AL,0FH CMP AL,0AH JB C2 ADD AL,07H C2: ADD AL,30H MOV DL,AL MOV AH,2 INT 21H MOV DX,OFFSET CUF
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传
相似文档                                   自信AI助手自信AI助手

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服