认识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)