计算机的微处理器

微机原理
主要讨论计算机的微处理器

前期:

cpu内部最基本的组成部分为三大部分;运算器、控制器和高速缓存器。
通用寄存器发送数据到ALU(算术逻辑运算单元);结果送到缓存或其它寄存器,产生标志位的改变;
控制器中有指令指针、指令寄存器、指令译码器、操作控制器;指令寄存器(存储器或高速缓冲器)发送指令到译码器,控制器根据指令操作;
cpu工作原理按照工作的先后可以分为:总线接口不见BIU(Σ、CS、DS、SS、ES、IP、缓冲器) ;执行部件EU(ALU、暂存器、FLAGS、通用寄存器);
寄存器通用寄存器AX累加器、BX基址寄存器、CX计数寄存器、DX数据寄存器、SP堆栈指针、BP基址指针、SI源变址寄存器、DI目的变址寄存器。
SI和DI通常与DS一起使用,来确定数据段中的某一存储单元的地址。
在字符串操作中,SI用于存放源操作数的偏移地址,DI存放目的操作数的偏移地址,SI与DS连用寻址数据段,DI与ES 连用附加段。

段寄存器CS、DS、SS堆栈段寄存器、ES附加段寄存器,都指向存储器。
附加段寄存器是为某些串操作指令存放操作数而附加的一个数据段;
SS与SP共同确定堆栈段内的存取地址。
指令指针IP 存放下一条指令在CS的偏移地址;(CS:IP)确定物理地址。

简单编程

顺序程序设计:从键盘输入一个数(0~9),查表找出这个数的立方值。
0 1 2 3 4 5 6 7 8 9
30H31H 32H 39H
0 1 8 27 64 125 216 343 512 729
DATA SEGMENT
INPUT DB ‘PLEASE INPUT X(0-9): $’
TAB DW 0,1,8,27,64,125,216,343,512,729
X DB ?
XXX DW ?
DATA ENDS
CODE SEGMENT ‘CODE’
ASSUME CS:CODE,DS:DATA
START: MOV AX,DATA
MOV DS,AX
MOV DX,OFFSET INPUT;取偏移地址给DX
MOV AH,9;显示器显示功能
INT 21H
MOV AH,1;键盘接收给AH
INT 21H
AND AL,0FH;屏蔽AX的高四位,AL足够存储0到9
MOV X,AL
ADD AL,AL;立方值在DS中存储为字,需要两个8位
MOV BL,AL
MOV BH,0
MOV AX,TAB[BX];取[bx+地址]给AX
MOV XXX,AX
MOV AH,4CH
INT 21H
CODE ENDS
END START
分支程序设计:
比较两个数的大小,并交换位置;
DATA SEGMENT
VARY1 DW -12
VARY2 DW 34
DATA ENDS
CODE SEGMENT ‘CODE’
ASSUME CS:CODE,DS:DATA
START: MOV AX,DATA
MOV DS,AX
MOV BX,VARY1
MOV CX,VARY2
CMP BX,CX
JGE FINISH
mov word ptr[si],bx;用设置DS:SI指向变量
mov bx,cx
mov cx,word ptr[si]
MOV VARY1,BX
MOV VARY2,CX
FINISH: MOV AH,4CH
INT 21H
CODE ENDS
END START

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值