微机原理emu8086课程设计

微机原理emu8086课程设计

ID:9858689

大小:342.00 KB

页数:12页

时间:2018-05-12

微机原理emu8086课程设计_第1页
微机原理emu8086课程设计_第2页
微机原理emu8086课程设计_第3页
微机原理emu8086课程设计_第4页
微机原理emu8086课程设计_第5页
资源描述:

《微机原理emu8086课程设计》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、目录一、软件启动1二、程序代码21、数值计算2(1)十进制系统22、逻辑运算5(1)与运算(AND)5(2)或运算(OR)5(3)异或运算(XOR)54、宏8三、鸣谢1011Emu8086的应用分析摘要:Emu8086是一个可在Windows环境下运行的8086CPU汇编仿真软件。它集成了文本编辑器、编译器、反编译器、真调试、虚拟设备和驱动器为一体,并具有在线使用指南,这对刚开始学习汇编语言的人是一个很有用的工具。您可以在真器中单步或连续执行程序,其可视化的工作环境让使用者操作更容易。您可以在程序执行中动态观察各寄存器、标记位以及存储器中的变

2、化情况。仿真器会在模拟的PC中执行程序,以避免程序运行时到实际的硬盘或内存中存取数据。此外,该软件完全兼容Intel新一代处理器,包括了PentiumⅢ、Pentium4的指令。关键词:Emu8086微机原理程序文件一、软件启动双击进入启动界面如图1所示,用户可以选择新建文本、程序示例、快速启动指南、最近使用文档。图1启动界面11Emu8086软件提供的实例中包含了几十种典型的程序代码,其中包括:数值计算、逻辑运算、屏幕显示、键盘输入、文件打印、马达控制、温度控制、交通灯控制等。在软件提供的快速指南中提供了多种在线帮助工具,包括:文件索引、8

3、086CUP指令使用指南、系统中断调用列表以及用法等。用户可以通过该工具快速地掌握8086CPU指令体系和emu8086汇编真软件的使用。程序编辑结束后,点击模拟,即可进入模拟状态:点击运行之后即可用屏幕模拟器进行模拟,如:二、程序代码1、数值计算(1)十进制系统目前使用最多的是十进制。十进制系统有10个数字0,1,2,3,4,5,6,7,8,9。利用这些数字能表示任何数值,例如754这些数字是由每一位数字乘以“基数”11的幂累加而成的(上一个例子中基数是10因为十进制中有十个数字)。位置对于每一个数字是很重要的。例如,你将上一个例子中的“7

4、”放到结尾:547数值就成为:特别提醒:任何数字的0次幂都是1,0的0次幂也是1(二)二进制计算机没有人类聪明(至少现在是这样),制造一个只有开关或者称为0,1两种状态的电子机器很容易。计算机使用二进制系统,只有两个数字0,1基地为2每一位二进制数称作一位(BIT),4BIT组成一个半字节(NIBBLE),8BIT组成一个字节(BYTE),两个字节组成一个字(WORD),两个字组成一个双字(DOUBLEWORD)(很少使用):习惯上在一串二进制后面加上“b”,这样,我们可以知道101b是二进制表示十进制的5。二进制b表示十进制的165,计算方

5、法如下:11(三)十六进制系统十六进制系统使用16个数字0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F基底是16.十六进制非常紧凑,便于阅读。将二进制转换为十六进制很容易,半字节(4bits)对应一位十六进制如下表Decimal(base10)Binary(base2)Hexadecimal(base16)000000100011200102300113401004501015601106701117810008910019101010A111011B121100C11131101D141110E151111F习惯上我们在一个

6、十六进制数的后面加上"H",以便和其他进制区别,这样我们就知道5Fh是一个十六进制数表示十进制的 95。习惯上,我们也在以字母开头(从A到F)的十六进制数前面加上"0" 例如:0E120h.十六进制1234h 等于 4660:2、逻辑运算(1)与运算(AND)AND-两个操作数各个位逻辑与运算。运算法则如下1AND1=11AND0=00AND1=00AND0=0只有当两个操作数都是1时,运算结果才是1。(2)或运算(OR)OR--两个操作数各个位逻辑或运算。运算法则如下1OR1=11OR0=10OR1=10OR0=0如果操作数中有1那么结果一

7、定是1。(3)异或运算(XOR)XOR- 两个操作数各个位逻辑异或运算。运算法则如下1XOR1=01XOR0=1110XOR1=10XOR0=03、堆栈堆栈是内存中用于保存临时数据的一片区域.当使用CALL指令时,堆栈用于保存过程的返回地址,RET指令能够从堆栈中取得该地址并使程序返回到那里。当使用INT指令,发生的也与此类似。堆栈保存标志寄存器,代码段和偏移量。IRET指令用来从中断返回。我们同样可以使用堆栈保存任何数据。对于堆栈的操作只有两条:PUSH-将16位数值压入堆栈.POP-将16位数值从堆栈中弹出PUSH指令的使用方法:PUSH

8、REGPUSHSREGPUSHmemoryPUSHimmediateREG(寄存器):AX,BX,CX,DX,DI,SI,BP,SP.SREG(段寄存器):DS,E

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。