南航计算机硬件实验,南航计硬实验四数据块移动实验报告.doc

南航计硬实验四数据块移动实验报告

电工电子实验中心 课程名称:

计算机硬件技术基础实验 实验名称:

实验四 数据块移动 姓名:

学号: 评定成绩:

审阅教师:

实验时间:

2020.5.7 南京航空航天大学

一.实验目的 1) 进一歩掌握主程序、子程序设计方法。

2) 掌握人机对话的设计方法。

3) 进一歩熟悉 Tddebug 调试环境和 Turbo Debugger 的使用。

二.实验任务 本实验要求将指定数据区的数据搬移到另一块内存空间中,并通过子程序调用的方法将搬移的数据显示在屏幕上。

源数据块和目标数据块在存储中的位置可能有三种情况,如图 2-4-1 所示。对于两个数 据块分离的情况,数据的传送从数据块的首地址开始,或者从数据块的末地址开始均可。但对于有部分重叠的情况,则要加以分析,否则重叠部分会因搬移而遭到破坏。

所以搬移过程可以通过以下两个方式完成:

当源数据块首地址>目标块首址时,从数据块的首地址开始传送数据; 当源数据块首地址

三. 实验代码 STACK1 SEGMENT STACK DW 256 DUP(0) STACK1 ENDS DATA SEGMENT MES1 DB "The data in buf2 are:",0AH,0DH,"$" BUF1 DB11H,22H,33H,44H,55H,66H,77H,88H,99H,0AAH,0BBH,0CCH,0DDH,0EEH,

0FFH,00H BUF2 DB 20H DUP(0) DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA ;以下为补充代码 MOV DS,AX MOV SI,OFFSET BUF1 MOV DI,OFFSET BUF2 MOV CX,0010H CMP SI,DI;判断数据段的先后顺序,确定是首端移动与否 JG L2 ;跳入首端移动代码区 ADD SI,CX ADD DI,CX L1: DEC SI DEC DI MOV AL,[SI] MOV [DI],AL LOOP L1 JMP L3 L2: MOV AL,[SI] MOV [DI],AL INC SI INC DI LOOP L2 JMP L3;搬运完成,跳到显示字符串的程序段中 L3: MOV DX,OFFSET MES1 MOV AH,09H INT 21H MOV CX,0010H MOV SI,OFFSET BUF2 REST: CALL TRANS INC SI MOV DL,20H MOV AH,02H INT 21H LOOP REST

MOV AX,4CH INT 21H TRANS PROC NEAR ;ASCII 码转换子程序 MOV AL,[SI] SHR AL,4 CMP AL,0AH JB A1 ADD AL,7 A1: ADD AL,30H MOV DL,AL MOV AH,02H INT 21H MOV AL,[SI] AND AL,0FH CMP AL,0AH JB A2 ADD AL,7 A2: ADD AL,30H MOV DL,AL MOV AH,02H INT 21H RET TRANS ENDP L4: ADD AL,07H ADD AL,30H MOV AL,[SI] CMP AL,0AH JB L5 ADD AL,07H L5: ADD AL,30H ;以上为补充代码 RET CODE ENDS END START 四. 实验数据

五.实验总结 通过此次实验,我更加掌握了基本的 eum8086 的使用方法。

进一歩掌握了主程序、子程序设计方法,进一歩熟悉了 Tddebug 调试环境和 Turbo Debugger 的使用。

模板,内容仅供参考

  • 1
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值