第一次做网站没头绪,crm排名,郑州搜索引擎优化,专做视频和ppt的网站第一章导论
1.3
冯诺依曼体系结构
#xff08;1#xff09;以二进制形式表示指令和数据
#xff08;2#xff09;程序和数据事先放在存储器中#xff08;预存储#xff09;
#xff08;3#xff09;由运算器、控制器、输入设备和输出设备五大部件组成
字长、主频…第一章导论
1.3
冯诺依曼体系结构
1以二进制形式表示指令和数据
2程序和数据事先放在存储器中预存储
3由运算器、控制器、输入设备和输出设备五大部件组成
字长、主频、架构 地址总线AB
数据总线DB
控制总线CB
运算器ALU
控制器CU
指令寄存器IR
指令译码器ID
可编程逻辑阵列PLA
程序计数器PC 存放下一条要执行指令所在的存储单元的地址
地址寄存器AR
数据缓冲寄存器DR
累加器A
标志寄存器FLAGS程序状态字PSW
寄存器阵列RA
存储器
位Bit、字节Byte、字Word
内存容量
K----2^10 M----2^20 G---2^30 T------2^40
第二章 数制和编码
2.2 原码
反码
正数的反码与原码相同
负数的反码是在原码的基础上符号位不变仍为1数值位按位取反
[-0]反(2^8-1)-0 1111 1111B
[-127]反(2^8-1)-1271000 0000B
补码
正数的补码与其原码、反码相同
负数的补码是在原码基础上符号位不变数值位按位取反末位加1反码1
[48]补0011 0000B30H 字长扩展 0000 0000 0011 0000B0030H
[-48]补1101 0000B0D0H 1111 1111 1101 0000B0FFD0H
[-128]补2^8-128(用定义算)1000 0000B80H 0FF80H
溢出
符号位进位CF、数值部分最高位次高位进位DF
OFCF⊕DF
同时有进位或者同时没有进位结果没有溢出
负负 正正 可能溢出
正-正 正负 不溢出 第三章 8086微处理器
3.1
3.2
主频是指芯片所使用的主时钟频率直接影响计算机的运行速度
8086有20根地址线直接对2^201M个存储单元进行访问 00000H~FFFFFH 总线接口单元BIU-----------访问内存
执行单元EU----------访问I/O
存储器分段结构 段地址段内偏移地址(有效地址) AX累加器
BX基址寄存器 BX用来存放操作数在内存中数据段内的偏移地址BP用来存放操作室在堆栈段内的偏移地址
CX计数器 在设计循环程序时放循环此时
DX数据寄存器 在寄存器间接寻址的I/O指令中存放I/O端口地址在双字长乘法运算时DX与AX一起存放一个双字长操作数其中DX存放高16位
SP堆栈指针寄存器
BP基指寄存器 堆栈段内的偏移地址
SI源变址寄存器
DI目的变址寄存器
IP程序指针寄存器用户不能直接访问IP
FLAGS标志寄存器
状态标志位 CF进位标志位
PF奇偶标志位低8位含有偶数个1时PF为1
AF辅助进位标志位低字节的低4位向高4位有进位或借位时AF1
ZF零标志位结果为0ZF为1
SF符号标志位最高位为1SF1
OF溢出标志位溢出OF1
控制标志位
TF跟踪(陷阱)标志位TF置1处于单步工作方式
IF中断允许标志位用来控制可屏蔽中断的控制标志位用STI指令将IF置1表示允许CPU接受外部从INTR引脚上发来的可屏蔽中断请求信号用CLI指令将IF清0禁止CPU接受可屏蔽中断请求信号。IF的状态对非屏蔽中断及内部中断没有影响
DF方向标志位用STD将DF置1串操作按减地址方式进行每操作一次地址自动递减若用CLD将DF清0串操作按递增地址方式进行
8086引脚
地址/数据分时复用引脚AD15~AD0传送地址时单向输出传送数据时双向输入或输出
地址/状态时分复用引脚A19/S6~A16/S3,当访问存储器时A19~A16与AD15~AD0一起构成访问存储器的20位物理地址
控制引脚
NMI非屏蔽中断请求信号
INTR可屏蔽中断请求信号CPU在每个指令周期的最后一个时钟周期检测该信号是否有效若此信号有效表明有外设提出了中断请求这时若IF1则当前指令执行完立即响应中断 M/IO* 物理地址20位A19~A16、D15~D0
逻辑地址 段地址偏移地址 端口地址
8086系统可访问的8位I/O端口有65536(64K)个
基本的读周期由4个时钟周期组成
第四章 8086指令系统
4.2
4.3
寻址方式
数据寻址方式
立即数寻址方式 MOV BL,80H MOV AX,1090H
寄存器寻址方式 (AX,BX,CX,DX,SI,DI,SP,BP MOV CL,DL MOV AX,BX
存储器寻址方式 直接寻址 MOV AL,[1064H] MOV AL,value 用符号地址来表示偏移量 寄存器间接寻址 BX、SI、DI MOV ES:[DI],AX 寄存器相对寻址 BX、SI、DI、BP MOV [SI10H],AX MOV CX,[BXCOUNT] MOV AL,TABLE[BP] 基址变址寻址 BX、BP SI、DI MOV [BXDI],AX MOV AH,[BP][SI] 基址变址相对寻址 MOV AH,[BXDI1234H] MOV AX,COUNT[BX][SI]
I/O端口寻址 端口直接寻址方式 IN AL,21H 端口间接寻址方式 MOV DX,120H OUT DX,AX FFH必须先通过DX
地址寻址方式
(CS):(IP)
段内转移 NEAR:更新(IP)
段内直接 JMP LABEL 无条件转移近转移 JZ getzero 条件转移短转移 JMP NEAR PTR PROGIA -32768~32767 JMP SHORT QUEST -128~127 2.段内间接 程序转移地址存放在寄存器或存储单元中 JMP BX JMP WORD PTR [BPTABLE]
段外转移 FAR: (CS):(IP)
段间直接 JMP LABLE_NAME JMP FAR PTR NEXTROUTINT 2.段间间接 JMP VAR_DOUBLEWORD 已定义的32位的存储器变量 JMP DWORE PTR[BP][DI]
8086指令系统
数据传送类 MOV dst,src reg/mem------data reg/mem------reg reg/mem------seg CS不能做目的操作数 不能meg-----meg、seg-----seg、seg-----data
堆栈操作指令 push src (SP)-----(SP)-2 ((SP)1:(SP))-----(src) pop dst (SP)-----(SP)2 (dst)-----((SP)1:(SP)) src: reg、seg、mem dst不能为CS dst、src不能是立即数
数据交换指令 XCHG dst,src (dst)----(src) reg------reg/mem 段寄存器的内容不能交换
输入/输出指令 IN acc,port acc---port IN acc,DX OUT port,acc OUT DX,acc
字节装换指令 XLAT XLAT src_table AL-----(BX)(AL) MOV BX,OFFSET Hex_tabel (BX)---表首址 offset取出偏移地址 MOV AL,0AH (AL)----序号 XLAT Hex_table
地址传送指令 LEA reg16,mem LEA BX,value 等同于MOV BX,OFFSET value mov bx,value这是错误的
地址指针装入DS指令LDS
LDS SI,[0010H]
标志传送指令 LAHF load AH from flags SAHF store AH into flags PUSHF、POPF
5
6.3
7.3
8