32位微机原理上机实验报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
西北工业大学明德学院
实验报告
实验项目微机原理与接口应用实验
班级 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 S EGMENT
MES DB 'Show a as hex:',0AH,0DH,'$'
SD DB 'a'
DATA E NDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA START:MOV AX,DATA
MOV D S,AX
MOV D X,OFFSET MES ;显示提示信息
MOV A H,09H
INT 21H
MOV D I,OFFSET SD
MOV A L,DS:[DI]
AND AL,0F0H ;取高4位
SHR AL,4
CMP AL,0AH ;是否是A以上的数
JB C2
ADD AL,07H
C2: ADD AL,30H
MOV D L,AL ;显示字符
MOV A H,02H
INT 21H
MOV A L,DS:[DI]
AND AL,0FH ;取低4位
CMP AL,0AH
JB C3
ADD AL,07H
C3: ADD AL,30H
MOV D L,AL ;显示字符
MOV A H,02H
INT 21H
MOV A X,4C00H ;返回DOS
INT 21H
CODE ENDS
END START