- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
微 机 原 理 和 应 用
实 验 讲 义
南 京 大 学 物 理 系
二○○三年九月第一部分 汇编语言和机内接口
实验一 用DEBUG验证指令
实验二 用DEBUG运行简单程序
实验三 字符显示
实验四 从键盘输入十六进制数并显示出二进制值
实验五 多位十进制数相加的编程
实验六 十进数乘法
实验七 排序实验
实验八 二—十进制数码转换
实验九 音响实验
实验十 时钟实验
实验十一 PC机打印接口实验
实验十二 串行通信实验
实验十三 A/D转换在电化学沉积研究中的应用
附录一 调试程序DUBUG主要命令提要
附录二 编辑工具EDIT使用简介
附录三 DOS中断向量和BIOS中断调用一览表
实验一 用DEBUG验证指令
用动态调试DEBUG逐条验证下列指令的功能,每条指令执行前须在有关的寄存器或内存中设置好特定的数值内容,以便运行后能有效地反映出该指令的特点。设置的方式可用传送指令,也可用DEBUG的R命令或E命令。(附录一给出了DEBUG的各命令功能及标志寄存器(F)各标志位的符号表示。)实验报告要求写出运行前后的设置情况和运行结果、以及对指令的理解。
(1)MOV AX,[SI]
运行前,ax=? si=? [si]=? [si+1]=?
运行后,ax=? [si]=? [si+1]=?
(2)MOV AX,1234[DI]
运行前,ax=? di=? [1234+di]=? [1234+di+1]=?
运行后,ax=?
(3)MOV [BX][SI],AX
运行前,ax=? bx=? si=? [bx+si]=? [bx+s+1]=?
运行后,ax=? [bx+si]=? [bx+si+1]=?
(4)PUSH AX
运行前,ax=?; sp=?
运行后,ax=? sp=? 并指出ah和al的内容在堆栈中的存放地址。
(5)LEA DX,[1200]
运行前,dx=? 运行后,dx=?
(6)LES SI,[BX]
运行前,es=? si=? bx=? [bx,bx+1,bx+2,bx+3]=?,?,?,?
运行后,es=? si=?
(7)NEG AX
运行前设:ax=1234H;并用RF命令置所有标志为零。
运行后,ax=?各标志位状态如何?对标志状态作出说明。
(8)CMP AX,BX
运行前设:AX=1234H,BX=2345H,
运行后,ax=?各标志位状态如何?对标志状态作出说明。
实验二 用DEBUG运行简单程序
按下列各题要求,编写程序指令,在动态调试DEBUG中汇编、运行;并学会用DEBUG的W命令将其中的部分程序存盘。
实验报告要求写出指令清单和运行结果(包括验证情况)。
(1)将数据段(注意是DS所指定的段)中偏移地址为1000H到10FFH的内容清零。
(2)将数据段中偏移地址为1000H单元的内容求反,存入1001H单元。
(3)将数据段中偏移地址为1000H单元的内容清除高四位,保留低四位后存入原单元中。
(4)将数据段中偏移地址为1000H单元的内容左移四位,低位添零。
(5)将数据段中偏移地址为1000H单元的高四位和1001H单元中的低四位组成一个新数,存入1002H单元。
(6)计算无符号数0BF4H乘1000H;对运算数和运算结果用十进制作数值验证(手算)。
(7)计算带符号数B4H乘11H。对运算数和运算结果用十进制作手算验证。
实验三 字符显示
利用DOS的系统功能调用依次显示出PC机的所有屏幕显示字符(编码为0-100H共256个)。可以直接在动态调试DEBUG中编程,也可以用汇编语言。基本流程如下:
如直接在DEBUG中编程、调试,成功后,将程序赋予文件名:??…?.COM存盘,退出DEBUG,试在DOS下直接用文件名运行。
将程序作以下3个方面的改进(综合在一个程序中):①判断被显示的字符码是否是回车码0DH,若是,则随后补充一个换行码OAH。②每个字符间插入空格。③用软件延时的方法(指令空循环)使每显示一个字符作适当延时。
选做:将所有256个显示字符,按编码顺序在屏幕上排列成16×16的矩阵表格,即扩展的ASCII码字符表,其行值(0,1,…F)为编码的高位,列值(0,1,…F)为编码的低位。为使定位正确,应将功能码07,08,09,0A,0D等置换成空格码。
实验四 从键盘输入十六进制数并显示出二进制值
实验目的:
掌握接收键盘数据的方法,并了解数据显示时须转换为ASCII码的原理。
实验内容:
将键盘接收到的4位十六进制数据转换为等
文档评论(0)