汇编语言与接口技术试验报告_第1页
汇编语言与接口技术试验报告_第2页
汇编语言与接口技术试验报告_第3页
汇编语言与接口技术试验报告_第4页
汇编语言与接口技术试验报告_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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

2、1. 根据实验容编写程序。2. 上机调试程序。3. 记录并分析程序运行结果。学习帮手-专业整理.五、程序代码1. 8位无符号数冒泡法排序程序如下: model small data n dw 8block db 61h, 84h, 93h, 0c4h, 17h, Offh, 52H, 2ah stack 60h code startupmov ax, datamov ds, axmov ex, ndec exloopl: mov dx, exmov bx, 0loop2: mov al,blockEbxemp al, blockbx+ljna continuexchg al, blockbx+

3、lmov blockbx, alcontinue: add bx, 1loop loop2mov ex, dxloop loopl exitend2、8位有符号数冒泡排序程序如下model small datan dw 8block db 61h, 84h, 93h, 0c4h, 17h, Offh, 52H, 2ah stack 60h code startupmov ax, datamov ds, axmov ex, ndec exloopl: mov dx, exmov bx, 0loop2: mov al,blockEbxemp al, blockbx+ljle continuexch

4、g al, blockbx+1mov blockbx, alcontinue: add bx, 1loop loop2mov ex, dxloop loopl exitend六、程序运行结果及分析学习帮手.在命令行debug,反汇编找到初始程彤入口 0017益 命令提示符-debug expl-1. exeE:MASM611>debug expl-1 u0 0B48:0000 0B48:0003 0B48:0005 0B48:0007 0B48:0009 0B48:000B 0B48:000D 0B48:080F 0B48:0011 0B48:0012 0B48:0014 0B48:00

5、16 0B48:0017 0B48:001fi 0B48:001CBA4C0B8EDA8CD32BDAD1E3D1E3D1E3D1E3FA8ED203E3FB B84C0B 8ED8 8B0E0600UUUBLLLLIUDIUUUOOOUHHHHLODTOOOMMMSSSSSCMMASMMMc4Bxsx0DSD1111SS.DXSP.BXAX.0B4CDS.AXGX,E0006J查看cup寄存器的容专业整理.学习帮手-d186G:0000BA7018186C:0010E3Fft8E186C:0020498BDI186C:0030868709186G:0040E0B44C186C:0050FA2

6、&80186C:006026C7441S6C:007056F226筋器GD4C14MDA03008821CS P448C D3 2B-DA DIE3 FB B8-70 1800 8fi 8?-08 0087 08 00-83 C300 08 00-61 8438 EB 08-8E 46FF 26 C?-44 160E 26 89-54 10E38E3A0193FftFFFFD1D887E2C426FF76E3 3)1 E3 DI 8B 0E 06 00 09 03 76 08E9 SB CA E2 17 FF 52 2fi89 4C 0C 14 8B 46 F0 8BF2 FF 76

7、F0L -Dfe & &u F - aL-DT-d 14f?:014F7:00002474F7EBF9AC3G24-740A14F7:001032AAEBFl58C32407-8AC814F7:00208AC2C3E80B00B046-Aft80i4F7:0030C32407SAD0E845FC-D0E214F7:00408AD0G35FC706A456-2E4114F7:005003E8DDFFE894FC80-3EA?14F7:0060A65601E924FDB02C-AftAS14F7:0070FCE83E00EB03ES34-00B0-s=0Progrctn termi

8、nated normally3E83D08A56A72C40DAA9E2C20356AA0358EBB009AA038AC2E20AC2A751EB08C60607E9C?39E831器BF7424EB.KPu.XE 叭 A.Q u. .$u$.实验2系统中断接口实验一、实验目的1. 熟悉可编程中断控制器8259A的使用方法。2. 掌握软、硬件中断的编程技术。二、实验容1. 软件中断自定义一个软件中断,中断类型码为78H。在中断服务程序中,完成ASCII 码到压缩的BCD码的转换,ASCII码存首地址为ASCADDR,长度为NUMBER,转换后的 BCD码存放在以BCDADDR为首地址的存储区

9、中。2. 硬件中断设IRQJIRQ (中断类型号为7274H)接外部硬件中断源1'3,外部中断 源的中断请求通过按数字键模拟产生。在中断服务程序中显示"Interrupt字样。service routine n(n=l 3) is running三、实验要求1. 编写主程序和中断服务程序。2. 上机调试程序。3. 记录并分析程序运行结果。四、程序说明和程序流程图 结束 硬件中断软件中断五、程序代码实验1代码:dsegsegmentascaddrdb'0123456789'numberdb10bcdaddrdb20 dup (?)dsegendscsegsegm

10、entassumecs:cseg, ds:dsegstart:pushdsxorax, axpushaxmovax, seg asc_bcdmovds, axmovdx,offset asc_bmovax,2578hint21hint78hretfasc_bcd procmovax,dsegmovds, axmovsi, offsetascaddrmovdi, offsetbcdaddrmovch, numbershrch, 1movcl, 4专业整理.cont:movax, Lsiandal, Ofhshlah, cloral, ahmovdi, aladdsi, 2incdidecchjn

11、zcontiretasc_bcdendpcsegendsendstart实验2代码:dsegsegmentdispldb'Interrupt serviceroutine1isrunning.',Oah, Odh, ' $'disp2db'Interrupt serviceroutine2isrunning.',Oah, Odh, ' $'disp3db'Interrupt serviceroutine3isrunning.',Oah, Odh, ' $'dsegendscsegsegmentass

12、umecs:cseg, ds:dsegstart:pushdsxorax, axpushaxmovax,seg israddlmovds, axmovdx,offset israddl学习帮手.movax,2572hint21hmovax,seg isradd2movds, axmovdx,offset isradd2movax,2573hint21hmovax,seg isradd3movds, axmovdx,offset isradd3movax,2574hint21hinal, Oalhandal,11100011boutOalh, almovah, 0int16hcmpal/ rjz

13、servelcmpal,,2,jzserve2cmpal,'3'jzserve3cmpal,,q,jzexitjmpkeyinint72hjmpkeyinkeyin:servel:serve2:intjmp73hkeyinserve3:int74hjmpkeyinexit:retfisraddlprocpushdspushaxmovax,seg displmovds, axmovdx,offset displmovah, 9int21h;moval, 20h;outOaOh, alpopaxpopdsire tisraddlendpisradd2procpushdspushax

14、movax,seg disp2movds, axmovdx,offset disp2movah, 9int21h;moval, 20houtOaOh, alpopaxpopdsire tendpprocpushdspushaxmovax,seg disp3movds, axmovdx,offset disp3movah, 9int21hmoval, 20houtOaOh, alpopaxpopdsire tendpendsendstartisradd2isradd3isradd3cseg六、程序运行结果及分析实验1存结果貢命令提示符Microsoft Windows XP 版本 5.1.260

15、0 <G> 版权所有 1985-2001 Microsoft Corp.C: Documents and Settingsfidministpatop>E:E:>cd MASM611E:MASM611>r1 exp2-l-asnexp2-l.exed0B4A:0000 0B4A:0010 0B4A:0020 0B4A:0030 0B4A:0040 0B4A:0050 0B4A:0060 0B4A:0070BB4D1280000C01E8A81E8B3E44BFBE0F88D758B4BBE40EEC0B0255395CD07F3E08060809C70C0E293

16、DA3A78D3C08C1EAE1E5DB8812203E0E8E-D8 BA 8E-D8 BE 8B-04 2475-EE CF00-EB 02E8-B4 EEEl-FA 837E-FF 60DA8E5BF0C88FEE08 50444350 20C29E70 8BA68119 7003EA0D 8F4C0879 BBE55E3E 00210D43 00DAC030 40FE3BE5 10023E3?实验2:exp2-2-exeE:XMASM611>debug uB51:0000 B51:000i B51:0003 B51:0004 B51:0007 B51:0009 B51;000C

17、 B51:080F33C00B51:0011 0B51:0014 0B51:0016 0B51:0019 0B5i:001C 0B51:001EB8510B 8ED8BA5400B87225CD21 B8510B 8ED8BA6500B87325 CD21B8510BPXPMMMHMIMMMMIMDSAX.AXAXAX.0B51DS,AXDX.0054AX,257221AXr0B51 DS,AX DX.0065AX,257321命令提示符-exp2-2. exednlxE:MASM611>exp2-2.exeInterrupt Interrupt Interrupt Interrupt

18、Interrupt Interrupt Interruptservice service service service service service serviceroutine routine routine routine routine routine routine1232113is runn ing is runn ing is runn ing is runn ing is runn ing is runn ing is runn ing 实验3键盘接口实验一、实验目的1. 了解键盘接口的工作原理。2. 掌握直接在硬件基础上编写键盘处理程序的方法。3. 熟悉键盘的BIOS和DO

19、S功能调用。二、实验容设计一个中断方式的用户键盘处理程序,其功能是直接从数据端口(8255的PA端口,地址为60H)读取键盘的扫描码,并通过换码指令XLAT将扫描码转换为ASCII使键盘的管理在用户键盘字符显示在屏幕上。当程序运行时,可通过键入ESC键, 处理程序和系统键盘处理程序(INT 09H)之间进行切换。三、实验要求1. 编写主程序和中断服务程序。2. 上机调试程序。3. 记录并分析程序运行结果。四、程序说明和程序流程图五、主程序和中断服务程序代码csegsegmentorg100hassumecs:csegstart:jmp installflagdb0oldintdd9scanta

20、bdb0, 0, '1234567890-二',08h, 0db'QWERTYUIOP',0dh,0db'ASDFGHJKL;',O, 0, 0,0db'ZXCVBNM,., 0, 0, 0, 20hdb13 dup(0)db'789-456+1230#'kbint:pushaxpushbxpushdspushcspopdsstimovbx,offset seantabinal, 60htestal, 80hjnzkeyendpushaxinal,61horal, 80hout61h, alandoutpopcmpjnzi

21、ncdisp: testjzpoppoppopjmpuser: xlatcmpjzmovintmovintmovint keyend: movoutpopal, 7fh61h,alaxal,01hdispflag flag, Olh user ds bxaxcs:oldintal,0keyendah, 14lOhal, OdhlOhal, Oah10hal, 20h20h, aldsbxpop pop ax iretinstall:clipushcspopdsmovax,3509hint21hcmpbx,offset kbintjnzloadint20hload:movword ptr old

22、int, bxmovword ptr oldint+2, esmovdx,offset kbintmovax,2509hint21hinal,21handal,11111101bout21h, alstimovdx,offset installint27hcsegendsendstart六、程序运行结果及分析1.当执行程序后,输入小写字母显示人写,键入ESC后切换到操作系统自己的中断,输入小写 显不小写。专业整理.学习帮手.匸I xXMASM611>QWERTVUIO ERTVSDF 犬命令提示符Microsoft Windows XP【版本 5.1.2600 <G> 版权所

23、有 1985-2001 Microsoft Corp.C: Documents and SettingsAdn)inistpatoF>E:E:>cd MASM611E:MASM611 >exp3.exeCA Command Promp七qwertyuiop asdfghjkkllzxcubnW实验4显示器接口实验一、实验目的1. 了解显示器接口的工作原理。2. 熟悉显示器的BIOS和DOS功能调用。二、实验容在屏幕上显示一移动的“笑脸”。“笑脸”字符的ASCII码为01H或02H,要使“笑 脸”动起來,可按如下步骤编程:1. 屏幕上显示“笑脸”;2. 延迟一段时间;3. 清除

24、“笑脸”(可用清除部分屏幕或在“笑脸”位置显示空字符的方法实现);4. 改变“笑脸”的行、列坐标;5. 返回第1步,重复上述过程。三、实验要求1. 根据实验容编写程序。2. 上机调试程序。3. 记录并分析程序运行结果。四、程序说明和程序流程图五、程序代码stackstackcode move_facestart:segmentdb 256 dup(1)endssegmentproc farassume cs:code, ds:stackmove_cursor:subax, axpushaxmovah, 15intlOhmovah, 0moval, 1intlOhmovex, 1movdx, 0

25、stimovah, 2int10hmoval, 1movah, 10intlOhcalldelaysubal, almovah, 10push dsintlOhincdhincdlcmpdh, 25hjnemove_cursorretmove_faceendpdelay-procpushbxpushexpushdxmovah, 0intlahadddx, 9movbx, dxredo:intlahcmpdx, bxjneredopopdxpopexpopbxretdelayendpcodeendsend.专业整理.六、程序运行结果及分析学习帮手.专业整理.实验5串行通信接口实验一、实验目的1.

26、 熟悉可编程串行通信接口 8250A的使用方法。2. 掌握串行通信接口的编程技术。二、实验容1. 两台微机利用C0M1 (串行口 1)进行查询式通信,可釆用三线式连接方法。 双机通信的要求如下:7位数据位、偶校验、1位停止位、波特率为9600:双机同时 运行通信程序,一方键入的字符在另一方的屏幕上显示,当按下字符F'时,结束通 信返回DOS。2. 用中断方式实现上述1的功能。3. 用BIOS调用发送和接收字符。三、实验要求1. 编写查询式通信程序。2. 编写中断式通信程序。3. 编写用BIOS调用实现的自发自收的通信程序。4. 上机调试程序。5. 记录并分析程序运行结果。查询方式发送查

27、询方式验收五、程序代码实验1代码:scornsegmentpara stack 'scom,db256 dup(0)scornendsdcomsegmentdb50 dup (?)dcomendsccomsegmentpara public 'ccom'start procfarassumecs:ccom, ss:scorn, ds:dcom学习帮手.pushdsxorax, axpushaxmovdx, 3fbhmoval,10000000boutdx, almovdx, 3f8hmoval, Ochoutdx, alincdxmoval,0outdx, almovdx, 3fbhmoval, 00011010boutdx, alincdxmoval, 00010011boutdx, almovdx, 3f9hmoval,0outdx, almovdx,3fdhinal, dxtestal,00011U0

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论