汇编语言、微机原理、接口技术-八个实验(全)
微机原理实验报告册(3篇)

第1篇一、实验目的1. 理解和掌握微机的基本组成和工作原理;2. 熟悉微机硬件设备和实验仪器的使用方法;3. 提高动手实践能力,培养解决实际问题的能力;4. 深入理解微机原理课程内容,为后续课程学习奠定基础。
二、实验内容1. 微机系统认识实验2. 微机硬件组成实验3. 微机指令系统实验4. 微机寻址方式实验5. 微机程序设计实验6. 微机接口技术实验三、实验仪器与设备1. 微机原理实验箱2. 示波器3. 数字万用表4. 计算机一台5. 实验指导书四、实验步骤与内容1. 微机系统认识实验(1)观察实验箱的结构,了解各个模块的功能;(2)熟悉实验箱的电源、复位、运行等按钮的使用方法;(3)学习微机系统的工作流程,包括加电、复位、启动等过程;(4)观察微机系统启动后的运行状态,了解各个模块的协同工作。
2. 微机硬件组成实验(1)观察实验箱的CPU、内存、I/O接口等硬件模块;(2)学习CPU的内部结构,包括寄存器、控制单元、运算单元等;(3)学习内存的存储原理,了解ROM、RAM等存储器的特点;(4)学习I/O接口的工作原理,了解中断、DMA等传输方式。
3. 微机指令系统实验(1)学习微机指令系统的基本格式,包括操作码、地址码等;(2)掌握微机指令系统的寻址方式,包括立即寻址、直接寻址、间接寻址等;(3)编写简单的汇编语言程序,实现加、减、乘、除等运算;(4)学习微机中断处理过程,了解中断向量表、中断服务程序等概念。
4. 微机寻址方式实验(1)学习微机寻址方式的基本概念,包括直接寻址、间接寻址、寄存器寻址等;(2)编写程序,实现不同寻址方式下的数据访问;(3)观察不同寻址方式对程序执行速度的影响。
5. 微机程序设计实验(1)学习汇编语言程序设计的基本方法,包括数据定义、指令编写、程序结构等;(2)编写简单的程序,实现数据交换、排序等操作;(3)学习微机程序的调试方法,包括单步执行、断点设置等。
6. 微机接口技术实验(1)学习微机接口技术的基本概念,包括并行接口、串行接口等;(2)观察实验箱中的并行接口、串行接口等模块,了解其工作原理;(3)编写程序,实现数据在并行接口、串行接口之间的传输;(4)学习微机中断处理在接口技术中的应用。
接口实验

实验报告要求: 实验报告要求
对于各实验项目请写出调试通过的源程 序清单、调试及运行结果、 序清单、调试及运行结果、实验分析和 实验体会等内容。 实验体会等内容。
实验五 分支程序设计
实验目的: 实验目的 通过实验掌握下列知识: 通过实验掌握下列知识 1.8088/8086条件转移指令的使用 1.8088/8086条件转移指令的使用。 条件转移指令的使用。 2.分支程序的一般编写方法。 .分支程序的一般编写方法。 3.充分利用 .充分利用Intel8086丰富的条件转移指 丰富的条件转移指 构成较复杂分支程序, 令,构成较复杂分支程序,实现对内存数 据的控制。 据的控制。
实验报告要求: 实验报告要求
1.各项实验记录。 各项实验记录。 各项实验记录 2.自编程序清单及调试结果。 自编程序清单及调试结果。 自编程序清单及调试结果 3. 实验分析和实验体会。 实验分析和实验体会。
实验内容及步骤: 实验内容及步骤
给出一组数据: 给出一组数据: 1246H,7702H,0FFFFH,A234H, 9031H,0002H,567AH,2A3EH 编程分别实现: 编程分别实现: 1、将以上数据视为无符号数找出其中最大值。 、将以上数据视为无符号数找出其中最大值。 2、将以上数据视为带符号数找出其中最大值。 、将以上数据视为带符号数找出其中最大值。 思考:若要分别求出以上两种情况的最小值 若要分别求出以上两种情况的最小值,程序将 思考 若要分别求出以上两种情况的最小值 程序将 要做何改动? 要做何改动
实验目的: 实验目的 通过实验掌握下列知识: 通过实验掌握下列知识 1.串操作指令MOVS、LODS、STOS等 .串操作指令 、 、 等 的使用。 的使用。 2.重复前缀的使用。 .重复前缀的使用。 3.清方向标志指令 置方向标志指令的运 .清方向标志指令/置方向标志指令的运 用。
微机原理与接口技术(第二版)课后习题答案完整版

微机原理与接口技术(第二版)清华大学出版社习题 11.什么是汇编语言,汇编程序,和机器语言?答:机器语言是用二进制代码表示的计算机能直接识别和执行的一种机器指令的集合。
汇编语言是面向及其的程序设计语言。
在汇编语言中,用助记符代替操作码,用地址符号或标号代替地址码。
这种用符号代替机器语言的二进制码,就把机器语言编程了汇编语言。
使用汇编语言编写的程序,机器不能直接识别,要由一种程序将汇编语言翻译成机器语言,这种起翻译作用的程序叫汇编程序。
2.微型计算机系统有哪些特点?具有这些特点的根本原因是什么?答:微型计算机的特点:功能强,可靠性高,价格低廉,适应性强、系统设计灵活,周期短、见效快,体积小、重量轻、耗电省,维护方便。
这些特点是由于微型计算机广泛采用了集成度相当高的器件和部件,建立在微细加工工艺基础之上。
3.微型计算机系统由哪些功能部件组成?试说明“存储程序控制”的概念。
答:微型计算机系统的硬件主要由运算器、控制器、存储器、输入设备和输出设备组成。
“存储程序控制”的概念可简要地概括为以下几点:①计算机(指硬件)应由运算器、存储器、控制器和输入 /输出设备五大基本部件组成。
② 在计算机内部采用二进制来表示程序和数据。
③ 将编好的程序和原始数据事先存入存储器中,然后再启动计算机工作,使计算机在不需要人工干预的情况下,自动、高速的从存储器中取出指令加以执行,这就是存储程序的基本含义。
④ 五大部件以运算器为中心进行组织。
4.请说明微型计算机系统的工作过程。
答:微型计算机的基本工作过程是执行程序的过程,也就是CPU 自动从程序存放的第 1 个存储单元起,逐步取出指令、分析指令,并根据指令规定的操作类型和操作对象,执行指令规定的相关操作。
如此重复,周而复始,直至执行完程序的所有指令,从而实现程序的基本功能。
5.试说明微处理器字长的意义。
答:微型机的字长是指由微处理器内部一次可以并行处理二进制代码的位数。
它决定着计算机内部寄存器、 ALU 和数据总线的位数,反映了一台计算机的计算精度,直接影响着机器的硬件规模和造价。
微机原理与接口技术 实验一 8086汇编语言的编程实践

实验一8086汇编语言的编程实践【实验目的】1.掌握8086汇编语言编程以及调试的过程。
2.学会使用masm.exe、debug.exe、td.exe等软件。
【实验内容】1.通过示范源程序熟悉从如何建立源文件到进行调试【实验步骤】1.确定源程序的存放目录建议源程序存放的目录名为ASM(或MASM),并放在C盘或D盘的根目录下。
如果没有创建过此目录,请用如下方法创建:通过Windows的资源管理器找到C盘的根目录,在C盘的根目录窗口中点击右键,在弹出的菜单中选择“新建”→“文件夹”,并把新建的文件夹命名为ASM。
请把MASM.EXE、LINK.EXE、DENUG.EXE和TD.EXE都拷贝到此目录中。
2.建立ASM源程序建立ASM源程序可以使用EDIT或NOTEPAD(记事本)文本编辑器。
下面的例子说明了用EDIT文本编辑器来建立ASM源程序的步骤(假定要建立的源程序名为HELLO.ASM),用NOTEPAD(记事本)建立ASM源程序的步骤与此类似。
在Windows中点击桌面左下角的“开始”按钮→选择“运行”→在弹出的窗口中输入“ C:\ASM\HELLO.ASM”,屏幕上出现EDIT的编辑窗口。
窗口标题行显示了EDIT程序的完整路径名。
紧接着标题行下面的是菜单行,窗口最下面一行是提示行。
菜单可以用Alt键激活,然后用方向键选择菜单项,也可以直接用Alt-F 打开File文件菜单,用Alt-E打开Edit编辑菜单,等等。
如果键入EDIT命令时已带上了源程序文件名(C:\ASM\HELLO.ASM),在编辑窗口上部就会显示该文件名。
如果在键入EDIT命令时未给出源程序文件名,则编辑窗口上会显示“UNTITLED1”,表示文件还没有名字,在这种情况下保存源程序文件时,EDIT会提示输入要保存的源程序的文件名。
编辑窗口用于输入源程序。
EDIT是一个全屏幕编辑程序,故可以使用方向键把光标定位到编辑窗口中的任何一个位置上。
《微机原理与接口技术》实验指导书

《微机原理与接口技术》课程实验指导书实验内容EL-8086-III微机原理与接口技术教学实验系统简介使用说明及要求✧实验一实验系统及仪器仪表使用与汇编环境✧实验二简单程序设计实验✧实验三存储器读/写实验✧实验四简单I/0口扩展实验✧实验五8259A中断控制器实验✧实验六8253定时器/计数器实验✧实验七8255并行口实验✧实验八DMA实验✧实验九8250串口实验✧实验十A/D实验✧实验十一D/A实验✧实验十二8279显示器接口实验EL-8086-III微机原理与接口技术教学实验系统简介使用说明及要求EL-8086-III微机原理与接口技术教学实验系统是为微机原理与接口技术课程的教学实验而研制的,涵盖了目前流行教材的主要内容,该系统采用开放接口,并配有丰富的软硬件资源,可以形象生动地向学生展示8086及其相关接口的工作原理,其应用领域重点面向教学培训,同时也可作为8086的开发系统使用。
可供大学本科学习《微机原理与接口技术(8086)》,《单片机应用技术》等课程提供基本的实验条件,同时也可供计算机其它课程的教学和培训使用。
为配合使用EL型微机教学实验系统而开发的8086调试软件,可以在WINDOWS 2000/XP等多种操作系统下运行。
在使用本软件系统调试程序时,可以同时打开寄存器窗口、内存窗口、反汇编窗口、波形显示窗口等等,极大地方便了用户的程序调试。
该软件集源程序编辑、编译、链接、调试与一体,每项功能均为汉字下拉菜单,简明易学。
经常使用的功能均备有热键,这样可以提高程序的调试效率。
一、基本特点EL型微机教学实验系统是北京精仪达盛科技有限公司根据广大学者和许多高等院校实验需求,结合电子发展情况而研制的具有开发、应用、实验相结合的高科技实验设备。
旨在尽快提高我国电子科技发展水平,提高实验者的动手能力、分析解决问题能力。
系统具有以下特点:1、系统采用了模块化设计,实验系统功能齐全,涵盖了微机教学实验课程的大部分内容。
微机原理与接口技术实验报告1- 汇编语言程序设计

西安交通大学实验报告成绩第页共页课程微机原理与接口技术实验系别生物医学工程实验日期年月日专业班级组别交报告日期年月日姓名学号报告退发 (订正、重做) 同组者教师审批签字实验名称汇编语言程序设计一、实验目的1.掌握Lab6000p实验教学系统基本操作;2.掌握8088/8086汇编语言的基本语法结构;3.熟悉8088/8086汇编语言程序设计基本方法。
二、实验设备b6000p实验教学系统;2.IBM-PC机三、实验内容1.有一个10字节的数组,其值分别是80H,03H,5AH,FFH,97H,64H,BBH,7FH,0FH,D8H。
编程并显示结果:1)如果数组是无符号数,求出最大值,并显示;2)如果数组是有符号数,求出最大值,并显示。
2.将二进制数500H转换成二-十进制(BCD)码,并显示“500H的BCD是:”3.将二-十进制码(BCD)7693转换成ASCII码,并显示“BCD码7693的ASCII是:”4.两个长度均为100的内存块,先将内存块1全部写上88H,再将内存块1的内容移至内存块2。
在移动的过程中,显示移动次数1,2 ,3…0AH…64H(16进制-ASCII码并显示子程序)5.键盘输入一个小写字母(a~z),转换成大写字母显示:请输入一个小写字母(a~z):转换后的大写字母是:6.实现4字节无符号数加法程序,并显示结果,如99223344H + 99223344H= xxxxxxxxH四、实验结果1.有一个10字节的数组,其值分别是80H,03H,5AH,FFH,97H,64H,BBH,7FH,0FH,D8H。
编程并显示结果:(1)如果数组是无符号数,求出最大值,并显示;(2)如果数组是有符号数,求出最大值,并显示。
程序:(1)无符号数#make_COM#; COM file is loaded at CS:0100hORG 100hJMP STARTABC DB 80H,03H,5AH,0FFH,97H,64H,0BBH,7FH,0FH,0D8HMAIN PROC FARSTART: MOV SI,0MOV AL,ABC[SI]A1: INC SICMP SI,9JNC EXITMOV BL,ABC[SI]CMP AL,BLJC A2JMP A1A2: XCHG BL,ALJMP A1EXIT: MOV CL,16DIV CLMOV DX,AXMOV CL,9CMP DL,CLJA E1ADD DL,30HMOV AH,2INT 21HE1: ADD DL,37HMOV AH,2INT 21HMOV DL,DHCMP DL,9JA E2ADD DL,30HMOV AH,2INT 21HE2: ADD DL,37HMOV AH,2INT 21HMOV DL,'H'MOV AH,2INT 21HRETMAIN ENDPEND START结果:(2)有符号数#make_COM#; COM file is loaded at CS:0100hORG 100hJMP STARTSHUZU DB 80H,03H,5AH,0FFH,97H,64H,0BBH,7FH,0FH,0D8H MAIN PROC FARSTART: MOV SI,0MOV AL,SHUZU[SI]L1: INC SICMP SI,9JNC NEXTMOV BL,SHUZU[SI]CMP AL,BLJL L2 ;带符号数比较 JMP L1L2: XCHG BL,ALJMP L1NEXT: MOV CL,16DIV CLMOV DX,AXMOV CL,9CMP DL,CLJA L3 ;无符号数比较 ADD DL,30HMOV AH,2INT 21HJMP L4L3: ADD DL,37HMOV AH,2INT 21HL4: MOV DL,DH ;ASCII码转换 CMP DL,9JA L5ADD DL,30HMOV AH,2INT 21HJMP L5L5: ADD DL,37HMOV AH,2INT 21HL6: MOV DL,'H'MOV AH,2INT 21HHLTMAIN ENDPEND START2.将二进制数500H转换成二-十进制(BCD)码,并显示“500H的BCD是:”程序:#make_COM#; COM file is loaded at CS:0100hORG 100hJMP START;DATA SEGMENTSHUCHU DB 'BCD IS $'ABC DB 15 DUP(?);DATA ENDSMAIN PROC FARSTART: MOV DX,OFFSET SHUCHUMOV AH,9INT 21HMOV AX,OFFSET ABCMOV DX,AXMOV AX,500H ;分离出各位数,分别进行BCD码转换SUB DX,DXMOV CX,1000DIV CXXCHG DX,AX ;商在DX中,余数在AX中MOV BX,AXADD DL,30HMOV AH,2INT 21H ;千位转换并输出MOV AX,BXMOV CL,100DIV CLMOV DX,AXADD DL,30HMOV AH,2INT 21H ;百位转换并输出MOV AL,DHSUB AH,AHMOV CL,10DIV CLMOV BX,AXMOV DL,BLADD DL,30HMOV AH,2INT 21H ;个位转换并输出MOV DL,BHADD DL,30HMOV AH,2INT 21HRETMAIN ENDPEND START结果:3.将二-十进制码(BCD)7693转换成ASCII码,并显示“BCD码7693的ASCII 是:”程序:#make_COM#; COM file is loaded at CS:0100hORG 100hJMP START;DATA SEGMENTSHUCHU DB 'ASCII IS $'ABC DB 20 DUP(?);DATA ENDSMAIN PROC FARSTART: MOV DX,OFFSET SHUCHUMOV AH,9INT 21HMOV CH,4MOV AX,OFFSET ABCMOV DX,AXMOV BX,7693HEXIT: MOV CL,4ROL BX,CLMOV AL,BLAND AL,0FH ;与运算分离出最高位MOV AH,0ADD AL,30HMOV CL,16DIV CL ;分离出高位和低位MOV DH,AHMOV DL,ALADD DL,30HMOV AH,2INT 21HMOV DL,DHADD DL,30HMOV AH,2INT 21H ;分别输出高低位DEC CHJNZ EXIT ;进行循环HLTMAIN ENDPEND START结果:4.两个长度均为100的内存块,先将内存块1全部写上88H,再将内存块1的内容移至内存块2。
微机原理、汇编语言及接口技术教程课后习题答案
!《16/32位微机原理、汇编语言及接口技术教程》部分习题参考解答第1章微型计算机系统概述〔习题〕什么是通用微处理器、单片机(微控制器)、DSP芯片、嵌入式系统〔解答〕通用微处理器:适合较广的应用领域的微处理器,例如装在PC机、笔记本电脑、工作站、服务器上的微处理器。
单片机:是指通常用于控制领域的微处理器芯片,其内部除CPU外还集成了计算机的其他一些主要部件,只需配上少量的外部电路和设备,就可以构成具体的应用系统。
~DSP芯片:称数字信号处理器,也是一种微控制器,其更适合处理高速的数字信号,内部集成有高速乘法器,能够进行快速乘法和加法运算。
嵌入式系统:利用微控制器、数字信号处理器或通用微处理器,结合具体应用构成的控制系统,其典型的特点是把计算机直接嵌入到应用系统之中。
〔习题〕说明微型计算机系统的硬件组成及各部分作用。
〔解答〕CPU:CPU也称处理器,是微机的核心。
它采用大规模集成电路芯片,芯片内集成了控制器、运算器和若干高速存储单元(即寄存器)。
处理器及其支持电路构成了微机系统的控制中心,对系统的各个部件进行统一的协调和控制。
存储器:存储器是存放程序和数据的部件。
(外部设备:外部设备是指可与微机进行交互的输入(Input)设备和输出(Output)设备,也称I/O设备。
I/O设备通过I/O接口与主机连接。
总线:互连各个部件的共用通道,主要含数据总线、地址总线和控制总线信号。
〔习题〕什么是总线微机总线通常有哪3组信号各组信号的作用是什么〔解答〕总线:传递信息的共用通道,物理上是一组公用导线。
3组信号线:数据总线、地址总线和控制总线。
(1)地址总线:传输将要访问的主存单元或I/O端口的地址信息。
#(2)数据总线:传输读写操作的数据信息。
(3)控制总线:协调系统中各部件的操作。
〔习题〕简答如下概念:(1)计算机字长(2)取指-译码-执行周期(3)ROM-BIOS(4)中断((5)ISA总线〔解答〕(1)处理器每个单位时间可以处理的二进制数据位数称计算机字长。
《微机原理、汇编语言与接口技术》韩晓茹(习题解答全套
地址总线AB是专门用来传送地址的,地址总线总是单向三态的。
控制总线CB用来传送控制信号和时序信号,制总线的传送方向由具体控制信号而定。
1.4衡量微型计算机系统的性能的指标有哪些?
答:衡量微型计算机系统的性能的指标有字长、主频、运算速度和主存容量和存取速度。字长是指微机系统中CPU一次能处理的二进制位数。CPU的主频,即CPU内核工作的时钟频率(CPU Clock Speed)。运算速度是指每秒钟所能执行的指令条数。主存储器容量指内部存储器能存放数据的最大字节数。存取速度指主存完成一次读/写所需要的时间。
2.3简述伪指令“EQU”与“=”之间有什么区别?
解:“EQU”伪指令不能重复定义,而“=”伪指令可以重复定义。
2.4画图说明下列语句分配的存储空间及初始化的数值
(1)FF1DB'0100',2+5,?,'ABC'
(2)FF2DW2 DUP(?),'A','BC',1000H,25H
(3)FF3DB2 DUP(1,2 DUP(2,3),4)
(3)LEA BX, BLOCK
MOV SI, 99*2
MOV AX,[BX+SI]
或:
LEA SI, BLOCK
MOV BX, 99*2
MOV AX,[BX+SI]
2.9已知:(BX)=1200H,(BP)=2400H,(SI)=0100H,(DI)=0200H,(SS)=1000H,(DS)=2000H,(ES)=3000H,变量VAR1对应地址为2000H,试分别指出下列指令中存储器的寻址方式及物理地址。
2.28086/8088 CPU中标志寄存器有哪两类标志?简述各标志位的含义。
微机原理及接口技术实验指导书
微机原理及接口技术实验指导书书写实验名称时请按下表内容填写:实验一、熟悉实验运行环境实验一、实验目的1、熟悉汇编语言程序的调试环境2、掌握部分DEBUG命令二、实验内容编写一个汇编语言程序,计算1+2+3+…+99+100,并将结果存入SUM字单元。
通过调试程序熟悉汇编语言的上机操作过程及部分命令。
三、上机操作过程1、建立ASM文件(编辑源程序)使用编辑程序EDIT在磁盘上建立源程序EX.ASM例如:D:\MASM>EDIT EX.ASM用MASM程序产生OBJ文件源文件建立后,就要用汇编程序对源文件汇编,汇编后产生二进制的目标文件(OBJ文件)例如:D:\MASM>MASM EX3 、用LINK程序产生EXE文件汇编程序已产生出二进制的目标文件(OBJ),但OBJ文件并不是可执行文件,还必须使用连接程序(LINK)把目标文件转换为可执行的EXE文件例如:D:\MASM>LINK EX4、调试运行在建立了EXE文件后,就可以直接从DOS执行程序。
如果用户程序有错误或者没有直接将结果在终端上显示出来,程序执行完之后无法看见正确的结果。
那么怎么知道程序执行的结果是正确的呢?此外,大部分程序必须经过调试阶段才能纠正程序执行中的错误,得到正确的结果。
这里就要使用调试程序。
例如:D:\MASM>DEBUG EX.EXE①R命令显示或修改寄存器中的内容例如:_R BXBX 0369:059E不作修改,直接回车;否则键入修改内容,并回车②U命令反汇编a、_U[地址] 从指定地址开始,反汇编32个字节。
如果地址省略,则从上一个U命令的最后一条指令的下一个单元开始显示32个字节b、_U[范围] 对指定范围的内存单元进行反汇编例如:_U 04BA:0100 0108③T命令单步执行命令(一次执行一条指令)例如:从代码段的0000H处开始单步执行_R IPIP XXXX: 0000_T④G命令执行命令(执行多条指令)_G 地址1 地址2表示从地址1开始执行指令到地址2结束例如:从代码段的0000H处开始连续执行指令,知道0013H处_R IPIP XXXX: 0000_G 0013⑤D命令显示内存单元的内容a、_D 地址b、_D 范围例如:显示数据段中0000H开始的若干个字节单元的内容_D DS:0000例如:显示数据段中0000H到0010H各字节单元的内容_D DS:0000 0010⑥E命令修改存储单元的内容例如:修改数据段0002H字节单元的内容为0FFH_E DS:0002XXXX:0002 XX FF⑦Q命令退出DEBUG程序实验二、分支程序设计一、实验目的1、掌握分支程序的结构形式2、掌握分支程序的设计方法 二、实验内容1、计算分段函数,X 为8位带符号数2、算法分析先将X 的范围确定在-10≤x ≤20之内,除此之外结果全为0,然后计算X+5,再根据结果的符号求绝对值。
《微机原理、汇编语言与接口技术》韩晓茹(习题解答全套
答:(123.025)10=(11111011.00000110)2=(7B.06)16
1.6将十六进制数(3E.7)16和(A4.B)16转换成十进制数。
答:(3E.7)16=(62.4375)10
(A4.B)16=(164.6875)10
[-Y]补=[[Y]补]求补=[[-0001111B]补]求补=[11110001B]求补=00001111B。
[X-Y]补=[X]补+[-Y]补=00100101B+00001111B=0011 0100B
习
2.18086/8088 CPU分为哪两大功能部件?其各自的主要功能是什么?8086/8088 CPU中有哪些寄存器?各有什么用途?
微型计算机由中央处理器、存储器、输入/件系统和软件系统两部分组成。也就是在微型计算机的外面加上电源和外部设备,然后配上系统软件和应用软件构成的系统。
1.3什么是系统总线?按照信号的种类不同可以把系统总线分成哪三类?它们各有什么特点?
答:连接微处理器与存储器、输入输出接口,用以构成完整的微型计算机的总线称为系统总线。系统总线分为数据总线DB(Data Bus)、地址总线AB(Address Bus)和控制总线CB(Control Bus)。
[-78]原=1100 1110B[-78]反=1011 0001B[-78]补=1011 0010B
1.9设[X]补=11001010B,[Y]补=01001010B,求它们的真值。
答:X的真值是-54,Y的真值是74。
1.10设X=+37,Y=-15,求[X-Y]补。
答:[X]补=[+37]补=[+100101B]补=00100101B。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
成绩:计算机原理实验室实验报告课程:汇编语言与微机原理姓名:周晗专业:计算机科学与技术学号:1120542387日期:2013-12-19太原工业学院计算机工程系实验一:输入输出实验实验环境PC机+Win 2003+emu8086+proteus仿真器实验日期2013.10.29 一.实验内容1.熟悉emu8086仿真系统2.实现控制台输入输出3.设计并单步调试实现一位十进制数的加法运算(屏幕效果为3+2=5,红色为输入其他为自动输出)扩展要求:1.实现两位十进制和的输出2.实现一位十进制四则运算3.实现多位数运算二.理论分析或算法分析基本要求:输入一位数保存在寄存器BL中,然后输出“+”,再输入被加数并加到BL。
将计算的结果输出。
扩展要求:实现两位十进制和的输出,不同于基本要求的是有了低位的进位。
对于低位的相加有进位,并且要给了高位。
首先必须把输入的字符数转换为数值型,才可能有进位。
然后进行加法的aaaBCD调整。
从键盘读取第一个数(1)从键盘键入一个数字(用DL保存“+”号),再键入第二个数字,(用DL存储等号)输出得数。
(2)从键盘读取第一个数的十位,输入被加数十位保存到BH,并且减去30H,第一个个位的数保存到BL且减去30H,从键盘读取第2个加数存储到CH中减去30H,第二个个位数存储到CL中,减去30H。
个位将AL,和CL用ADD相加,在传个AL。
十位上用ADC 将AL和CH相加。
再用aaaBCD调整三.实现方法(含实现思路、程序流程图、实验电路图和源程序列表等)1、基本要求MOV AH,1INT 21HMOV BH,AL;输出加号MOV DL,'+' MOV AH,2INT 21H;从键盘读第二个数MOV AH,1INT 21H;保存第二个数MOV BL,AL;输出等于号MOV DL,'=' MOV AH,2INT 21H ;两数相加ADD BL,BHSUB BL,30H;输出结果MOV DL,BLMOV AH,2INT 21H 2.扩展要求MOV AH,1INT 21H;保存第一个数的十位MOV BH,AL;从键盘读取第一个数的个位MOV AH,1INT 21H;保存第一个数的个位MOV BL,AL ;输出加号MOV DL,'+'MOV AH,2INT 21H ;从键盘读第二个数的十位MOV AH,1INT 21H;保存第二个数的十位MOV CH,AL ;从键盘读第二个数的个位MOV AH,1INT 21H;保存第二个数的个位MOV CL,AL;输出等于号MOV DL,'='MOV AH,2INT 21H两数相加;个位相加MOV AL,BLADD AL,CLAAAMOV BL,AL ;十位带CF加MOV AL,BHADC AL,CHAAAMOV BH,ALADD BL,30HADD BH,30H;输出结果的十位MOV DL,BHMOV AH,2INT 21H ;输出结果的个位MOV DL,BLMOV AH,2INT 21H四.实验结果分析(含执行结果验证、输出显示信息、图形、调试过程中所遇的问题及处理方法等)1.实现了一位十进制的加法2.实现两位十进制和的输出五.结论通过实验,初步了解emu8086仿真系统,能用汇编语言设计简单的程序我学会了简单的输入输出字符、对于的数据和计算的数据初步的理解。
实验二:分支程序实验实验环境PC机+Win 2003+emu8086+proteus仿真器实验日期2013.11.5 一.实验内容1.实现控制台输入输出2.实现两位十进制数猜数字游戏(基本要求:输入两位数和预设数值比较,对于输出>小于输出<等于输出=并退出)扩展要求:1.每次输出都换行2.显示远大于>>(大于两倍)和远小于<<(小于二分之一)二.理论分析或算法分析首先将被猜的数字设成30。
输入两位十进制数,放在al和bl并将其减去30h转换为数值型。
输入数字和被猜数值30比较,如果大于30,则跳转到j4,并输出“>”;如果小于30,则跳转到j3并输出“<”;如果等于,则输出“=”并结束程序。
三.实现方法(含实现思路、程序流程图、实验电路图和源程序列表等)四.实验结果分析(含执行结果验证、输出显示信息、图形、调试过程中所遇的问题及处理方法等)五.结论完成了本次实验,并通过本次试验的,学会了控制输入输出。
通过对程序的设计学会了运用比较进行程序的跳转实验三:循环程序实验实验环境PC机+Win 2003+emu8086+proteus仿真器实验日期2013.11.12 一.实验内容3.实现内存数据访问4.用两种方法实现对五个字从大到小排序5.用冒泡法时实现快排二.理论分析或算法分析选择排序冒泡排序提取数组中的第一个数,与后一个数做比对,如果第一个数比第二个数小,则交换位置,否则位置保持不变,依次和后边的数作比较,循环操作。
三.实现方法(含实现思路、程序流程图、实验电路图和源程序列表等)四.实验结果分析(含执行结果验证、输出显示信息、图形、调试过程中所遇的问题及处理方法等)验证了基本要求,实现了冒泡排序功能。
五.结论该实验完成了基本要求,并通过这次实验学会了比较,循环。
实验四:子程序及中断实验实验环境PC机+Win 2003+emu8086+proteus仿真器实验日期2013.11.19 一.实验内容4.实现子程序和中断服务子程序的设计5.编写子程序设置40H中断为自定义中断服务子程序6.编写中断服务子程序实现AX=AX+BX7.编写主程序调用子程序和中断二.理论分析或算法分析1、让c=a+b。
再将其传给子程序2.用mov将ax,bx清零3,用add函数将ax和bx相加,并用mov 将ax+bx的值传给c三.实现方法(含实现思路、程序流程图、实验电路图和源程序列表等)data segment a dw 4Ch b dw 2Ah c dw '?' data ends code segment assume cs:code,ds:data change proc near MOV AX,0 MOV BX,0 mov ax,a mov bx,b add ax,bx mov c,ax iret四.实验结果分析(含执行结果验证、输出显示信息、图形、调试过程中所遇的问题及处理方法等) A ,B 的值:五.结论通过本次试验,基本实现了实验要求,学会了调用中断程序,并能熟悉的使用addchange endpstart: mov dx,datamov ds,dxMOV AX,0mov es,axmov ax,offset changemov word ptr es:[80h],axmov ax,seg changemov word ptr es:[82h],axint 20hjmp scode endss:end start实验五:存储器访问实验实验环境PC机+Win 2003+emu8086+proteus仿真器实验日期2013.11.26 一.实验内容1.实现存储器串操作访问2.编程实现安全的串拷贝功能3.源串和目的串有重叠的处理方法8.理论分析或算法分析1、串拷贝功能2、源串和目的串有重叠的处理方法三.实现方法(含实现思路、程序流程图、实验电路图和源程序列表等)1、串拷贝功能data segmentstr1 db "qian$"n equ $-str1str2 db 30 dup('0')data endscode segmentstart:mov ax, datamov ds, axlea dx,str1mov ah,09hint 21hmov si,seg str1mov ds,simov si,offset str1mov di,seg str2mov es,dimov di,offset str2cldmov cx,nrep movsbmov dl,0DH ;显示回车符mov ah,02hint 21hmov dl,0Ahint 21hmov ah,09hlea dx,str2int 21hcode endsend start ; set entry point.2、源串和目的串有重叠的处理方法stdmov si,offset str1 + 8 -1mov di,si add di,4mov cx,8rep movsbhltstr1 db "12341234" str2 db 8 dup ('0')cldmov si,offset str2mov di,sisub di,3mov cx,16rep movsbhltstr1 db 8 dup ('0')str2 db 4 dup("1234")四.实验结果分析(含执行结果验证、输出显示信息、图形、调试过程中所遇的问题及处理方法等)五.结论该程序完成了拷贝功能,但是源串和目的串有重叠的处理实验没有完成。
通过实验学会了拷贝一个字符串实验六:8255交通灯实验实验环境PC机+Win 2003+emu8086+proteus仿真器实验日期2013.12.03 一.实验内容4.使用IO方式实现十字路口交通灯控制5.分别实现南北向和东西向绿灯等时和不等时的控制二.理论分析或算法分析三.实现方法(含实现思路、程序流程图、实验电路图和源程序列表等)#start=Traffic_Lights.exe#name "traffic"mov ax, all_redout 4, axmov si, offset situationnext:mov ax, [si]out 4, ax; wait 5 seconds (5 million microseconds)mov cx, 4Ch ; 004C4B40h = 5,000,000mov dx, 4B40hmov ah, 86hint 15hadd si, 2 ; next situationcmp si, sit_endjb nextmov si, offset situationjmp next; FEDC_BA98_7654_3210situation dw 0000_0011_0000_1100b ;南北绿东西红s1 dw 0000_0110_1001_1010b ;南北黄东西红黄s2 dw 0000_1000_0110_0001b ;南北红东西绿s3 dw 0000_1000_0110_0001b ;南北红东西绿s5 dw 0000_1000_0110_0001b ;南北红东西绿s4 dw 0000_0100_1101_0011b ;南北红黄东西黄sit_end = $all_red equ 0000_0010_0100_1001b四.实验结果分析(含执行结果验证、输出显示信息、图形、调试过程中所遇的问题及处理方法等)五.结论完成了基本要求,实现了十字路口交通灯控制功能,通过本次试验掌握了基本的IO寻址方式。