




下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、.专业整理.汇编语言与接口技术实验报告学院:信息与电子工程学院专业:班级:学号:姓名:浙江科技学院2012-2013学年 第1学期实验1汇编语言程序设计一、实验目的1 .熟悉MASM 6.11汇编语言程序开发环境。2 .掌握汇编语言程序的调试方法和常用的调试工具。二、实验内容1 .安装 MASM 6.112 .设在内存中首地址为 BLOCK勺区域存有一批数据:61H, 84H, 93H, 0C4H 17H, 0FFH 52H, 2AH分别按下列要求编写汇编语言程序:3 1)视该批数据为8位无符号数,采用冒泡法将其按升序排序;4 2)视该批数据为8位有符号数,采用冒泡法将其按升序排序。三、实验要
2、求1 .根据实验内容编写程序。2 .上机调试程序。3 .记录并分析程序运行结果。五、程序代码4 .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 dx,cxmov bx,0loop2: mov al,blockbxcmp al,blockbx+1jna continuexchg al,blockbx+1mov blockbx,alcontinue:
3、 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 dx,cxmov bx,0loop2: mov al,blockbxcmp al,blockbx+1jle continuexchg al,blockbx+1mov blockbx,alcontinue: ad
4、d bx,1loop loop2mov cx,dxloop loop1.exitend六、程序运行结果及分析.学习帮手.在命令行debug,反汇编找到初始程序入口 0017力凶BA4C0B0048:0003BEDA8 GDI0B48:00072BDA0B48 =0(49DI £3»ti48:O0QBDIE?0B4B:000DD1E3%48:晒FD1E30B48:0011FA9B40 0012S£D20946:001403E?0948:0016FB9B8:0017B84CQB0B48iQ61ABEDS8B48:0IB1C8B0E0600E:MAGMtll>dc
5、bu9 cxpl 1UyVB L LLLIUDIUU u OOOUHHHHL0DTO0 o HMM s sssSCMASMMMGP,BX4cDS,AK CX,00Mb JW 命令提示符-dbu( *xp1-l exe查看cup寄存器的内容ax=00(i(i Bx=nnn0 cx=noss dx 0 £P=HH6m ep=hf)时 m s 1 =0000 di =0(ira DS=BB38 ES=0B38 SS=0B4D CS=0B48IF=009B NU UP EI PL NZ NA PO NC0»4e:M0M0 DA4CMBttOU DX,0B4C噂.1cc cccc t
6、o r 3 888B86BB60-00000-0 01234567 000000008 E 19 c 018 D 0 4 80 DC4 90 c 41 8DA Q3 00S8 21 00 FF 4438 FF 5EC3 07 08E 0 8 0B8-70 B7-08 00-63 00-61 08-8 EC7-44 S9-54DID8 87E2C4 26 FF 763B9970B2E8BE188FDI 0E8R FF 4C 46 FFrogran teririinateri-d 14f7:G 4F7:000G 4F7:yoia 4F7:0020 4F7:0O30 4F7:0040 4F7:0B5
7、0 4F7:B060 4F7=0B7B24 74 F7 32 AA EB 8ft C2 C3C3 24 07 8: A DO C3 03 E8 DDA6 56 81FC E8 3EnormallyER P9 ACFl SB C3E8 0B 09 8A DQ E8 5F C7 %FF ES 94 E? Z4 FD 0 EB 0324-74 07-8 A 4G-AA FC-D0 5fi-2E34-90UAl 3CC8 ES 80 2EE2 D0 41 8AA9 5EA0 A7B0 2C89Anl698B0805CEE 303278?90BSEAR03 5FZ&0F44B7FF3DB72E实
8、验2系统中断接口实验、实验目的1 .熟悉可编程中断控制器8259A的使用方法。2 .掌握软、硬件中断的编程技术。二、实验内容1 .软件中断自定义一个软件中断,中断类型码为 78A在中断服务程序中,完成 ASCII码到压缩的BC则的*$换,ASCII码内存首地址为ASCADDR长度为NUMBER转换后 的BCM存放在以BCDADDR首地址的存储区中。2 .硬件中断设IRQo IRQ2 (中断类型号为72H74H接外部硬件中断源13,外部中断源的中断请求通过按数字键1” “3”模拟产生。在中断服务程序中显示“Interrupt”字样。service routine n(n=13) is runni
9、ng三、实验要求1 .编写主程序和中断服务程序。2 .上机调试程序。3 .记录并分析程序运行结果。四、程序说明和程序流程图否否硬件中断软件中断五、程序代码实验1代码:dseg segmentascaddr db'0123456789'number db10bcdaddr db20 dupdseg endscseg segmentassume cs:cseg,ds:dsegstart: push dsxor ax,axpush axmov ax,seg asc_bcdmov ds,axmov dx,offset asc_bcdmov ax,2578hint 21hint 78hr
10、etfasc_bcd procmov ax,dsegmov ds,axmovsi,offset ascaddrmovdi,offset bcdaddrmov ch,numbershr ch,1mov cl,4cont: mov ax,siand al,0fhshl ah,clor al,ahmov di,aladd si,2inc didec chjnz contiretasc_bcd endp cseg ends end start实验2代码:dseg segmentdispldb'Interrupt service routine1 is running',0ah,0dh,
11、'$disp2db'Interrupt service routine2 is running',0ah,0dh,'$disp3db'Interrupt service routine3 is running',0ah,0dh,'$dseg ends cseg segmentassume cs:cseg,ds:dseg start: push ds xor ax,ax push ax mov ax,seg isradd1 mov ds,ax mov dx,offset isradd1mov ax,2572hint 21hmov ax,se
12、g isradd2mov ds,axmov dx,offset isradd2mov ax,2573hint 21hmov ax,seg isradd3mov ds,axmov dx,offset isradd3mov ax,2574hint 21hin al,0a1hand al,11100011bout 0a1h,alkeyin: mov ah,0int 16hcmp al,'1'jz serve1cmp al,'2'jz serve2cmp al,'3'jz serve3cmp al,'q'jz exitjmp keyins
13、erve1: int 72hjmp keyinserve2: int 73hjmp keyinserve3: int 74hjmp keyinexit: retfisraddl procpush dspush axmov ax,seg disp1mov ds,axmov dx,offset disp1mov ah,9int 21h;mov al,20h;out 0a0h,alpop axpop dsiretisradd1 endpisradd2 procpush dspush axmov ax,seg disp2mov ds,axmov dx,offset disp2mov ah,9int 2
14、1h;mov al,20h;out 0a0h,alpop axpop dsiretisradd2 endpisradd3 procpush dspush axmov ax,seg disp3mov ds,axmov dx,offset disp3mov ah,9int 21h;mov al,20h;out 0a0h,alpop axpop dsiretisradd3 endpcseg endsend start六、程序运行结果及分析实验1内存结果exp21.exed IE 33B4ft:0Q10 21 CDB4A:0B20 ZE 0AB4A:0039 g5 83B4A:0O40 3D CAB4
15、A:00&0 EB 17B4ft:O060 08 EBB4ft:O070 E8 AD8 8 D758 B 4 BBE40EEC 0B025S39 SCDS7F3E 00060009. C7_M c H-E294麻 48 R1 FE B8 ER 03 FESB 0B 04 CD Bl 12 ES 8H8E-D8 8E-D8 9B-H4 75-EE 00-EB E0-B4 El-FA 7E-FF4 0 F E 3 B E 5 1002 3E37 fiE4F2E30BB2C0S8000 B8 腼BFD2 £4RI 5CC0 500D EO3勾37目3 E925的旧24y4E375的
16、F008DASC88实验2:K命令提不符回Microscf t U in do us XP 版本 S .1.2600 J<C> 版权所有 1985-2001 Microsoft Corp.C: XDocuments and SettingsAdministFatDrE:E:>cd MASMbllE:SMASH&ll>ml e*p2-2.目写附E:msnGllMsbii0exp2-2.exe-U0B51:0080 IEPUSHDS:00O1 33C0MORAX.AX3051:0003 56PUSH的0B51:0004 B8510BMOUAX 浦 E510B51;0
17、607 BEDBMOUDS, AX0B51:0009 BAE400MOU魁网540B51:0B0C B67225MOUAX,25720B51:Q00F CD21I NT210051:0011 B8510BMOUAX 浦 B51RBS1:Q014 8EDBHOUDS.ftX0B51:0016 BA650BMOU册.酶650BS1:MM1V H8732LMOUflX,25730B51:001C GD21I NT21BBS1:M1E BO510BMOUAK.0B51实验3键盘接口实验、实验目的1 . 了解键盘接口的工作原理。2 .掌握直接在硬件基础上编写键盘处理程序的方法。3 .熟悉键盘的BIOS和
18、DO财能调用。、实验内容设计一个中断方式的用户键盘处理程序,其功能是直接从数据端口(8255的PA端口,地址为60H)读取键盘的扫描码,并通过换码指令XLAT将扫描码转换为ASCII字符显示在屏幕上。当程序运行时,可通过键入ESC键,使键盘的管理在用户键盘处理程序和系统键盘处理程序(INT 09H)之间进行切换。三、实验要求1 .编写主程序和中断服务程序。2 .上机调试程序。3 .记录并分析程序运行结果。四、程序说明和程序流程图五、主程序和中断服务程序代码cseg segmentorg 100hassume cs:csegstart: jmp installflag db 0oldint dd
19、 ?scantab db 0,0,'1234567890-=',08h,0db 'QWERTYUIOP',0dh,0db 'ASDFGHJKL;',0,0,0,0db 'ZXCVBNM,./',0,0,0,20hdb 13 dup(0)db '789-456+1230#'kbint: push axpush bxpush dspush cspop ds stimov bx,offset scantabin al,60htest al,80hjnz keyendpush axin al,61hor al,80hout
20、 61h,aland al,7fh out 61h,alpop ax cmp al,01h jnz disp inc flag disp: test flag,01hjz user pop ds pop bx pop ax jmp cs:oldint user: xlatcmp al,0jz keyend mov ah,14int 10hmov al,0dhint 10hmov al,0ahint 10hkeyend: mov al,20h out 20h,al pop ds pop bx pop ax iretinstall:clipush cspop dsmov ax,3509hint 2
21、1hcmp bx,offset kbintjnz loadint 20hload: mov word ptr oldint,bxmov word ptr oldint+2,esmov dx,offset kbintmov ax,2509hint 21hin al,21hand al,11111101bout 21h,alstimov dx,offset installint 27hcseg endsend start六、程序运行结果及分析ESC后切换到操作系统自己的中断,输入小写1.当执行程序后,输入小写字母显示大写,键入 显小小写。ci C mm and Proapt ( x|EuERTy
22、uo' ERTYSDF -实验4显示器接口实验一、实验目的1 . 了解显示器接口的工作原理。2 .熟悉显示器的BIOS和DO财能调用。二、实验内容在屏幕上显示一张移动的“笑脸”。“笑脸”字符的ASCII码为01H或02H,要使“笑脸”动起来,可按如下步骤编程:1 .屏幕上显示“笑脸”;2 .延迟一段时间;3 .消除“笑脸”(可用清除部分屏幕或在“笑脸”位置显示空字符的方法实现);4 .改变“笑脸”的行、列坐标;5 .返回第1步,重复上述过程。三、实验要求1 .根据实验内容编写程序。2 .上机调试程序。3 .记录并分析程序运行结果。四、程序说明和程序流程图五、程序代码stacksegme
23、ntdb 256 dup(1)stackendscodesegmentmove_face proc far assume cs:code,ds:stackstart:push dssub ax,ax push ax mov ah,15 int 10h mov ah,0 mov al,1 int 10h mov cx,1 mov dx,0 stimove_cursor: mov ah,2 int 10h mov al,1 mov ah,10 int 10h call delay sub al,al mov ah,10int 10h inc dh inc dl cmp dh,25h jne mov
24、e_cursor ret move_face endp delay procpush bxpush cx push dxmov ah,0 int 1ah add dx,9 mov bx,dx redo:int 1ahcmp dx,bx jne redo pop dx pop cx pop bx retdelayendpcodeendsend六、程序运行结果及分析实验5串行通信接口实验一、实验目的1 .熟悉可编程串行通信接口 8250A的使用方法。2 .掌握串行通信接口的编程技术。二、实验内容1 .两台微机利用COM 1(串行口 1)进行查询式通信,可采用三线式连接方法。双机通信的要求如下:7位
25、数据位、偶校验、1位停止位、波特率为9600;双机同时 运行通信程序,一方键入的字符在另一方的屏幕上显示,当按下字符 q'时,结束通 信返回DOS2 .用中断方式实现上述1的功能。3 .用BIOS调用发送和接收字符。三、实验要求1 .编写查询式通信程序。2 .编写中断式通信程序。3 .编写用BIOS调用实现的自发自收的通信程序。4 .上机调试程序。5 .记录并分析程序运行结果。查询方式发送五、程序代码实验1代码:scom segment para stack 'scom'db 256 dup(0)scom endsdcom segmentdb 50 dup(?)dcom
26、 endsccom segment para public 'ccom'start proc farassume cs:ccom,ss:scom,ds:dcompush dsxor ax,axpush axmov dx,3fbhmoval,10000000bout dx,almovdx,3f8hmov al,0chout dx,al inc dx mov al,0 out dx,al mov dx,3fbhmov al,00011010bout dx,al inc dxmov al,00010011bout dx,almovdx,3f9hmov al,0out dx,alcont: mov dx,3fdh in al,dxtest al,00011110bjnz errortest al,00000001bjnz delretest al,00100000bjz contmov ah,1int 16hjz contmov ah,0int 16hcmp al,'q'jz return
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年建筑工程师资格认证考试一级建造师备考指南与预测题
- 2025 年烟台市三年级数学秋季单元测 - 基础卷及答案(人教版)
- 2025年产品经理应聘笔试预测题及答案
- 护理核心制度试题有答案
- 2025年《安全生产法》网络知识竞赛试题库及答案
- 2024年矿产权评估师考试题库含答案
- 2024-2025学年度江西外语外贸职业学院单招《职业适应性测试》高分题库附答案详解【综合卷】
- 2024-2025学年四川城市职业学院单招《物理》考试彩蛋押题附完整答案详解【各地真题】
- 2023年度医师定期考核常考点试卷附完整答案详解【考点梳理】
- 2024-2025学年度自考专业(人力资源管理)考试历年机考真题集标准卷附答案详解
- 人教版小学一年级上册写字教案
- 头脑特工队-Inside-Out中英文字幕对照
- XX村集体经济发展章程
- 高尿酸血症营养和运动指导
- 2021国家职业技能认定(初级茶艺师)理论内容细目表
- 2024年国药控股股份有限公司招聘笔试冲刺题(带答案解析)
- 【长期护理险制度运行中的问题及优化建议分析13000字】
- 葡萄糖耐量试验课件
- 应用文写作全套教学课件
- 密闭式静脉输血技术操作评分标准
- 做新时代的青年马克思主义者讲课
评论
0/150
提交评论