西北工业大学微机原理实验课课件

上传人:我*** 文档编号:137842245 上传时间:2020-07-12 格式:PPT 页数:74 大小:665KB
返回 下载 相关 举报
西北工业大学微机原理实验课课件_第1页
第1页 / 共74页
西北工业大学微机原理实验课课件_第2页
第2页 / 共74页
西北工业大学微机原理实验课课件_第3页
第3页 / 共74页
西北工业大学微机原理实验课课件_第4页
第4页 / 共74页
西北工业大学微机原理实验课课件_第5页
第5页 / 共74页
点击查看更多>>
资源描述

《西北工业大学微机原理实验课课件》由会员分享,可在线阅读,更多相关《西北工业大学微机原理实验课课件(74页珍藏版)》请在金锄头文库上搜索。

1、微机原理实验课,王虎朝:13152439938、 西北工业大学计算机实验教学中心,微机原理实验课有关事项说明,实验共20学时,分七次:软件4次,硬件3次。 实验报告完成后,以小班为单位按学号顺序排放,在下次试 验前两天放在 B309-2。实验报告每次批改三分之一。 实验用计算机系统为Windows98,计算机C盘设置为保护方式,只有D盘对学生开放。因此,编写的程序只能存在D盘。,微机原理实验成绩评定办法,1、实验课程为单独设课,实验成绩按百分制给出。 2、考核内容及各部分比例: 实验内容完成质量和进度占60%, 实验报告占40%(批改两次,每次10分,余5次每完成一次4分)。 3、学生实验出勤

2、和纪律(旷课一次扣15分,迟到一次扣110分,违纪一次扣15分。 4、有事请假同学持假条,有病请假同学持医院诊断证明,在微机原理实验室上班且有空闲设备的情况下,取得上课老师允许后,即可进行实验,实验完成后写一实验内容说明,请辅导老师签字,交原带课老师即可记入成绩。,汇编语言调试环境使用说明,利用Editplus和汇编相关软件建立起基于Win98平台的汇编语言集成调试环境,对我们学习汇编语言、开发汇编软件将十分方便,它将我们学习汇编程序时的编辑、编译、调试等工具集成于一体。,1从源程序列表中打开要编辑、调试的文件,主要菜单的使用,对源程序的编译和连接,对目标程序的调试,帮助文件,源程序调试软件的

3、使用,源程序窗口,寄存器窗口,命令行窗口,调试功能键: F2:寄存器窗口的开/关 F3:在源程序方式和汇编方式之间切换 F4:切换到输出屏幕 F5:执行到下一个断点或到程序结束(没断点) F6:激活各调试窗口 F7:在光标所在行设置一个临时断点,并执行到该行 F8:执行跟踪命令 F9:在光标所在行设置或清除一个断点(双击鼠标左键功能相同) F10:执行Program Step命令 PgUp:上卷一页 PgDn:下卷一页 Home:上卷到文件或命令缓冲区顶部 End: 下卷到文件或命令缓冲区底部,软件实验部分,本部分共进行4次实验,实验内容如下:,实验一 BCD码的运算,一实验目的 1.熟悉在E

4、ditplus集成环境下建立、汇编、链接、调试和运行汇编语言程序的全过程。 2.掌握汇编语言程序结构中数据段、堆栈段、代码段定义及内存分配方法。 3.学会DEBUG调试程序主要命令的使用方法。 4.掌握用组合BCD码表示数据的方法,并熟悉其加、减、乘、除运算。 二实验内容 1.多位十进制数加法。 2.两位十进制数乘法。 三实验要求 1.多位十进制数加法:在内存中以DATA1和DATA2为首址,各分配5个字节单元,分别存入两个8位组合BCD码数据(低位在前),将两数相加,结果送回到DATA2处。 2.两位十进制数乘法:将被乘数和乘数以组合BCD码形式分别存放于DATA1和DATA2定义的节单元中

5、,经乘法运算,乘积存入DATA3定义的两个内存单元中。 3.用DEBUG调试程序、查看运算结果,进行手工验证;并且用DEBUG修改数据,重新执行。,关于BCD码、十六进制数的说明,BCD码用4位二进制编码表示一个十进制数,又称二十进制数。由于这4位二进制数 的权值为8421,故也称BCD码为8421码。在计算机里,用一个字节的低4位表示一位 十进制数非组合BCD码;用一个字节表示两位十进制数组合BCD码。,在计算机里,所有的运算都是按二进制进行的,运算结果是二进制数(即十六进制数) 。为了把十六进制运算结果转换成十进制,汇编语言中引进了组合BCD码加法调整指令DAA和减法调整指令DAS。,DA

6、A 加法的十进制调整指令 该指令之前要执行ADD或ADC。 调整方法:若AF为1,或AL中的低4位是十六进制的A F,则AL内容加06H,AF置1; 若CF为1,或AL中的高4位是十六进制的A F,则AL内容加60H,CF置1。 AF 辅助进位标志 CF进位标志,多位十进制数加法,.model small .data data1 db 11h,22h,33h,44h,00h data2 db 99h,88h,77h,66h,00h .code .startup mov si,offset data1 ;设指针 mov di,offset data2 clc ;清进位 mov cx,5 ;设加法

7、次数 lop: mov al,si ;取第一加数 adc al,di ;取第二加数 daa ;十进制调整 mov di,al ;结果存入指定单元 inc si ;指针加1 inc di loop lop ;循环 .exit end,流程图:,开始,清进位,设加法次数,十进制调整; 部分和回送,指向下单元数,AL AL+第二加数+CF,CX-1=0?,结束,Y,N,两位十进制数乘法 两位十进制数乘法流程图:,开始,分离出第一乘数的“个位”,分离出第一乘数的“十位”,第一乘数的“十位”移到 “个位”后,再乘 10,合成得到16进制 的第一乘数,BCD码转换成16进制数,1,1,清进位,第二乘数做加

8、法次数,十进制调整,AL与AH内容交换,AL与AH内容交换,十进制调整,CX-1=0?,N,Y,存储结果,结束,两位十进制数乘法程序示例,.model small .586 .data data1 db 34h data2 db 56h data3 dw 1 dup (?) .code .startup mov bl,data1 ;第一乘数转换成16进制数 mov bh,bl and bh,0fh and bl,0f0h mov cL,4 shr bl,cL mov al,10 mul bl add al,bh movzx cx, al ;置加法次数计数器,mov bl,data2 ; 第二乘

9、数做BCD 加法,加第一乘数次 mov ax,0 clc lop: add al,bl daa xchg ah,al adc al,0 daa xchg ah,al loop lop mov data3,ax;积送乘积存储单元 nop nop nop .exit end,一、实验目的 掌握循环结构程序的设计、调试。 二、实验内容 1 多字节无符号数加法。 2 设计一软件延时器,并在屏幕上显示软件延时倒计时过程。 三、实验要求 1多字节无符号加法:在DATAS中存放10个双字节无符号数, 用循环结构设计程序,通过程序运算,把这10个双字节无符号 数相加,其和存入紧邻加数之后的四个单元中。 2软件

10、延时器:做一延时约1秒的软件延时器,在屏幕上按9、 8、0 顺序显示软件延时倒计时过程。 3. 修改实验2,做一延时约1秒的软件延时器,在屏幕上按99、 98、00 顺序显示软件延时倒计时过程。,实验三 循环结构程序,有关问题的说明,循环程序的三个组成部分: 循环初始状态设置。设置循环次数、为循环体正常工作建立初始状态等。 循环体。循环工作的主体,包含循环的工作部分和修改部分。循环的工作部分是为完成程序功能而设计的程序段;循环的修改部分是为保证每一次重复时,参加执行的信息能发生有规律的变化而建立的程序段。 循环控制部分。选择一个循环控制条件来控制循环的运行和结束。 循环程序的结构:,循环初始状

11、态,循环控制条件,循环体,Y,N,循环初始状态,循环体,循环控制条件,Y,N,DO-WHILE结构,DO-UNTIL结构,子程序结构: procedure name PROC Attribute RET procedure name ENDP Attribute,NEAR 调用程序和过程在同一个代码段中,FAR 调用程序和过程不在同一个代码段中,系统功能调用:系统功能调用是DOS为方便汇编语言编写而提供的一组约80个功能调用的常用子程序,它分为设备管理、文件管理和目录管理等几类。DOS规定用软中断指令 INT 21H 进入各功能调用子程序的总入口,再为每个功能调用规定一个功能号,以便进入相应各

12、自子程序的入口。系统功能调用的使用方法:,EX1:从键盘输入单字符 MOV AH,01H ;1号功能调用 INT 21H 将键盘输入字符的ASCII码送到 AL。 EX2:从键盘输入字符串 BUF DB 10 DUP(?) LEA DX,BUF MOV AH,0AH ;0A号功能调用 INT 21H 将键盘输入的字符串写到 RAM 中去,击 回车键表示字符串结束。字符数与予留 空间的关系为:少补零多丢失。 EX3:输出单字符 MOV DL,M MOV AH,02H; 2号功能调用 INT 21H 将 DL 中字符从屏幕上显示出来。,EX4:输出字符串 BUF DB Thank you MOV

13、DX,OFFSET BUF MOV AH,09H;9号功能调用 INT 21H 将 指定 RAM 缓冲区中的字符串从屏幕 上显示出来。 为字符串结束符。 EX5:直接控制台输入/输出单字符 MOV DL,0FFH;DL=0FFH时, MOV AH,06H; 6号功能调用 INT 21H; 将键盘输入字符 送到 AL 中。 MOV DL,M; DL 0FFH时, MOV AH,06H; 6号功能调用 INT 21H; 将 DL 中字符送到 屏幕上显示。,多字节无符号数加法,.MODEL SMALL .586 .DATA DATAS DW 1111H,2222H,3333H,4444H,5555H

14、 DW 6666H,7777H,8888H,9999H,0AAAAH RESULT DD 1 DUP(?) .CODE .STARTUP MOV SI,OFFSET DATAS;设指针 MOV CX,10;累加次数 MOV EAX,0;清累加器 LOP: MOV BX,SI;取加数到BX MOVZX EBX,BX ;将BX扩展成32位 ADD EAX,EBX; 加 INC SI;改指针 INC SI LOOP LOP;循环加 MOV RESULT,EAX;存结果 .EXIT END,开始,清进位,将BX扩展为32位,SI 指向下一加数,CX-1=0?,N,Y,存结果,结束,软件延时器,.mod

15、el small .data data db 20h,20h,20h,20h,20h,39h,0dh,$ .code .startup mov cx,0Ah; 设循环次数 lop:mov ah,09h;显示功能调用 lea dx,data int 21h call near ptr delay;调用延时子程序 dec data+5;修改显示数字 loop lop .exit Delay proc near uses cx ;延时子程序 mov bx,06ffh ;设第二时常数 Delay1 :mov cx,0h loop $ ;自身循环CX次 dec bx ;第二时常数减1 jnz delay1 ;不为零循环 ret Delay endp end,开始,字符串 显示功能调用,延时子程序调用,显示数字修改,CX-1=0?,N,Y,结束,主程序流程:,延时子程序流程:,实验四 排序程序,一实验目的 1学习无符号数比较大小指令; 2掌握多重循环编程方法; 3掌握汇编语言编写排序

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

当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

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