微机原理实验报告—同济大学
同济大学电子与信息工程学院
信息与通信工程系实验报告
实验一 显示程序实验
实验目的
掌握在PC机上以十六进制形式显示数据的方法。
掌握部分DOS功能调用使用方法。
熟悉Tddebug调试环境和Turbo Debugger的使用。
实验设备
PC微机一台。
实验内容及说明
一般来说,有很多程序需要显示输出提示运行的状况和结果,有的还需要将数据区中的内容显示在屏幕上。本实验要求将指定数据区的数据以十六进制数形式显示在屏幕上,并通过DOS功能调用完成一些提示信息的显示。实验中可使用DOS功能调用(INT 21H)。
显示单个字符输出
入口:AH=02H 调用参数:DL=输出字符
显示字符串
入口:AH=09H 调用参数:DS:DX=串地址,‘S’为结束字符
键盘输入并回显
入口:AH=01H 返回参数:AL=输出字符
返回DOS系统
入口:AH=4CH 调用参数:AL=返回码
实验步骤
运行Tddebug软件,选择Edit菜单,根据实验内容的描述编写实验程序,本实验显示部分参考实验流程如图2-1-1示。
使用Compile菜单中的Compile和Link对实验程序进行汇编、连接。
使用Rmrun菜单中的Run,运行程序,观察运行结果。
使用Rmrun菜单中的Debug,调试程序,观察调试过程中,数据传输指令执行后,各寄存器及数据区的内容。
更改数据区中的数据,考察程序的正确性。
图1 显示程序实验流程图
实验程序
;显示程序实验
STACK1 SEGMENT STACK
DW 256 DUP(?)
STACK1 ENDS
DATASEGMENTUSE16
MES DB 'Press any key to exit!',0AH,0DH,0AH,0DH,'$'
MES1 DB 'Show a as hex:',0AH,0DH,'$'
SD DB 'a'
DATAENDS
CODESEGMENTUSE16
ASSUMECS:CODE,DS:DATA
START: MOV AX,DATA
MOVDS,AX
MOV DX,OFFSET MES ;显示退出提示
MOV AH,09H
INT 21H
MOV DX,OFFSET MES1 ;show message
MOVAH,09H
INT 21H
MOVSI,OFFSET SD
MOVAL,DS:[SI]
ANDAL,0F0H ;取高4位
SHRAL,4
CMPAL,0AH;是否是A以上的数
JBC2
ADDAL,07H
C2: ADDAL,30H
MOVDL,AL;show character
MOVAH,02H
INT21H
MOVAL,DS:[SI]
ANDAL,0FH;取低4位
CMPAL,0AH
JBC3
ADD AL,07H
C3: ADDAL,30H
MOVDL,AL;show character
MOVAH,02H
INT21H
KEY: MOV AH,1 ;判断是否有按键按下?
INT 16H
JZ KEY
MOVAX,4C00H;go back to dos
INT21H
CODE ENDS
ENDSTART
实验结果:
a的十六进制数表示为3D。
实验小结
初步了解掌握部分DOS功能调用使用方法。 并且熟悉Tddebug调试环境和Turbo Debugger的使用。
实验二 数码转换程序实验
实验目的
掌握不同进制数及编码相互转换的程序设计方法。
实验设备
PC微机一台。
实验内容及说明
计算机输入设备输入的信息一般是由ASCII码或BCD码表示的数据或字符,CPU一般均用二进制数进行计算或其他信息处理,处理结果的输出又必须依照外设的要求变为ASCII码、BCD码或七段显示码等。因此,在应用软件中,各类数制的转换和代码的转换是必不可少的。计算机与外设间的数码转换关系如图2-3-1所示,数码对应关系如表2-3-1所示。
248

被折叠的 条评论
为什么被折叠?



