32位微机原理上机实验报告
更新时间:2023-12-16 07:12:01 阅读量: 教育文库 文档下载
西北工业大学明德学院
实验报告
实验项目 微机原理与接口应用实验
班 级 121204 姓 名 田家豪 王辰硕 学 号 121566 121567 指导老师 伍明高
实验题目
(1)显示班级符号输出; (2)显示学号符号输出; (3)显示姓名符号输出; (4)显示单个字符输出;
实验目的
1、掌握在PC机上以十六位进制形式显示数据的方法 2、熟悉汇编的调试环境和使用
实验内容
STACK1 SEGMENT STACK DW 256 DUP(?) STACK2 ENDS
DATA SEGMENT USE13 MES1 DB ‘121204’,0AH,0DH,‘$’ MES2 DB ‘121566’,0AH,0DH,‘$’ MES3 DB ‘TIANJIAHAO’,0AH,0DH,‘$’ MES4 DB ‘121204’,0AH,0DH,‘$’ MES5 DB ‘121567’,0AH,0DH,‘$’
MES6 DB ‘WANGCHENSHUO’,0AH,0DH,‘$’
SD DB ‘A’ DATA ENDS MOV AH,09H INT 21H
MOV DX,OFFSET MES3 MOV AH,09H INT 21H
MOV DX,OFFSET SD MOV AL,DS:[SI] AND AL,0F0H SHR AL,4 CMP AL,0AH JB C2 ADD AL,07H
CODE SEGMENT USE13
ASSUME CS:CODE,DS:DATA START:MOV AX,DATA MOV DS,AX
MOV DX,OFFSET MES1 MOV AH,09H INT 21H
MOV DX,OFFSET MES2 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)运行编译器,编译程序。 (2)单击编译,保存。
(3)单击调试程序,发现无误。 (4)运行程序。
实验总结
1.通过实验,熟悉了汇编语言编译环境,了解了程序的编译,运行和调试的方法
2.实验过程中,在调试的时候,各调试指令的用法十分复杂,需要不断练习,熟悉指令的运行目的。
3.不同的程序代码,在不同的环境运行方式也不同,这是我们必须要掌握的技能。
实验题目
显示程序实验 实验目的
(1) 掌握在PC机上以十六进制形式显示数据的方法。 (2) 掌握部分DOS功能调用使用方法。 (3) 熟悉Tdpit集成环境和调试器的使用。
实验内容及说明
一般来说,有很多程序需要显示输出提示运行的状况和结果,有的还需要将数据区中的内容显示在屏幕上。本实验要求将指定数据区的数据以十六进制数形式显示在屏幕上,并通过DOS功能调用完成一些提示信息的显示。实验中可使用DOS功能调用(INT 21H)。 (1) 显示单个字符输出 入口:AH=02H 调用参数:DL=输出字符 (2) 显示字符串 入口:AH=09H
调用参数:DS:DX=串地址,’$’为结束字符 (3) 键盘输入并回显 入口:AH=01H 返回参数:AL=输出字符 (4) 返回DOS系统 入口:AH=4CH 调用参数:AL=返回码
实验步骤
(1) 运行Tdpit软件,选择文件菜单,点击新建,进入一个源文件编辑界面。根据实验内容的描述编写实验程序。
(2) 使用编译菜单中的编译和链接对实验程序进行汇编、连接。 (3) 使用编译菜单中的运行,运行程序,观察运行结果。
(4) 使用编译菜单中的调试,调试程序,观察调试过程中,数据传输指令执行后,各寄存器及数据区的内容。
(5) 更改数据区中的数据,检查程序的正确性。
程序如下:
DATA SEGMENT MES SD CODE
SEGMENT
DB 'Show a as hex:',0AH,0DH,'$' DB 'a'
DATA ENDS
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
;显示提示信息
;取高4位
;是否是A以上的数;显示字符
;取低4位
;显示字符
;返回DOS
实验题目
7种寻址方式指令编程
实验目的
通过对传送和算术运算类指令的实验结果的观察和分析,加深对各指令完成操作功能的理解,并了解各指令对于相关标志位的影响。
实验内容
7种寻址方式指令的编程包括: (1)MOV传送类; (2)堆栈操作传送; (3)交换传送; (4)输入/输出传送; (5)串传送指令等。
(6)在指令后面注释源操作数和目的操作数的寻址方式。
程序如下:
DATA SEGMENT DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA STADATA
SEGMENTRT:MOV AX,DATA MOV DS,AX MOV AL,04H
MOV DX,2000H MOV AX,99AAH MOV BX,1257H SUB AX,BX MOV AX,5000H MOV SI,3000H MOV AX,DS:[SI] PUSH AX PUSH EBX PUSH[SI]
PUSH DOWRD PTR[DI] PUSHW 0A124H PUSHD 20H MOV AX,3000H XCHG AX,1000H MOV 3000H,AX IN DX,7000H
//立即寻址
//寄存器寻址
//寄存器间接寻址
//堆栈操作指令
//交换传送指令
IN AX,DX //输入指令
实验步骤
1. 建立文件,编写源程序。
2. 编译、连接生成EXE可执行文件。
3. 行调试,分析每条指令的寻址方式,验证操作数所在的地址空间。
实验总结
1. 通过本次实验,可以正确的编写传送类指令与算术运算类指令、逻辑运算类指令的应用实验,并了解了编译链接调试的过程,检查程序结果的正确与否,会观察分析。 2. 更加清楚的能分析各种运算指令,并对其有了更深的理解。
3. 实验过程中必须认真仔细,特别是在应用逻辑运算指令时,不然一旦有一点错误,实验就无法正常进行,必须返回去查找错误,费时费力。
实验题目
各种逻辑指令的编程
实验目的
1、掌握在PC机上各种逻辑指令的用法 2、熟悉各种逻辑指令的用法
实验内容
在上次编辑七种寻址方式实验的中加入各种逻辑指令的运算,并且调试。
程序如下:
STACK1 SEGMENT STACK DW 256 DUP(?) STACK1 ENDS
DDATA SEGMENT MSR DB 'HELLO,WORLD!$' LEN EQU $- MSR DDATA ENDS
EXDA SEGMENT MSD DB LEN DUP(?) EXDA 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 MOV BX,0
NEXT: MOV AL,MSR[BX] MOV ES:MSD[BX],AL INC BX LOOP NEXT PUSH ES POP DS MOV DX,OFFSET MSD MOV AH,9 INT 21H
MOV AX,2233H MOV DX,3344H ADD AX,DX ADD AL,DL ADD AX,5566H ADC AL,DH DIV BL
MOV BX,6677H MUL BX SBB AX,DX MOV AX,4C00H INT 21H CODE ENDS END START
实验步骤
1. 运行编译器,编译程序。 2. 单击编译,保存。 3. 调试程序。
实验总结
1. 通过实验,熟悉了各种逻辑指令的用法,了解了其程序的编译。 2. 调试程序的过程中需要不断地发现问题、解决问题。
3. 实验过程中,各指令的用法十分复杂,需要不断练习,熟悉指令的运行目的。 4. 不同的程序代码,在不同的环境的运用方式也不同,这是我们必须要掌握的技能。
实验题目
数据传送实验
实验目的
(1) 熟悉Tdpit集成环境和调试器的使用。 (2) 掌握与数据有关的不同寻址方式。
实验内容
本实验要求将数据段中的一个字符串传送到附加段中,并输出附加段中的目标字符串到屏幕上。
实验程序如下:
DDATA MSR LEN DDATA EXDA MSD EXDA
MYSTACK SEGMENT STACK DW 20 DUP(?) MYSTACK ENDS CODE START:
SEGMENT
;定义代码段
ASSUME CS:CODE,DS:DDATA,ES:EXDA
MOV AX,DDATA
;装载数据段寄存器 ;装载附加数据段寄存器 ;设置DI ;开始传输数据
MOV DS,AX MOV ES,AX
;定义堆栈段
SEGMENT ENDS
;定义附加数据段
DB LEN DUP(?) SEGMENT EQU $- MSR ENDS
;定义源数据段
DB \
MOV AX,EXDA
MOV SI,OFFSET MSR ;设置SI 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 CH,AL ;分析结果进行显示 AND AL,0F0H MOV CL,04H SHR AL,CL ;取出数据的十位 CMP AL,09H JG A1
ADD AL,30H
JMP A2
A1: ADD AL,37H A2: MOV DL,AL MOV AH,02H INT 21H
MOV AL,CH AND AL,0FH CMP AL,09H JG A3 ADD AL,30H
JMP A4
A3: ADD AL,37H A4: MOV DL,AL MOV AH,02H INT 21H
MOV DL,0DH MOV AH,02H INT 21H
MOV AH,1 INT 16H
JZ LOOP1
QUIT: MOV AX,4C00H INT 21H
DALLY PROC NEAR PUSH CX PUSH AX MOV CX,4000H D1: MOV AX,0600H D2: DEC AX
;对A~F的处理 ;对0~9的处理 ;取出数据的各位 ;对A~F的处理 ;对0~9的处理 ;回车,置光标到行首 ;判断是否有按键按下 ;无按键则跳回继续循环,有则退出;结束程序退出 ;软件延时子程序 JNZ D2 LOOP D1 POP AX POP CX RET DALLY ENDP
CODE ENDS
END START
正在阅读:
32位微机原理上机实验报告12-16
销售内勤岗位职责08-23
暗恋读后感精选10篇12-12
3E薪资设计与薪酬管理技巧06-12
高考英语(人教)大二轮总复习测试:2-13情景交际04-30
python3基础教程01-26
陈鹤琴教育思想读书心得04-08
关于环境变化的作文03-31
创建绿色学校教研活动计划06-02
秋季开学初学校安全检查及隐患排查表04-06
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 上机
- 微机
- 原理
- 实验
- 报告
- 2002-2003学年度第二学期学校工作总结
- 《成本会计》练习题(2)
- 让学生在快乐中学习,在学习中获得快乐
- 《品德与社会》五年级教学案例五年级
- 苏教版小学五年级上英语伴你学答案
- ADDPCI12高速数据采集卡说明书 - 图文
- 新月派简介
- 专题18有机化学合成及推断(选修)
- 实验9-1 结构体与共用体
- 盖里简介
- 农大建筑工程造价-在线作业A、B满分答案
- 混凝土泌水的原因及影响
- 供应链管理-课程标准
- 2010届高三政治每周精析精练-投资的选择(必修1)
- 商场装修指引
- 小数除以整数练习题
- a股中的垄断性上市公司有哪些
- 2016-2021年高科技产品行业深度调查及发展前景研究报告
- 2014二年级数学下册第二单元表内除法(一)单元检测题
- 小学四年级主题班会活动记录全学期