微机原理与接口技术实验报告(重邮).docx

认识TDDEBUG集成环境 实验日志 实验题目: 认识TDDEBUG集成环境 实验目的及要求: 熟悉汇编程序的开发过程。 认识Tddebug集成操作软件。 掌握在Tddebug集成环境中编辑、编译、连接汇编语言程序方法。 掌握INT 21H软件中断来调用DOS内部子程序的方 实验主要步骤: 1.运行Tddebug软件,选择Edit菜单编写实验程序 2.使用Compile菜单中的Compile和Link对实验程序进行汇编、连接,生成执行文件。 3.使用Rmrun菜单中的Run运行程序,观察运行结果。 4.使用Rmrun菜单中的Debug调试程序,查看程序段、数据段、附加段装入内存后的分配情况。单步执行数据传送指令后,观察各寄存器及数据区的内容。过程如下: 按F7单步执行,在代码区中有一个三角,表示正在执行的指令。每一条指令的执行一定会使目标寄存器和状态寄存器发生变化,从相关窗口看结果。 检查内存数据区的内容,关键是找出用户程序的数据段和附加段: 方法1:在CPU窗口按Tab键使内存数据显示区成为活动区,按Ctrl+G键,输入:“DS或ES寄存器的值:偏移地址”,即可显示用户指定的数据区 方法2:选择菜单View| Dump,弹出内存数据显示窗口。 3) 查看执行结果:按Alt+F5,切换到用户窗口。 更改数据区中的数据,考察、调试程序的正确性。 参考程序: DDATA SEGMENT ;定义源数据段 MSR DB HELLO,WORLD!$ LEN EQU $- MSR DDATA ENDS EXDA SEGMENT ;定义附加数据段 MSD DB LEN DUP(?) EXDA ENDS MYSTACK SEGMENT STACK ;定义堆栈段 DW 20 DUP(?) MYSTACK 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,4C00H INT 21H ;返回DOS状态 CODE ENDS END START 实验结果及分析: 结果屏幕显示所输入的字符串,在更改为字符串传送指令后,结果相同。 这次试验主要为了熟悉TDDEBUG集成环境的操作方法与编程方法,在按照步骤操作后,得到相应结果,并利用单步调试观察数据传送以及地址,寄存器的使用情况。 代码转换 实验日志 实验题目: 代码转换程序设计 实验目的及要求: 了解微机中所使用的各类数制及编码方法。 掌握不同进制数及编码相互转换的程序设计方法,加深对数码转换的理解。 掌握将存储在内存单元中的数据以十六进制数形式、十进制数形式和二进制数形式显示在屏幕上的方法。 实验主要步骤: 画出实验流程图。如下两图 运行Tddebug软件,选择Edit菜单编写实验程序 使用Compile菜单中的Compile和Link对实验程序进行汇编、连接,生成执行文件。 使用Rmrun菜单中的Run运行程序,观察运行结果。 使用Rmrun菜单中的Debug调试程序。单步执行指令,观察各寄存器及数据区的内容。 更改数据区中的数据,考察程序的正确性。 图 6-4 图 6-4 将内存中一个字的数转换为十进制数的数字串参考流程 图 图 6-5 将BCD码转换为二进制数参考流程 参考程序: DDATA SEGMENT MES DB The ascii code of decimal code are:$ BUF DB 30H,30H,30H,31H,32H ;十进制数00012的ASCII码 DB 10H DUP(0) DDATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DDATA START: MOV AX,DDATA MOV DS,AX MOV S

文档评论(0)

1亿VIP精品文档

相关文档