甘谷县建设局网站,哪个app可以免费下载ppt模板,安联建设集团股份公司网站,wordpress js 添加目录
硬件运行机制
微机系统硬件组成
计算机系统组成
8086CPU组织结构
DoxBox安装
Debug使用
R命令
D命令
E命令
U命令
T命令
A命令
标志寄存器
常用机器指令 硬件运行机制
下面是一个电子器件二极管#xff0c;正向加电则通#xff0c;反向加电则不通 利用二…目录
硬件运行机制
微机系统硬件组成
计算机系统组成
8086CPU组织结构
DoxBox安装
Debug使用
R命令
D命令
E命令
U命令
T命令
A命令
标志寄存器
常用机器指令 硬件运行机制
下面是一个电子器件二极管正向加电则通反向加电则不通 利用二极管的这个特性可以得到下面的门电路这些电路可以进行与、或、非运算 在计算机底层加减乘除的运算就是有这三种运算构成的
所有的数学运算都可以由位运算组成。那么更高级的数学运算也可以通过简单的位运算计算。所以将常用运算封装成一个器件称之为单元。 用法 机器码类似111111000010101010B可以用来控制硬件的二进制数据叫做机器码。
助记符二进制值难记每种功能的二进制控制码取一个容易记住的名字叫做助记符也称之为指令 例如00B - add 01B - sub 10B - xor
汇编助记符硬件不能识别需要将其转换成对应的机器码这个过程叫做汇编。 微机系统硬件组成
一个系统不可能由一个硬件单独完成所以划分出多个硬件模块 然后由一个硬件模块居中调度称作cpucenteral processing unit。 单片机系统实物 IO桥所有的硬件模块连接到I/O桥由I/O桥负责辅助cpu与哪一个硬件模块连接。 总线cpu有8位数据/地址线ram是个256byte的存储器。 计算机系统组成
计算机分层示意图 程序 hello.c 到可执行文件 加载可执行文件 执行 8086CPU组织结构
8086CPU架构如下图 EU部件1. 执行部件excution unit 2. 译码 3. 执行指令
BIU部件1. 总线接口部件bus interface unit 2. 取指令 3. 读取数据 4. 写入数据
寄存器 流水线处理
问题8086cpu将指令的执行分成多个模块有什么好处
答案流水线可以多个部件同时工作,提高硬件的利用率,从而提高效率。 在8086 CPU架构下串行处理和流水线处理是两种不同的指令处理方式。 串行处理 串行处理是指在执行指令时逐条顺序地执行指令。当一条指令执行完成后才能开始执行下一条指令。这种处理方式的特点是简单直观易于理解和调试但效率相对较低。因为在串行处理中指令之间存在时钟周期的间隔导致CPU的运行效率受限。8086 CPU在早期的时候主要采用串行处理方式。 流水线处理 流水线处理是指将指令处理过程划分为多个阶段并在不同阶段同时执行不同的指令。每个阶段负责完成指定的任务然后将结果传递给下一个阶段。这样可以实现多个指令的并行处理提高CPU的执行效率。流水线处理利用了指令的部分并行性有效地利用了CPU资源。8086 CPU在后期引入了流水线处理的技术提高了指令的执行速度。
在8086 CPU中流水线处理主要包括以下几个阶段
取指令阶段Instruction Fetch从内存中读取指令并将其存储在指令缓存中。译码阶段Instruction Decode对取得的指令进行解码确定指令的操作类型和操作数。执行阶段Execution根据指令的类型执行相应的操作比如算术运算、逻辑运算等。存储阶段Memory Access若指令需要访问内存或外设则在此阶段进行数据的读取或写入。写回阶段Write Back将执行结果写回寄存器或内存。
效率流水线处理 串行处理
弊端当跳转到总线使用的时候此时已经取得一部分指令并且已经译码了。那么此时这部分将清空从头操作。类似于goto语句。 DoxBox安装
运行安装程序后一路Next即可安装完成 dosbox是个模拟器并没有计算机的磁盘信息需要访问磁盘的办法是将 虚拟机磁盘映射到物理机磁盘
dosbox安装目录双击DOSBox 0.74 Options.bat文件弹出配置信息在最后末尾行加上如下
mount C D:\debug\MASM
mount D D:\debug\Test
set pathC:
d:
把DOSBOX的C盘挂载到D:\debug\MASMD盘挂载到D:\debug\Test并设置全局变量
D:\debug\MASM下载以下工具 D:\debug\Test是工作目录 新建一个记事本命名为hello.txt,将下面的程序复制进去并保存
;80x86new
DSEG SEGMENT
MESS DB Hello,World!,0DH,0AH,24H
DSEG ENDSSSEG SEGMENT PARA STACKDW 256 DUP(?)
SSEG ENDSCSEG SEGMENTASSUME CS:CSEG,DS:DSEG
BEGIN: MOV AX,DSEGMOV DS,AXMOV DX,OFFSET MESSMOV AH,9INT 21HMOV AH,4CHINT 21H
CSEG ENDSEND BEGIN
编译masm hello.asm
链接 link hello.obj
运行 hello.exe 在执行时会得到一些中间产物的文件
.objObject File这是编译器生成的目标文件包含了汇编程序的机器码和相关符号信息。目标文件是可重定位的即可以与其他目标文件链接以生成可执行文件。.lstListing File这是汇编程序的汇编列表文件包含了源代码和对应的汇编和机器码指令的对应关系。列表文件通常用于调试和分析程序可以了解每条指令的地址、十六进制表示以及与源代码的对应关系。.mapMap File这是一个链接器生成的映射文件记录了程序的内存布局、符号表、段地址等信息。映射文件可以帮助程序员了解程序的内存使用情况和地址分配情况。.pdbProgram Database File这是调试信息数据库文件包含了与源代码对应的调试信息用于在调试器中进行源代码级别的调试。.pdb文件通常与可执行文件一起使用。
基本DOS命令
#cd\ ——首先要用cd\ 退回到根目录C下
#dir ——显示文件列表
#md hb ——建立hb子目录
#cd hb ——进入hb子目录
#copy d:\dos\masm.exe c:\hb ——将D盘dos目录下的masm.exe拷贝到C盘hb目录下
#copy d:\dos\link.exe c:\hb ——将D盘dos目录下的link.exe拷贝到C盘hb目录下
#cd .. ——退回到上一级目录
#del \hb\masm.exe ——删除hb子目录中的某文件
#rd hb ——删除hb子目录子目录中的所有文件必须先删除
#e——进入e盘
#cls ——清屏
#type——显示文本文件内容如type c:\hb\abc.asm Debug使用
debug是微软公司出品的调试工具非常好用可以调试0环和3环目前市面上的大多数只能调试3环虽然好用但是由于界面和操作环境的原因所以用的人不多。
作用深入机器内部观察修改观察寄存器等值的内容。
Debug基本功能
R命令查看、改变CPU寄存器的内容D命令查看内存中的内容E命令改写内存中的内容U命令将内存中的机器指令翻译成汇编指令T命令执行一条机器指令A命令以汇编指令的格式在内存中写入一条机器指令Q命令退出 R命令
查看CPU寄存器的内容【R】
修改寄存器中的值【R 寄存器】 D命令
查看内存中的内容【D 段地址偏移地址】
指定范围查看内存中的内容【D 段地址起始偏移地址 结尾偏移地址】
D命令输出内容可以分为三部分
左侧为每行的内存单元起始地址
中间为128个内存单元的内容用十六进制的格式输出
右侧为每个内存单元中的数据对应的可显示的ASCII码字符 使用“d 段地址偏移地址”格式的D命令Debug会列出从指定内存单元开始的128个内存单元的内容 再使用“d 段地址偏移地址”之后接着使用D命令可列出后续的内容 使用“d 段地址起始偏移地址 结尾偏移地址”格式可指定范围来查看内存中的内容 E命令
修改内存中的内容【E 段地址偏移地址】
一次性修改多个内存中的内容【E 段地址偏移地址 值1 值2 ......】
值1是字符或字符串时会自动转成ASCII码 “E 段地址偏移地址”格式Debug会以提问的方式来逐个修改从此地址开始的内存单元中的内容 Debug显示10000H处的原内容11可以在“.”后输入新内容结束按Enter继续修改下一个单元内容按Space 可使用【E 段地址偏移地址 值1 值2 ......】来一次性修改多个内存中的内容 U命令
将内存中的机器指令翻译成汇编指令【U 段地址偏移地址】 U命令的显示输出分为三部分
左侧为机器指令的地址中间为机器指令右侧为机器指令所对应的汇编指令 T命令
执行一条或多条指令【T】
执行的命令为CSIP指向的指令 执行T命令后CPU执行CSIP指向的指令指令执行后Debug显示输出CPU寄存器的状态 A命令
以汇编指令的形式在内存写入机器指令【A 段地址偏移地址】 Debug会将这些汇编指令翻译成对应的机器指令将它们的机器码写入内存在给出的起始地址后面直接按Enter键表示操作结束 标志寄存器 条件标志
CF 进位标志用于反映运算是否产生进位或借位。如果运算结果的最高位产生一个进位或借位则CF置1否则置0。运算结果的最高位包括字操作的第15位和字节操作的第7位。移位指令也会将操作数的最高位或最低位移入CF。PF 奇偶标志用于反映运算结果低8位中“1”的个数。“1”的个数为偶数则PF置1否则置0。AF 辅助进位标志算数操作结果的第三位从0开始计数如果产生了进位或者借位则将其置为1否则置为0常在BCD(binary-codedecimal)算术运算中被使用。ZF 零标志用于判断结果是否为0。运算结果0ZF置1否则置0。SF 符号标志用于反映运算结果的符号运算结果为负SF置1否则置0。因为有符号数采用补码的形式表示所以SF与运算结果的最高位相同。OF 溢出标志反映有符号数加减运算是否溢出。如果运算结果超过了8位或者16位有符号数的表示范围则OF置1否则置0。
控制标志
TF 跟踪标志当TF被设置为1时CPU进入单步模式所谓单步模式就是CPU在每执行一步指令后都产生一个单步中断。主要用于程序的调试。8086/8088中没有专门用来置位和清零TF的命令需要用其他办法。IF 中断标志决定CPU是否响应外部可屏蔽中断请求。IF为1时CPU允许响应外部的可屏蔽中断请求。DF 方向标志决定串操作指令执行时有关指针寄存器调整方向。当DF为1时串操作指令按递减方式改变有关存储器指针值每次操作后使SI、DI递减。 在cmd debug调试程序中为了使标志位的值显尔易见,他提供用符号表示标志位的值 注意
进位针对的是无符号数运算溢出针对的是有符号数运算。当看成无符号数则关注CF标志看成有符号数则关注OF标志。 常用机器指令
mov reg, reg
mov reg, imm;(立即数常数)
mov ax, 5566
mov al, 78add reg1,reg2 两个值相加值存入第一个值里
add ax,bx; ax ax bx
add ax,123; ax ax 1234
add 123,ax 123 123 ax ; Errorsub 与之相反 cmp ax,bx 如果(ax)(bx), 则 zf1 如果(ax)!(bx), 则 zf0 如果(ax)(bx), 则 cf1 如果(ax)(bx), 则 cf0 如果(ax)(bx), 则 cf0且zf0 如果(ax)(bx), 则 cf1或zf1
文章转载自: http://www.morning.jnoegg.com.gov.cn.jnoegg.com http://www.morning.wjjsg.cn.gov.cn.wjjsg.cn http://www.morning.bpmtj.cn.gov.cn.bpmtj.cn http://www.morning.dxsyp.cn.gov.cn.dxsyp.cn http://www.morning.ksggr.cn.gov.cn.ksggr.cn http://www.morning.snzgg.cn.gov.cn.snzgg.cn http://www.morning.mbnhr.cn.gov.cn.mbnhr.cn http://www.morning.zlcsz.cn.gov.cn.zlcsz.cn http://www.morning.wphzr.cn.gov.cn.wphzr.cn http://www.morning.nqbs.cn.gov.cn.nqbs.cn http://www.morning.gwzfj.cn.gov.cn.gwzfj.cn http://www.morning.czxrg.cn.gov.cn.czxrg.cn http://www.morning.lskyz.cn.gov.cn.lskyz.cn http://www.morning.dfhkh.cn.gov.cn.dfhkh.cn http://www.morning.zzfjh.cn.gov.cn.zzfjh.cn http://www.morning.kwqcy.cn.gov.cn.kwqcy.cn http://www.morning.wclxm.cn.gov.cn.wclxm.cn http://www.morning.pkdng.cn.gov.cn.pkdng.cn http://www.morning.qrmyd.cn.gov.cn.qrmyd.cn http://www.morning.c7496.cn.gov.cn.c7496.cn http://www.morning.mxhcf.cn.gov.cn.mxhcf.cn http://www.morning.mbfkt.cn.gov.cn.mbfkt.cn http://www.morning.bwdnx.cn.gov.cn.bwdnx.cn http://www.morning.fgxnb.cn.gov.cn.fgxnb.cn http://www.morning.fnwny.cn.gov.cn.fnwny.cn http://www.morning.prgyd.cn.gov.cn.prgyd.cn http://www.morning.ftlgy.cn.gov.cn.ftlgy.cn http://www.morning.qkqzm.cn.gov.cn.qkqzm.cn http://www.morning.wnhsw.cn.gov.cn.wnhsw.cn http://www.morning.rfycj.cn.gov.cn.rfycj.cn http://www.morning.rqpgk.cn.gov.cn.rqpgk.cn http://www.morning.kjcfz.cn.gov.cn.kjcfz.cn http://www.morning.hysqx.cn.gov.cn.hysqx.cn http://www.morning.grynb.cn.gov.cn.grynb.cn http://www.morning.nlffl.cn.gov.cn.nlffl.cn http://www.morning.hgtr.cn.gov.cn.hgtr.cn http://www.morning.rgxn.cn.gov.cn.rgxn.cn http://www.morning.rxdsq.cn.gov.cn.rxdsq.cn http://www.morning.tlrxt.cn.gov.cn.tlrxt.cn http://www.morning.krlsz.cn.gov.cn.krlsz.cn http://www.morning.npfrj.cn.gov.cn.npfrj.cn http://www.morning.twwts.com.gov.cn.twwts.com http://www.morning.bgqr.cn.gov.cn.bgqr.cn http://www.morning.kmrgl.cn.gov.cn.kmrgl.cn http://www.morning.rsnn.cn.gov.cn.rsnn.cn http://www.morning.rsjf.cn.gov.cn.rsjf.cn http://www.morning.gidmag.com.gov.cn.gidmag.com http://www.morning.pqktp.cn.gov.cn.pqktp.cn http://www.morning.ntyanze.com.gov.cn.ntyanze.com http://www.morning.spftz.cn.gov.cn.spftz.cn http://www.morning.mnwmj.cn.gov.cn.mnwmj.cn http://www.morning.czrcf.cn.gov.cn.czrcf.cn http://www.morning.mfcbk.cn.gov.cn.mfcbk.cn http://www.morning.qsy40.cn.gov.cn.qsy40.cn http://www.morning.zpfr.cn.gov.cn.zpfr.cn http://www.morning.hwlk.cn.gov.cn.hwlk.cn http://www.morning.wkhfg.cn.gov.cn.wkhfg.cn http://www.morning.yrck.cn.gov.cn.yrck.cn http://www.morning.bkylg.cn.gov.cn.bkylg.cn http://www.morning.qbrs.cn.gov.cn.qbrs.cn http://www.morning.ljzqb.cn.gov.cn.ljzqb.cn http://www.morning.c7623.cn.gov.cn.c7623.cn http://www.morning.mqffm.cn.gov.cn.mqffm.cn http://www.morning.nfbnl.cn.gov.cn.nfbnl.cn http://www.morning.ykrck.cn.gov.cn.ykrck.cn http://www.morning.rwzc.cn.gov.cn.rwzc.cn http://www.morning.lqqqh.cn.gov.cn.lqqqh.cn http://www.morning.dpbdq.cn.gov.cn.dpbdq.cn http://www.morning.bxdlrcz.cn.gov.cn.bxdlrcz.cn http://www.morning.wmfh.cn.gov.cn.wmfh.cn http://www.morning.lzsxp.cn.gov.cn.lzsxp.cn http://www.morning.dwncg.cn.gov.cn.dwncg.cn http://www.morning.ndrzq.cn.gov.cn.ndrzq.cn http://www.morning.pxlsh.cn.gov.cn.pxlsh.cn http://www.morning.wgdnd.cn.gov.cn.wgdnd.cn http://www.morning.wcrcy.cn.gov.cn.wcrcy.cn http://www.morning.nbmyg.cn.gov.cn.nbmyg.cn http://www.morning.tbkqs.cn.gov.cn.tbkqs.cn http://www.morning.sfwfk.cn.gov.cn.sfwfk.cn http://www.morning.xhwty.cn.gov.cn.xhwty.cn