没有合适的资源?快使用搜索试试~ 我知道了~
首页微机汇编实验汇总 和接口实验报告
资源详情
资源评论
资源推荐


实验一 显示程序实验
一、实验目的
1. 掌握在PC机上以十六进制形式显示数据的方法;
2. 掌握部分DOS功能调用使用方法;
3. 熟悉Tddebug调试环境和Turbo Debugger的使用。
二、实验所用设备
1. PC微机一台。
三、实验内容
一般来说,程序需要显示输出提示运行的状况和结果,有的还需要将数据区中的
内容显示在屏幕上。本实验要求将指定数据区的数据以十六进制数形式显示在屏幕
上,并通过DOS功能调用完成一些提示信息的显示。实验中可使用DOS功能调用
(INT 21H)。
(1) 显示单个字符输出
入口:AH=02H
调用参数:DL=输出字符
(2) 显示字符串
入口:AH=09H
调用参数:DS:DX=串地址,’$’为结束字符
(3) 键盘输入并回显
入口:AH=01H
返回参数:AL=输出字符
(4) 返回DOS系统
入口:AH=4CH
调用参数:AL=返回码
四:实验步骤
1. 运行Tddebug软件,选择Edit菜单,根据实验内容的描述编写实验程序,
本实验显示部分参考实验流程如图1-1示;
2. 使用Compile菜单中的Compile和Link对实验程序进行汇编、连接;
3. 使用Rmrun菜单中的Run,运行程序,观察运行结果;
4. 使用Rmrun菜单中的Debug,调试程序,观察调试过程中,数据传输指令
执行后,各寄存器及数据区的内容;
2

5. 更改数据区中的数据,考察程序的正确性。
流程图:
N
Y
Y
N
程序清单:
DATA SEGMENT
MYSTR DB 'show a as hex:',0AH,0DH,'$'
SD DB 'a'
取出数据至 AL
取高四位
加 07H
送屏幕显示
加 07H
加 30H
送屏幕显示
大 于 等 于
0AH ?
大 于 等 于
0AH ?
加 30H
取低四位
3

DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START: MOV AX ,DATA
MOV DS ,AX
LEA DX,MYSTR
MOV AH,09H ;显示提示符
INT 21H
LEA SI, SD
MOV AL ,[SI]
AND AL ,0F0H ;高四位转换成十六进制数的ASC码
SHR AL ,4
CMP AL,0AH
JB C1
ADD AL ,07H
C1: ADD AL, 30H
MOV DL,AL ;显示高位
MOV AH,02H
INT 21H
MOV AL ,[SI]
AND AL,0FH ;低四位转换成十六进制数的ASC码
CMP AL,0AH
JB C2
ADD AL ,07H
C2: ADD AL,30H
MOV DL,AL ;显示低位
MOV AH,02H
INT 21H
MOV AX,4C00H
INT 21H
CODE ENDS
END START
运行结果:
4

实验二 数据传送实验
一、实验目的
1. 熟悉Tddebug调试环境和Turbo Debugger的使用;
2. 掌握与数据有关的不同寻址方式。
二、实验所用设备
1. PC微机一台。
三、实验内容
将数据段中的一个字符串传送到附加段中,并输出附加段中的目标字符串到屏幕上。
四:流程图
取源串至 DS:SI
取源串至 ES:DI
5
剩余55页未读,继续阅读











安全验证
文档复制为VIP权益,开通VIP直接复制

评论1