




已阅读5页,还剩28页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
.实验一 实验环境熟悉与简单程序设计实验目的(1) 掌握DEBUG调试程序的使用方法。(2) 掌握简单程序的设计方法。实验内容编程将BH中的数分成高半字节和低半字节两部分,把其中的高半字节放到DH中的低4位(高4位补零),把其中的低半字节放到DL中的低4位(高4位补零)。如:BH=10110010B则运行程序后DH=00001011BDL=00000010B实验准备(1) 熟练掌握所学过的指令。(2) 根据实验内容,要求预先编好程序。实验步骤(1) 利用DEBUG程序输入、调试程序。(2) 按下表要求不断地修改BH的内容,然后记录下DX的内容。 BH100111011101100100111111DHDL实验报告(1) 给出程序清单。(2) 详细说明程序调试过程。程序:CODE SEGMENT START : MOV BH,00111111B MOV AL,BH MOV CL,4 SHR AL,CL MOV DH,AL MOV AL,BH AND AL,00001111B MOV DL,AL MOV CL,0CODE ENDS END START实验二 简单程序设计实验目的(3) 掌握DEBUG调试程序的使用方法。(4) 掌握简单程序的设计方法。实验内容试编写一个汇编语言程序,要求实现功能:在屏幕上显示:Hello worldMy name is Li Jianguo参考程序如下:(有错)data segment out1 db Hello world ax db My name is Li Jianguo data ens code segment assume cs:code;ds:data lea dx,out1mov ah,2 int 21h mov dl,0ah mov ah,2 int 21h mov dl,0dh moo ah,2 int 21h lea dx,ax mov ah, int 21h code ends实验步骤(3) 利用IDE86程序输入、调试程序。实验报告(3) 给出正确的程序清单。(4) 详细说明程序调试过程。程序:DATAS SEGMENT STRING1 DB 13,10,Hello World!,13,10,$;13为回车,10为换行,$为结束符 STRING2 DB 13,10,My name is LI Jianguo,13,10,$ DATAS ENDSCODES SEGMENT ASSUME CS:CODES,DS:DATASSTART: MOV AX,DATAS MOV DS,AX LEA DX,STRING1 MOV AH,9 INT 21H LEA DX,STRING2 MOV AH,9 INT 21H MOV AH,4CH INT 21HCODES ENDS END START实验三 循环程序设计实验目的(1) 掌握在PC机上建立、连接、调试和运行8086汇编语言程序的过程。(2) 掌握数据传送和算术运算指令的使用方法。(3) 了解部分DOS系统调用的使用方法。实验内容将两个5位十进制数相加。要求被加数和加数均以ASCII码形式各自顺序存放在以DATA1和DATA2为首地址的5个内存单元中(低位在前),结果送回DATA1处。另外,程序利用DOS的9号调用功能完成将被加数、加数和最后的和在显示器上的显示。参考程序如下:data segmentdata1 db 32h, 38h, 30h, 36h, 37h,$data2 db 33h, 35h, 33h, 38h, 32h, $data endsstac segmentsta db 100 dup (?)stac endscode segmentassume cs:code, ds:data, ss:stac, es:datastart proc farpush dsxor ax, axpush axmov ax, datamov ds, axmov es, axmov ah, 9mov dx, offset data1int 21hmov ah, 2mov dl, +int 21hmov ah, 9mov dx, offset data2int 21hmov si, offset data1mov di, offset data2mov bx, 5push bxpush siconv1: and byte ptrsi+bx-1, 0fhand byte ptrdi+bx-1, 0fhdec bxjnz conv1mov cx, 5xor ax, axadd1: mov al, si+4mov bl, di+4adc al, blaaamov si+4, aldec sidec diloop add1pop sipop bxconv2: or byte ptrsi+bx-1, 30hdec bxjnz conv2mov ah, 2mov dl, =int 21hmov ah, 9mov dx, siint 21hretstart endpcode endsend start实验准备(1)仔细阅读本书第一章,掌握源程序的编辑、汇编、连接和调试方法。(2)阅读教材,熟练掌握数据传送和算术运算指令的使用方法。(3)阅读有关DOS系统调用的参考书,掌握1号调用、2号调用、7号调用、8号调用和9号调调用的使用方法。(4) 仔细阅读参考程序。实验步骤(1) 首先用IDE86软件输入汇编语言源程序,然后对此源程序进行汇编,再用LINK程序进行连接,最后执行。如果程序运行结果不正确: 重复以上过程,并记录下修改经过,直至程序正确运行为止。 在步骤(1)中,如果程序运行结果不正确,可使用DEBUG程序进行动态调试,直到程序正确运行为止。(2) 利用DEBUG程序修改被加数和加数,运行程序,并记录下程序运行结果。将被加数修改为:31H,32H,33H,34H,35H将加数修改为:35H,34H,33H,38H,39H程序运行后,请照实写出屏幕显示结果。(3) 修改你编写的或前面给出的参考程序。利用DOS系统功能完成5位被加数和加数的键盘输入,程序完成加法后,输出相加的和,记录下程序运行过程及结果。实验四 子程序及分支结构程序设计实验目的(1) 掌握分支程序及子程序设计的方法。(2) 进一步熟悉汇编语言源程序的上机过程。实验内容设有10个学生的成绩分别为:76、69、84、90、73、88、99、63、100、80,试编制一个程序统计60到69、70到79、80到89、90到99和100分的人数,分别放到五个存储单元中,然后在屏幕上显示。统计部分和显示部分要求用子程序实现。要求用堆栈进行参量传递。实验准备(1) 认真阅读教材,掌握分支程序的编程方法。(2) 绘制程序流程图,编写程序。实验步骤(1) 完成汇编语言源程序的编辑和连接过程。(2) 利用DEBUG进行程序调试和运行。(3) 撰写实验报告。DATAS SEGMENT SCORE db 76,69,84,90,73,88,99,63,100,80 STR1 db THE NUMBER OF 100 IS: ,$ STR2 db THE NUMBER OF 90-100 IS: ,$ STR3 db THE NUMBER OF 80-90 IS: ,$ STR4 db THE NUMBER OF 70-80 IS: ,$ STR5 db THE NUMBER OF 60-70 IS: ,$ COUNT EQU 10 GRADEA db ? GRADEB db ? GRADEC db ? GRADED db ? GRADEE db ?DATAS ENDSSTACKS SEGMENTSTACKS ENDSCODES SEGMENT ASSUME CS:CODES,DS:DATAS,SS:STACKSSTART: MOV AX,DATAS MOV DS,AX LEA BX,SCORE MOV CX,COUNTA1:MOV AL,BX CALL COMPARE INC BX LOOP A1 CALL OUTPUT MOV AH,4CH INT 21H COMPARE PROC PUSH BX CMP AL,100 JE L1 CMP AL,90 JAE L2 CMP AL,80 JAE L3 CMP AL,70 JAE L4 CMP AL,60 JAE L5L1:INC GRADEA JMP DONEL2:INC GRADEB JMP DONEL3:INC GRADEC JMP DONEL4:INC GRADED JMP DONEL5:INC GRADEE JMP DONEDONE: POP BX RET COMPARE ENDP OUTPUT PROC LEA DX,STR1 MOV AH,9 INT 21H ADD GRADEA,30H MOV DL,GRADEA MOV AH,2 INT 21H MOV DL,0AH MOV AH,2 INT 21H MOV DL,0DH MOV AH,2 INT 21H LEA DX,STR2 MOV AH,9 INT 21H ADD GRADEB,30H MOV DL,GRADEB MOV AH,2 INT 21H MOV DL,0AH MOV AH,2 INT 21H MOV DL,0DH MOV AH,2 INT 21H LEA DX,STR3 MOV AH,9 INT 21H ADD GRADEC,30H MOV DL,GRADEC MOV AH,2 INT 21H MOV DL,0AH MOV AH,2 INT 21H MOV DL,0DH MOV AH,2 INT 21H LEA DX,STR4 MOV AH,9 INT 21H ADD GRADED,30HMOV AH,2 MOV DL,GRADED INT 21H MOV DL,0AH MOV AH,2 INT 21H MOV DL,0DH MOV AH,2 INT 21H LEA DX,STR5 MOV AH,9 INT 21H ADD GRADEE,30H MOV DL,GRADEE MOV AH,2 INT 21H MOV DL,0AH MOV AH,2 INT 21H RET OUTPUT ENDPCODES ENDS END START实验五 简单I/O口扩展实验一、实验目的 1、 利用74LS273,74LS244扩展 I/0 。 2、 掌握用锁存器、三态门扩展简单的并行输入、输出口的方法。二、实验内容1熟悉74LS273,74LS244的应用接口方法。2掌握用锁存器(74LS273)、三态门扩展简单的并行输入。3扩展的方法:a逻辑电平开关(CZ1)作为74LS244(U10)的输入。b发光二极管(CZ2)作为74LS273的输出,c编写程序,使得逻辑电平开关的输入状态从发光二极管上显示出来。三、实验原理图:四、实验步骤1、 连线: a. 将74LS244 ( IC25)的输入SI0SI7分别与逻辑电平开关电路的K1K8相连。b. 从I/O地址片选信号CS0CS7中任选一个与74LS244的片选信号相连。(例如CS0)。c. 将74LS273(IC24)的输出S00S07分别与发光二极管电路的L1L8相连。d. 从I/O地址片选信号CS0CS7中任选一个与74LS273的片选信号(CSU8)相连。(如CS1)。 2、 打开计算机上已安装的DB86软件,参照.软件的使用a.编写程序。b.编译连接。c.调试程序。d.单步运行。e.如果调试通过后,全速运行,观察实验结果。 3、 全速运行后拔动开关,其变化反应的到发光二极管上。当作为信号输入量的开关任意位拔上时,对应的发光二极管点亮、拔下时熄灭。 4. 编写实验报告五、实验说明 用逻辑电平开关(CZ1)作为74LS244 (IC25) 的输入, 用发光二极管(CZ2)作为 74LS273 (IC24) 的输出。编写程序,使得逻辑电平开关的输入状态从发光二极管上显示出来。逻辑电平开关拔上时为5V,拔下时为0V。发光二极管输入1为亮、0为灭。从74LS244读入的数据后从输出口输出。在8086CPU 中有四个16位通用数字寄存器,其中仅 AX( AH, AL) 有输入输出功能。本实验通过输入语句( IN ),将开关量输入存到 AL 中,在通过输出语句 ( OUT ) 将 AL 值输出到发光二极管,从而实现开关控制发光二极管。当开关量换作其他形式控制输入,发光二极管换作其他形式控制对象,输入数据后对输入量做一定的运算处理再输出时,就实现了计算机控制,同时这些输入输出点均为I/O 扩展口,当输入输出点较多时,这种扩展十分必要六、程序框图结束AL从CS1口地址单元输AX读输入口CS0单元值至AX初 始 化开 始实验六 8255并行口实验一、实验目的利用 8255A 实现并行接口实验二、实验内容1. 掌握8255A的编程原理。2. 熟悉计算机并行接口的使用方法三、实验原理图:四、实验步骤:1. 连线:a 8255A(IC37)的PA0PA7分别与逻辑电平开关电路的 K1-K8 相连。b PB0PB7 分别与发光二极管电路的L1L8相连。c 从CS0CS7中任选一个与8255A的片选( CS8255)端相连。(如CS0)其他线路均已连好。 2软件: 与实验一相同3编写实验程序。 五、实验说明: 逻辑电平开关拨上时5V,拨下时0V;发光二极管输入为1时亮,输入为0时灭。拨动开关,观察发光二极管(CZ2)的变化。当开关(CZ1)某位拨上时,对应的发光二极管点亮,拨下时熄灭。 8255A是并行接口电路中比较常用的一种芯片, 8255A有三个8位的输入输出端口,由于内部电路原因,通常将A端口(PA0PA7)作输入用,B端口(PB0PB7)作输出用,C端口作辅助控制用,本实验也是如此。本实验中,输入输出都比较简单,控制相对简单,因此可选择在基本输入输出方式(方式0,即输入输出设置与上相同)下工作。在设计程序时,先设置8255的工作方式(控制端口地址为04A6H),然后循环读PA端口开关状态(地址为04A0H),输出至PB端口发光二极管(地址为04A2H)。A_port EQU 04A0HB_port EQU 04A2HC_port EQU 04A4Hctrc_port EQU 04A6HCODES SEGMENT ASSUME CS:CODESorg 100hSTART: mov dx,ctrc_port mov al,90h out dx,al add1: mov dx,04a0h in al,dx mov dx,B_port out dx,al jmp add1 MOV AH,4CH INT 21HCODES ENDS END START六、程序框图开始设置8255工作方式读A口从B口输出结束实验七 8253定时器/计数器接口实验一、实验目的 掌握8253定时器的编程原理,用示波器观察不同模式下的输出波形。二、实验内容 编程将计数器0,1,2设置为模式2(分频方式),并观察其输出波形。三、实验原理图四、实验步骤1、 连线:a 从CS0CS7中任选一个(如CS0)与8253的片选信号(CS8253)相连,8253的OUT0与CLK2相连,bOUT2与发光二极管 L1相连,c. OUT1接示波器,其他未提信号均已接好或无需连接。2. 软件:同实验一。3. 编写实验报告。五、实验说明8253的时钟端CLK0,CLK1均为1/8 M。CLK2的时钟由OUT0来控制。8253位8086系统中常用的可编程定时器/计数器,内部有三个相互独立的计数器,发别称为计数器0,计数器1、计数器2。8253有多种工作模式,其中模式2为方波方式。当给定初值后,自动将所设周期平分为两个部分,前一部分保持为高电平“1”,后一部分保持为低电平“0”,输出为一方波。CLK0、CLK1的频率均为1M/8,设计数器0的初值为0F24H(十进制为62500)时,方波周期为0.5s。在计数器2中设置不同的初值2n时,可的周期n0.5s的方波,n的最大值为7FFFH(十进制为32767)时,周期最长为16383.5s(4小时33分3.5秒),此时的初值为7FFEH。因此,采用两级计数叠加后,输出周期范围可大幅度提高。如能合理设置初值,这种广域范围的周期设定在实际控制中非常有用。CODES SEGMENT ASSUME CS:CODES ORG 100H START:MOV AL,00110110BMOV DX,04A6HOUT DX,ALMOV AX,750MOV DX,04A0HOUT DX,ALMOV AL,AHOUT DX,ALMOV AL,10110110BMOV DX,04A6HOUT DX,ALMOV AX,1000MOV DX,04A4HOUT DX,ALMOV AL,AHOUT DX,ALMOV AL,01110110BMOV DX,04A6HOUT DX,ALMOV AX,750MOV DX,04A2HOUT DX,ALMOV AL,AHOUT DX,ALCODES ENDS END START六、程序框图开始写计数器0方式控制字写计数器0计数常数写计数器1方式控制字写计数器1计数常数写计数器2方式控制字写计数器2计数常数空操作 实验八 A/D实验一、 实验目的熟悉A/D转换的基本原理,掌握ADC0809的使用方法。二、实验内容 按查询方式采样三路A/D转换数据,用简单输入口(U10)查询EOC信号。每循环一次0,1,2通道各采样一次。采样结果是0通道放入CX中,CL有效,1通道放入BX中,BL有效,2通道放入AX中AL有效。三、实验原理图三、实验步骤1、 连线:a. 将可变电位器KB1,KB2,KB3分别与ADC0809的IN0、IN1、IN2相连。b. 从CS0CS3中任选一个(如CS1)与ADC0809的片选端相连。c. 将ADC0809的EOC与IC25(74LS244)的SI0相连。d. 从CS0CS7中任选一个(如CS1)与U10的片选端相连。2、 软件: 同实验一。3、 编写实验报告。四、实验说明1、 实验电路中启动信号START与地址锁存信号相连,所以启动A/D转换的方法为: MOV DX ,PADC ;PADC是ADC0809的端口地址OUT AL, DX ;发片选及IOW信号,这是0通道 ;启动1通道时,DX应加1程序:CODE SEGMENT ASSUME CS:CODEORG 100HSTART:MOV DX,04A0H OUT DX,AL XOR AH,AHDAC:MOV DX,04B0H IN AL,DX TEST AL,01H JZ DAC MOV DX,04A0H IN AL,DX MOV CL,AL JMP DACCODE ENDS END START(此处设置断点)开始DX-0 通道启动地址启动A/D通道0读EOC信号至AX,即从CS1单元读,最低位为1有效AX AND 1HAX=0读A/D转换结果,存入CX通道启动地址加1启动A/D通道1读EOC信号至AXAX AND 1HAX=0读A/D转换结果,存入BX通道启动地址加1启动A/D通道2读EOC信号至AXAX AND 1HAX=0读A/D转换结果,存入CX五、程序框图实验九 DA实验一、实验目的 熟悉数模转换的基本原理,掌握DAC0832
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 人民大学版说课稿中职中职专业课旅游类74 旅游大类
- 7.2.3 基因的显性和隐性(说课稿)2025-2026学年八年级生物下册同步教学(人教版河北专版)
- 植物的虫害说课稿中职专业课-种植基础-农林类-农林牧渔大类
- 2025年老年康复护理题库及答案
- 2025年护理风险评估题库及答案
- doing做状语课件教学课件
- DOE基础知识培训课件
- Unit3 Are you Su Hai?story(教学设计)-译林版(三起)(2024)英语三年级英语上册
- 第三单元 课题1 分子和原子 说课稿-2023-2024学年九年级化学人教版上册
- (正式版)DB65∕T 4265-2019 《红枣简约化栽培技术规程》
- 项目经理职业生涯规划
- 除锈剂MSDS参考资料
- 高一英语选择性必修一课文及翻译(外研版新教材)中英Word精编文档
- 社会调查研究抽样课件
- 消防管道支架工程量计算表
- 英语英语句子成分和基本结构
- 应用成型的双面彩钢板复合风管代替传统的铁皮风管
- JJF(石化)006-2018漆膜弹性测定器校准规范
- 东华软件需求调研提纲汇总版与03-02同步
- 电焊工模拟试题(含答案)
- 全国优质课一等奖初中数学《有理数的乘方》精品课件
评论
0/150
提交评论