


版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、汇编实验报告实验一(2) 分支及循环程序设计一、实验目的及要求熟练掌握转移指令,掌握分支程序设计的原理和方法,重点掌握各种分支程序中形成条件和判断条件的方法和技 巧。掌握循环程序设计的方法(单重循环结构和两重循环结 构),正确分配与使用寄存器,根据实际问题选择控制循环 的方法(循环次数已知和循环次数未知) 。二、实验内容编写下列程序并调试通过。1. 通过键盘输入一个小写字母,找出对应的前导字母 和后续字母,再按顺序显示这三个字母。2. 编写一个程序,要求比较数组 ARRAY中的三个16位 补码,并根据比较结果在终端上显示如下信息:1 如果三个数都不相等,显示0; 2如果三个数都两个相等,显示1
2、; 3如果三个数都相当,显示 2。3. 编写一个程序,要求通过键盘接收一个个位数N,然后显示N个字母 $ 4.从键盘上输入一个 8位二进制数, 在显示器上显示其相应的十六进制数。(教材P170习题5)5.要求从键盘上接收一个 4位十六进制数,然后再显示器上显示其对应的 16位二进制数。6. 用15行*16列的表格形式显示 ASCII码为10H-FFH 的所有字符。三、实验流程图,程序代码以及运行结果截图 实验一:CODES SEGMENTASSUME CS:CODES START:MOV AH,01HINT 21H MOV DL,ALCMP DL, 'a 'JZ L1CMP D
3、L, 'z ' JZ L2 DEC DLMOV AH,02HINT 21HINC DLMOV AH,02HINT 21HINC DLMOV AH,02HINT 21H JMP EXITL1: MOV AH,02H INT 21H INC DLMOV AH,02HINT 21H JMP EXITL2: DEC DLMOV AH,02HINT 21HINC DLMOV AH,02H INT 21HEXIT: MOV AH,4CH INT 21HCODES ENDS END START实验二DATAS SEGMENT ARRAY DW 1,2,2 DATAS ENDSCODES SE
4、GMENTASSUME CS:CODES,DS:DATAS START:MOV AX,DATAS MOV DS,AXBEGIN: MOV DX,0H MOV AX,SI MOV BX,SI+2CMP AX,BX JNE NEXT1 INC DXNEXT1: CMP SI+4,AX JNE NEXT2INC DXNEXT2: CMP SI+4,BX JNE NEXT3 INC DXNEXT3: CMP DX,3 JL NEXT4 DEC DXNEXT4: ADD DL,30HMOV AH,02H INT 21HMOV AH,4CH INT 21H CODES ENDS END START实验三D
5、ATA SEGMENTSTRINGDB'lnputagain ' ,ODH,OAH,& #39;$ ' DATA ENDSCODES SEGMENTASSUME CS:CODES,DS:DATA START:MOV AX, DATAMOV DS,AXL1:MOVAH,01H INT 21H CMP AL,& #39;0 'JB L2CMP AL, '9 ' JBE L3l3: SUB AL,30H MOV CH,0H MOV CL,ALL2: LEA DX,STRING MOV AH,09H INT 21HJmp 11L4:MOVDL,& #39
6、;$ ' MOV AH,02H INT 21HLOOP L4MOV AH,4CH INT 21H CODES ENDS END START实验四CODES SEGMENTASSUME CS:CODES START:MOV BL,0 MOV CX,8L1:MOVAH,01H INT 21H SUB AL,30H SHLBL,1 OR BL,AL LOOP L1NEXT1: ADD DL,30H MOV AH,02H INT 21HMOV DL,BLANDDL,0FHCMFDL,9 JBE NEXT2 ADDDL,7MOV DL,BL MOV CL,4 SHR DL,CL CMPDL,9
7、JBE NEXT1 ADD DL,7NEXT2: ADD DL,30H MOV AH,02H INT 21HMOV AH,4CH INT 21H CODES ENDS END START实验五CODES SEGMENT CMP AL, 41H ASSUME CS:CODESJB INPUT BEGIN: CMP AL, 46H MOVBX, 0JA INPUTMOVCH, 4 AND AL, 0FH MOVCL, 4 ADDAL, 9INPUT: SHL BX, CL BINARY: OR BL, ALMOV AH, 01H DEC CH INT 21H JNZ INPUTCMP AL, 30
8、HDISPN:MOV CX, 16JBINPUTDISP: MOV DL, 0CMP AL, 39H ROL BX, 1 JA AF RCL DL,1 AND AL, 0FH OR DL, 30H JMP BINARY MOVAH, 02H AF: AND AL, 11011111B INT 21HLOOP DISPMOV AH,4CHINT 21H CODES ENDS END BEGIN注:SHOW程序为十六进制向二进制的转换,见下页SHOW十六进制与二进制的转换实验六CODES SEGMENTASSUME CS:CODES START:MOV CX,15 MOV DL,10H L1: M
9、OV BX,16BEGIN:MOV AH,02HINT 21H PUSH DX MOVDL,20H MOV AH,02H POP DX INC DX DEC BX CMPBX,0 JNE BEGINPUSH DX MOV DL,0DH MOV AH,02H INT 21HMOV DL,0AH MOV AH,02H INT 21H POP DX LOOPL1MOV AH,4CH INT 21H CODES ENDS END START四、总结这次试验过程中出现的问题很多,最开始是对错做过程的不熟悉导致编译运行是老出错,最后是代码上的错误。所以通过这次试验不仅 让我懂得对汇编操作的基本过程熟悉了,
10、更多的是对整个编 写代码的流程熟悉了。中间总是出现错误时曾经不想做了, 但是觉得这种代码也并不是很难,应该可以实现,所以在不 断 地改动之后最终让正确的实验结果出现。所以这次试验 还让我对做实验增加了耐心,因而这次收获很多。实验二子程序设计一、实验目的及要求理解CALL和RET指令,以及子程序的调用与返回过程; 掌握子程序的结构,及相关的设计方法;能合理地分解程序 功能,有效地支持功能的重用。二、实验内容编写下列程序并调试通过。从键盘输入一系列字符(以回车符结束),并按字母、数字及其他字符分类计数,最后显示这三类字符的计数结果(采用子程序 BINIDEC)(子程序BINIDEC输入:16位二进
11、制数输出:十进制数,功能:将16位二进制数转换成十进制数)三、实验代码DATAS SEGMENTALPHADB'Thetotalofalphais:& #39;,& #39;$ 'NUMBERDB'Thetotalofnumberis:& #39;,& #39;$ 'OTHERDB'Thetotalofotheris:& #39;, '$ 'BUF DB 7DUP(O), '$ 'CRLFDBODH,OAH,& #39;$ ' DATAS ENDSCODES SEGMENT MAIN PROC FARASSUME
12、CS:CODES,DS:DATASSTART: PUSH DS SUB AX,AX PUSH AXMOV AX,DATAS MOV DS,AX MOV BX,0 MOVSI,0 MOV DI,0 INPUT: MOV AH,01H INT 21H CMPAL,0DH JE DISPCMP AL,30H JAE L1 OTHERS: INC DI JMP SHORT INPUTL1: CMP AL,39H JA L2 INC SI JMP SHORT INPUT L2:CMP AL,41H JAE L3 JMP SHORT OTHERS L3: CMP AL,5AHJA L4 INC BX JM
13、P SHORTTNPUT L4: CMP AL,61H JAE L5JMP SHORT OTHERS L5: CMP AL,7AH JA SHORT OTHERSINC BX JMP SHORTINPUT DISP: LEA DX,CRLF MOV AH,09H INT 21H LEA DX,ALPHA CALL DISPLAY LEA DX,NUMBER MOVX,SI CALL DISPLAY LEA DX,OTHER MOV BX,DI CALL DISPLAY RETMAIN ENDPDISPLAY PROCNEARMOV AH,09H INT 21H CALLBINIDEC LEA
14、DX,CRLF MOV AH,09H INT 21H RETDISPLAY ENDPBINIDEC PROC NEAR PUSH AX PUSH SI PUSH DX MOAX,BX MOV CX,10 LEA SI,BUF+6 EXCHANGE: MODX,O DIV CX ADD DL,30H MOV SI,DL DEC SI OR AX,AX JNZ EXCHANGE LEA DX,BUF MOV AH,09H INT 21H POP DX POP SI POP AX RETBINIDEC ENDP CODES ENDS END MAIN四、实验总结通过本次试验,我对子程序结构的设计方法
15、有了一定的 认识,子程序相当于高级语言中的过程和函数。在一个程序 的不同部分,往往要用到类似的程序段,这些程序段的功能 和结构形式都相同,只是某些变量的赋值不同,此时就可以 把这些程序段写成子程序的形式,以便需要时可以调用它。实验三(1)熟悉接口技术实验环境1. 学习和熟悉实验平台相关资料:附件1 TD-PITE用户手册。2. 完成下列实验内容对实验平台提供的时钟脉冲信号(1 MHZ)进行分频,分频后产生的脉冲信号 (1HZ)输出到一个发光二极管上 (发 光二极管的点亮、熄灭交替进行)。1 )画出硬件线路图(见下页)。在TD-PITE实验平台上,计数器 0的GATEO已连接+5V,计数器2用于
16、支持串行通讯(用户不能使用)。2 )写出初始化程序。CODE SEGMENTASSUME CS:CODESTART: MOV DX, 0606HMOV AL, 36H; 计数器0工作方式控制字OUT DX, ALMOV DX, 0600HMOV AX, 1000;计数器0计数初值OUT DX, ALMOV AL, AHOUT DX, ALMOV DX, 0606HMOV AL, 76H; 计数器1工作方式控制字OUT DX, ALMOV DX, 0602HMOV AX, 1000;计数器1计数初值OUT DX, ALMOV AL, AHOUT DX, ALAA: JMP AACODE ENDS
17、END START3 )在实验平台上连线,调试,演示。实验三(2)定时计数器的应用一、实验基本内容及要求见附件2 80X86微机原理及接口技术实验教程(P113-117)在上述实验方案中,采用8254计数器0控制声音频率,采用软件延时的方法控制声音的节拍(声音长度)。二、实验设备PC 机一台,TD-PITE实验装置三、实验流程图和接线图(见下图)四、实验步骤1 、连接试验线路;2 、编写程序,经编译、连接无误后装入系统(代码见后);3 、运行程序,听扬声器发出的音乐是否正确。实验流程图实验接线图代码:实验四(1)并行接口的应用一、实验目的1 、学习掌握8255工作方式及其应用。2 、掌握825
18、5典型电路的接法。3 、掌握程序的固化二、实验设备PC机一台、TD-PITE实验装置 三、 实验内容1 、基本输入输出实验。编写程序,使8255的A 口为输入,B 口为输要求只要开关拨动,数据灯的显示就会发生相应变化。2 、流水灯显示实验。编写程序,使 A,B均为输出,数 据灯D7-D0由左向右,每次仅亮一个灯,循环显示,D15-D8与D7-D0正相反,由右向左,每次仅点亮一个灯, 循环显示。 四、实验过程实验1:1 、连接试验线路(见下图);2 、编写程序,经编译、连接无误后装入系统(代码见后);3、运行程序,改变拨动开关,同时观察LED显示,验证程序功能。实验21 、连接试验线路(见下图)
19、;2 、编写程序,经编译、连接无误后装入系统(代码见 后);3、运行程序,观察 LED显示,验证程序功能。实验四D/A 转换器的应用实验目的1、学习数/模转换的基本原理2、掌握DAC0832的使用方法二、实验设备PC 机一台、TD-PITE实验装置三、实验内容设计实验电路图实验线路并编写程序,实现D/A转换,要求产生锯齿波、脉冲波,并用示波器观察电压波形。四、实验过程1 、连接试验线路(见下图);2. 编写实验程序,经编译、链接无误后装入系统。3. 单击按钮,运行实验程序,用示波器测量DA的输出,观察实验现象。4.用示波器观察波形的方法:单击虚拟仪 器菜单中的按钮或直接单击工具栏的按钮,在新弹
20、出的示波 器界面上单击按钮运行示波器,观测实验波形。5.自行编写实验程序,产生三角波形,使用示波器观察输出,验证程序功能。方波:STACK SEGMENT STACK DW 32 DUP STACK ENDSCODE SEGMENTASSUMECS:CODE,SS:STACKSTART: MOVAX,00HMOV DX,600H AA1: MOV AL,00H OUT DX,AL CALLDELAY MOV AL,7FH OUT DX,ALCALL DELAY JMP AA1 DELAY: PUSH CX MOV CX,7777H AA2:PUSH AX POP AXLOOP AA2 POP
21、CX RET CODE ENDSEND START锯齿:STACK SEGMENT STACK DW 32 DUP STACK ENDSCODE SEGMENTSSUMECS:CODE,SS:STACKSTART: MOVAX,00H MOV DX,600H MOV AL,00H AA1:OUT DX,ALCALL DELAY INC ALJMP AA1 DELAY: PUSH CX MOV CX,0020H AA2: PUSHAX POP AX LOOP AA2 POP CX RET CODE ENDS ENDSTART三角波:STACK SEGMENT STACK DW 32 DUP(?)
22、 STACK ENDSCODE SEGMENTASSUMECS:CODE,SS:STACKSTART: MOVAX,00H MOV DX,600H MOV AL,00H AA1:OUT DX,ALCALL DELAY INC AL MOV CL,AL CMP AL,0FFH JZ AA3JMP AA1AA3: OUT DX,AL CALL DELAY DEC AL CMP AL,00HJZ AA1 JMP AA3 DELAY: PUSH CX MOV CX,0020H AA2:PUSHAX POP AX LOOP AA2 POP CX RET CODE ENDSENDSTART实验五8259中断控制器的应用一、 实验目的1、掌握8259中断控制器的工作原理 2、 掌握8259的应用编程方法3、掌握8259级联方式的使用方法 二、实 验设备PC 机一台、TD-PITE实验装置 三、 实验内容单次脉冲输出与主片 8259的IR7相连,每按动一次单次脉冲,产生一次外部中断,在显示屏上输出一个字符 “ 7”。 四、实验步骤1
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 社区楼道长管理办法
- 业务付款管理办法化工
- 资产损失税前管理办法
- 视频监控项目管理办法
- 专人服务酒店管理办法
- 交通违章考核管理办法
- 规范售卖摊位管理办法
- 业务代理机构管理办法
- QC主管现场管理办法
- 中国国土管理暂行办法
- 英语初高中衔接音标
- 第十四章滚动轴承相关设计
- 第1章 数据与统计学-统计学
- GB/T 2059-2000铜及铜合金带材
- GB/T 14456.1-2017绿茶第1部分:基本要求
- 远离电子烟主题班会课件
- 设备维护保养手册
- ZYHZYHC系列自控远红外电焊条烘干炉使用说明书
- 外科学课件:泌尿、男生殖系统外科检查
- 高中政治统编版(2022)必修3(教案)我国法治建设历程(完整文档)
- 市场营销策划(第五版)第08章 促销策划
评论
0/150
提交评论