汇编语言与接口技术实验报告

上传人:新** 文档编号:432600941 上传时间:2022-10-13 格式:DOC 页数:30 大小:232.68KB
返回 下载 相关 举报
汇编语言与接口技术实验报告_第1页
第1页 / 共30页
汇编语言与接口技术实验报告_第2页
第2页 / 共30页
汇编语言与接口技术实验报告_第3页
第3页 / 共30页
汇编语言与接口技术实验报告_第4页
第4页 / 共30页
汇编语言与接口技术实验报告_第5页
第5页 / 共30页
点击查看更多>>
资源描述

《汇编语言与接口技术实验报告》由会员分享,可在线阅读,更多相关《汇编语言与接口技术实验报告(30页珍藏版)》请在金锄头文库上搜索。

1、汇编语言与接口技术实验报告 2012-2013学年 第1学期汇编语言与接口技术实验报告学 院: 信息与电子工程学院 专 业: 班 级: 学 号: 姓 名: 浙江科技学院2012-2013学年 第1学期实验1 汇编语言程序设计一、实验目的1. 熟悉MASM 6.11汇编语言程序开发环境。2. 掌握汇编语言程序的调试方法和常用的调试工具。二、实验内容1. 安装MASM 6.11。2. 设在内存中首地址为BLOCK的区域存有一批数据:61H,84H,93H,0C4H,17H,0FFH,52H,2AH。分别按下列要求编写汇编语言程序:(1) 视该批数据为8位无符号数,采用冒泡法将其按升序排序;(2)

2、视该批数据为8位有符号数,采用冒泡法将其按升序排序。三、实验要求1. 根据实验内容编写程序。2. 上机调试程序。3. 记录并分析程序运行结果。开始四、程序说明和程序流程图读入数据N个计数N-1是N小于0否结束否是对比数据为第i个数据(初始i=0)i7和第i+1个数据比较两数交换位置i+1五、程序代码1. 8位无符号数冒泡法排序程序如下:.model small.datan dw 8block db 61h,84h,93h,0c4h,17h,0ffh,52H,2ah.stack 60h.code.startupmov ax,datamov ds,axmov cx,ndec cxloop1: mo

3、v dx,cxmov bx,0loop2: mov al,blockbxcmp al,blockbx+1jna continuexchg al,blockbx+1mov blockbx,alcontinue: add bx,1loop loop2mov cx,dxloop loop1.exitend2、8位有符号数冒泡排序程序如下.model small.datan dw 8block db 61h,84h,93h,0c4h,17h,0ffh,52H,2ah.stack 60h.code.startupmov ax,datamov ds,axmov cx,ndec cxloop1: mov d

4、x,cxmov bx,0loop2: mov al,blockbxcmp al,blockbx+1jle continuexchg al,blockbx+1mov blockbx,alcontinue: add bx,1loop loop2mov cx,dxloop loop1.exitend六、程序运行结果及分析在命令行debug,反汇编找到初始程序入口0017查看cup寄存器的内容实验2 系统中断接口实验一、实验目的1. 熟悉可编程中断控制器8259A的使用方法。2. 掌握软、硬件中断的编程技术。二、实验内容1. 软件中断 自定义一个软件中断,中断类型码为78H。在中断服务程序中,完成AS

5、CII码到压缩的BCD码的转换,ASCII码内存首地址为ASCADDR,长度为NUMBER,转换后的BCD码存放在以BCDADDR为首地址的存储区中。2. 硬件中断 设IRQ10 IRQ12(中断类型号为72H74H)接外部硬件中断源13,外部中断源的中断请求通过按数字键“1”“3”模拟产生。在中断服务程序中显示“Interrupt service routine n(n=13) is running”字样。三、实验要求1. 编写主程序和中断服务程序。2. 上机调试程序。3. 记录并分析程序运行结果。四、程序说明和程序流程图开始开始设置外部硬件中断定义软件中断ASC压缩否是否按数字键?是否是否

6、压缩完成?显示字样是结束结束硬件中断软件中断五、程序代码实验1代码:dseg segment ascaddr db 0123456789number db 10bcdaddr db 20 dup(?)dseg endscseg segment assume cs:cseg,ds:dsegstart: push ds xor ax,ax push ax mov ax,seg asc_bcd mov ds,ax mov dx,offset asc_bcd mov ax,2578h int 21h int 78h retfasc_bcd proc mov ax,dseg mov ds,ax mov

7、si,offset ascaddr mov di,offset bcdaddr mov ch,number shr ch,1 mov cl,4cont: mov ax,si and al,0fh shl ah,cl or al,ah mov di,al add si,2 inc di dec ch jnz cont iretasc_bcd endpcseg ends end start实验2代码:dseg segment disp1 db Interrupt service routine 1 is running.,0ah,0dh,$disp2 db Interrupt service ro

8、utine 2 is running.,0ah,0dh,$disp3 db Interrupt service routine 3 is running.,0ah,0dh,$dseg endscseg segment assume cs:cseg,ds:dsegstart: push ds xor ax,ax push ax mov ax,seg isradd1 mov ds,ax mov dx,offset isradd1 mov ax,2572h int 21h mov ax,seg isradd2 mov ds,ax mov dx,offset isradd2 mov ax,2573h

9、int 21h mov ax,seg isradd3 mov ds,ax mov dx,offset isradd3 mov ax,2574h int 21h in al,0a1h and al,11100011b out 0a1h,alkeyin: mov ah,0 int 16h cmp al,1 jz serve1 cmp al,2 jz serve2 cmp al,3 jz serve3 cmp al,q jz exit jmp keyinserve1: int 72h jmp keyinserve2: int 73h jmp keyinserve3: int 74h jmp keyi

10、nexit: retfisradd1 proc push ds push ax mov ax,seg disp1 mov ds,ax mov dx,offset disp1 mov ah,9 int 21h ; mov al,20h ; out 0a0h,al pop ax pop ds iretisradd1 endpisradd2 proc push ds push ax mov ax,seg disp2 mov ds,ax mov dx,offset disp2 mov ah,9 int 21h ; mov al,20h ; out 0a0h,al pop ax pop ds iretisradd2 endpisradd3 proc push ds push ax mov ax,seg disp3 mov ds,ax mov dx,offset disp3 mov ah,9 int 21h ; mov al,20h ; out 0a0h,al pop ax pop ds

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 工作计划

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号