微机原理实验报告
更新时间:2024-06-06 07:09:01 阅读量: 综合文库 文档下载
目录
实验一
1)………………………………………………………………(2) 2)………………………………………………………………(2) 3)………………………………………………………………(3) 实验二………………………………………………………………(4) 实验三
1)………………………………………………………………(5) 2)………………………………………………………………(5) 3)………………………………………………………………(6) 实验六
1)………………………………………………………………(6) 2)………………………………………………………………(7) 实验八
1)………………………………………………………………(8)
实验1 1)从0000:3100H内存单元存放0~15的平方数
STACK SEGMENT STACK DB 50 DUP(?) STACK ENDS
CODE SEGMENT
ASSUME CS:CODE
START:MOV DI,3100H
MOV CX,16 MOV AX,0
MOV DX,0 ;中间寄存器DX(0~15) S1:MOV AX,DX
MUL AL ;ALXAL=AH AL MOV [DI],AL INC DI INC DX LOOP S1 S2:JMP S2 CODE ENDS
END START
分析:
MUL 乘数是8位的, 被乘数是AL=AH AL
16位的, 被乘数是AX=DX AX DIV 除数是 8位的, 被除数是AL=AL存放商,AH存放余数除数是16位的,被除数AX=AX存放商,DX存放余数
实验1 2)REP MOVSB 指令 修改实验1程序2
STACK SEGMENT STACK DB 50 DUP(?) STACK ENDS CODE SEGMENT
ASSUME CS:CODE START:MOV CX,16
MOV AX,0 MOV ES,AX
MOV DS,AX ;赋初值 MOV SI,3100H MOV DI,3200H CMP SI,DI JA S1
ADD SI,CX ADD DI,CX DEC SI DEC DI
S2:STD ;SI REP MOVSB JMP S0 S1:CLD ;SI>DI 从头部开始传 +1操作 REP MOVSB JMP S0 S0:JMP S0 CODE ENDS 1 END START 分析: 关于REP MOVSB指令,使用之前必须对DS:SI源数据块首地址,ES:DI目的数据块的首地址,CX数据块长度,通过指定DF标志位,当DF=0时,每搬一个数据地址指针+1,用于从首址开始搬,DF=1,每搬一个数据地址指针-1,用于从末尾地址开始搬 实验1 3)统计正数、零、负数的个数 STACK SEGMENT STACK DB 50 DUP(?) STACK ENDS CODE SEGMENT ASSUME CS:CODE START:MOV DI,3000H MOV CL,[DI] XOR CH,CH MOV BL,CH INC DI MOV DX,0 L1:MOV AL,[DI] TEST AL,80H JZ L3 INC BL ;负数个数+1 JMP L2 L3:CMP AL,0 JE L4 INC DL ;正数个数+1 JMP L2 L4:INC DH ;0的个数+1 L2:INC DI LOOP L1 MOV [DI],BL MOV [DI+1],DL MOV [DI+2],DH INT 03H CODE ENDS END START 分析: 1.取1个数 2.判断符号位是否为0? Y-->不是负数,继续去判是0还是正数---〉3 N-->是负数,负数个数+1,地址指针+1取下个数---〉4 3.判断这个数是否为0? Y-->是0,0的个数+1,地址指针+1取下个--〉4 N-->是正数,正数个数+1,地址指针+1取下个-〉4 4.地址指针+1取下个 5.是不是最后个数? Y-->去放结果 N-->2 2 4.实验2 去前导0 如果被除数小于除数,则除不尽,会产生前导0,直接不做除法,取下个除数,如果除得尽,以后就不再做被除数与除数之间的比较 STACK SEGMENT STACK DB 50 DUP(?) STACK ENDS DATA SEGMENT DATA1 DW ? ;?为4位16进制数 SYS0 DW 10000,1000,100,10 DATA2 DB 5 DUP(20H) DATA ENDS CODE SEGMENT ASSUME CS:CODE, DS:DATA, SS:STACK, ES:DATA TTT PUSH DS XOR AX,AX PUSH AX MOV AX,DATA MOV DS,AX MOV AX,DATA1 ;取字数据 LEA BX,SYS0 ;取除数地址 MOV DI,0 ;商首地址 T0: MOV CX,WORD PTR[BX] XOR DX,DX DIV CX CMP AX,0 ;比较是否为0 JNE T2 ;若不为0,则跳至原程序逻辑 MOV AX,DX ;若为0继续找下一个 ADD BX,2 CMP CX,10 ;若查至十位数仍为0,则无论个位多少进入输出环节 JNE T0 JMP T3 T2: ADD AL,30H ;写入,有0会保留 MOV DATA2[DI],AL MOV AX,DX ADD BX,2 INC DI CMP CX,10 JNE T1 JMP T3 T1: MOV CX,WORD PTR[BX] XOR DX,DX DIV CX JMP T2 T3: ADD AL,30H 3 MOV DATA2[DI],AL INC DI MOV BX,OFFSET DATA2 MOV AH,06H INT 10H INT 03H CODE ENDS END TTT 实验3 1)在自小到大排序中如果第一次小循环的首次在头部比较交换过后再没有交换过,那么排序在第一次小循环结束后就结束运行 STACK SEGMENT STACK DB 50 DUP(?) STACK ENDS CODE SEGMENT ASSUME CS:CODE,SS:STACK MMM:MOV CX,15 M4:MOV SI,3000H MOV BL,0 PUSH CX MOV AL,[SI] CMP AL,[SI+1] JBE M1 XCHG AL,[SI+1] INC SI M2:MOV AL,[SI] CMP AL,[SI+1] JBE M1 XCHG AL,[SI+1] MOV [SI],AL MOV BL,1 M1:INC SI LOOP M2 CMP BL,0 JE M3 POP CX LOOP M4 M3: INT 03H CODE ENDS END MMM 实验3 2)有符号字数据排序 STACK SEGMENT STACK DB 50 DUP(?) STACK ENDS CODE SEGMENT ASSUME CS:CODE,SS:STACK MMM:MOV CX,15 M4:MOV SI,3000H 4 MOV BL,0 PUSH CX M2:MOV AX,WORD PTR[SI] ;字数据 CMP AX,WORD PTR[SI+2] JLE M1 ;有符号比较 XCHG AX,WORD PTR[SI+2] MOV WORD PTR[SI],AX MOV BL,1 M1:ADD SI,2 LOOP M2 CMP BL,0 JE M3 POP CX LOOP M4 M3: INT 03H CODE ENDS END MMM 实验3 3)找出和统计其中是0~9的数字字符,并同样将所有数字依次存放在A2数据区内。 STACK SEGMENT STACK DB 50 DUP(?) STACK ENDS DATA SEGMENT SL DB 0 A1 DB 'JLK2Fjkjl4jty48' N DB $-A1 A2 DB 20 DUP(20H),0 DATA ENDS CODE SEGMENT ASSUME CS:CODE, DS:DATA START:MOV AX,DATA MOV DS,AX LEA SI,A1 LEA DI,A2 MOV CL,N MOV CH,0 L2:MOV AL,[SI] CMP AL,'0'; JB L1 CMP AL,'9'; JA L1 MOV [DI],AL INC SL INC DI L1:INC SI LOOP L2 LEA BX,A2 ;显示数字 MOV AH,6 INT 10H HLT CODE ENDS 5 END START 实验6 1)用REP MOVSB或REP MOVSW指令改写 STACK SEGMENT PARA STACK ‘STACK’ STACK_BUF DW 100 DUP(?) TOP EQU $-STACK_BUF STACK ENDS DATA SEGMENT TABLE1 DB 10 DUP(?) STRING DB ‘NO ERROR!’,00H DATA ENDS CODE SEGMENT ASSUME SS:CODE,DS:DATA ASSUME SS:STACK,ES:DATA MAIN PROC FAR SSS:PUSH DS XOR AX,AX PUSH AX MOV AX,DATA MOV DS,AX ;赋予初始值 MOV AX,2000H MOV ES,AX ;赋予初始值 MOV CX,05 MOV SI,OFFSET TABLE1 MOV DI,0 L1:CLD REP MOVSW LEA BX,STRING MOV SI,OFFSET TABLE1 MOV DI,0 MOV CX,05 L3:CLD REP CMPSW JNZ L2 JMP L4 L2:ADD BX,2 L4:MOV AH,6 INT 10H INT 03H MAIN ENDP CODE ENDS END SSS 实验6 2)若将6264片选接到My7,则该如何修改源程序。STACK SEGMENT PARA STACK ‘STACK’ STACK_BUF DW 100 DUP(?) TOP EQU $-STACK_BUF STACK ENDS DATA SEGMENT TABLE1 DB 10 DUP(?) STRING DB ‘NO ERROR!’,00H DATA ENDS 6 CODE SEGMENT ASSUME SS:CODE,DS:DATA ASSUME SS:STACK,ES:DATA MAIN PROC FAR SSS:PUSH DS XOR AX,AX PUSH AX MOV AX,DATA MOV DS,AX MOV AX,3800H ;将CE接到MY7后段地址ES=3800H MOV ES,AX MOV CX,5 MOV SI,OFFSET TABLE1 MOV DI,1200H ;要求将数据写到6264偏移地址为1200H开始的地方 L1:CLD REP MOVSW LEA BX,STRING MOV SI,OFFSET TABLE1 MOV DI,1200H MOV CX,05 L3:CLD REP CMPSW JNZ L2 JMP L4 L2:ADD BX,2 L4:MOV AH,6 INT 10H INT 03H MAIN ENDP CODE ENDS END SSS 实验八 8255并行口应用二 1. 请自行组合出数码管显示H、E、L、P 的七段码数据。 STACK SEGMENT PARA STACK ‘STACK’ DB 64 DUP(?) STACK ENDS DATA SEGMENT DISP1 DB 1,2,3,4 DISP2 DB 10,11,12,13 MARK0 DB 0 LED DB 0 TIME DW 200H ;其值可在100H---0FFFFH设置 TABLE DB 76H,79H,38H,73H,66H,6DH,7DH ;0~6 DB 07H,7FH,6FH,77H,7CH,39H,5EH ;7~d DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA BEGIN: MOV AX,DATA ;加载数据段 MOV DS,AX MOV AL,88H ;设置8255的PA口、PC口低四位和 OUT 63H,AL ;PB口为输出,PC口高四位为输入 L0: MOV LED,0F7H ;先准惫选通第一个数码管 7 CMP MARK0,0 ;判标志位单元 JNZ L1 LEA SI,DISP1 ;为0,取DISP1首地址 JMP L2 L1: LEA SI,DISP2 ;非0,取DISP2首地址 L2: MOV BX,OFFSET TABLE ;取段码表首地址 MOV AL,[SI] ;取显示内容到AL XLAT ;查表换码 OUT 60H,AL ;送PA口输出 MOV AL,LED OUT 62H,AL ;选通数码管,PC口低四位输出 CALL D5MS ;调用5MS延时 MOV AL,LED TEST AL,1 ;判显示到最后一位? JZ L3 ;到了则重新开始 ROR AL,1 ;未到则右移到下一位数码管 MOV LED,AL INC SI ;显示RAM地址+1 JMP L2 ;跳到取下一个显示内容 L3: IN AL,62H ;读PC7 AND AL,80H ;按过键否? JZ L0 NOT MARK0 ;按过键则MARK0取反 JMP L0 D5MS: MOV CX,TIME DELAY:LOOP DELAY RET CODE ENDS END BEGIN 8
正在阅读:
微机原理实验报告06-06
vmware 使用 - 图文01-29
放风筝看图作文三年级06-16
2021年上半年某局党建工作总结08-30
沃尔玛运用RFID资料 - 图文01-01
苏教版六年级科学上册期末习题03-07
好生小学部分家长家庭体育锻炼感悟06-09
COA第一二章作业03-27
医院党支部参加“学党章”网络答题活动总结03-12
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 微机
- 原理
- 实验
- 报告
- 8B期中综合测试题
- 土木工程毕业设计计算书 - 图文
- Ansys中谐响应分析理论概述
- 湘教版七年级地理下册填图练习
- 波形合成器
- 建筑公司培训心得体会
- 运筹学2011春考核试卷A(本部)
- 中医妇科学(OK)
- 2007年高考-理综试题《全国卷1》(word版)(陕西、辽宁、浙江、安
- 第二章 医药卫生体制改革与药品供应保障制度
- 第十二章 化学动力学基础(二)
- 红岩陈列馆观后感
- CMMI(预)评估PM问卷
- 八年级数学第2周周纠错练习
- 基于PLC控制的中央空调节能改造
- 北京师范大学网络教育---小学数学教学论答案
- 16秋上海交大网络计算机第二次作业
- 卫生监督稽查制度
- H3C无线控制器AC调试维护手册
- 2013年江西省职业院校技能大赛高职组报关技能项目-团体赛试卷