微机原理实验.doc

上传人:苏美尔 文档编号:5655660 上传时间:2020-07-20 格式:DOC 页数:50 大小:789KB
返回 下载 相关 举报
微机原理实验.doc_第1页
第1页 / 共50页
微机原理实验.doc_第2页
第2页 / 共50页
微机原理实验.doc_第3页
第3页 / 共50页
微机原理实验.doc_第4页
第4页 / 共50页
微机原理实验.doc_第5页
第5页 / 共50页
点击查看更多>>
资源描述

《微机原理实验.doc》由会员分享,可在线阅读,更多相关《微机原理实验.doc(50页珍藏版)》请在三一文库上搜索。

1、微型计算机原理实验报告学号 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

2、 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 I

3、NT 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, DDAT

4、A 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, MSRBX MOV ES:MSDBX, AL

5、INC BX LOOP NEXT2.实验结果实验三 数码转换程序实验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 JN

6、Z 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 START3.实验结果2 将十进制数的ASCII码转换为BCD码本实验要求将键盘输入的一个五位十进制数54321的ASCII码存放入数据区中,转换为 BCD 码后,并将转换结果按位分别显示于屏幕上。若输入的不是十进制数的ASCII码,则输出“FF”。提示:一字节ASCII码取其低四位即变

7、为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

8、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 START3.实验结果 3将十六进制数的ASCII码转换为十进制数 十六位二进制数的值域为0-65535,最大可转换为五位十进制数。五位十进制数可表示为:ND=D4104+D3103+D2102+D

9、110+D0 因此,将十六位二进制数转换为五位ASCII码表示的十进制数,就是求D1-D4,并将它们转化为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,D

10、ATA 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,SIBUF 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 HEXDI,AL INC DI INC SI CMP DI,4 JNZ CHECK LEA DX,S2 MOV AH,9 INT

11、 21H MOV AX,WORD PTR HEX SHL AL,4 ADD AH,AL MOV CH,AH MOV AX,WORD PTR 2HEX 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 DECISI,DL XOR DX,DX CMP AX,0 JNZ CONV LEA DX,DECI

12、MOV AH,9 INT 21H MOV AH,4CH INT 21H CODE ENDS END START3.实验结果4BCD码转换为二进制码 本实验要求将四个二位十进制数的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

13、 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 2DASC SUB AX,3030H SHL AL,4 ADD AL,AH MOV DISTO,AL MOV CH

14、,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,DISTO MOV BL,AL AND BL,0FH SHR AL,4 MOV CL,10 MUL CL ADD AL,BL INC DI MOV DISTO,AL

15、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=

16、 $ 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 2X MOV BX,WORD PTR 2Y ADC AX,BX MOV WORD PTR 2SUM,AX LEA DX,S MOV AH,9 INT 21H MOV CX,4 MOV SI,3 CHECK: MOV AL,SUMSI MOV AH

17、,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 START3.实验结果 (2)减法程序1.实验流程图2.实验程序DATA SEGMENT X D

18、W 0400H Y DW 0102H S DB Z=X-Y= $ 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

19、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 START3.实验结果实验五 分支程序设计实验实验内容:实验可以使用BH,BL作为暂存现行的最大值和最小值,且在程序的初始,将BH和BL初始化为首字节的内容,然后进入循环操作。在循环操作中,依次从字节序列中逐个取出一个字节的内容与BH,BL进行比较,若取出的字节内容比BH的内容大或比BL中的内容小,则修改之。当循环结束操作时,将BH,BL分别送屏幕显示。1. 实验流程图2.实验程序DATA SEGMENT B

20、UF 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 MO

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 科普知识


经营许可证编号:宁ICP备18001539号-1