微机原理学习(2)

2020微机原理学习第二讲

1、8086/8088指令系统

(1)数据传送指令
一般格式:MOV A,B;
功能:CPU把一个字或一个字节的内容从B(源操作数)传送至A(目的操作数)
注意:目的操作数不能为立即数;(立即数是编码在处理器指令代码中的,而处理器指令代码执行时通常禁止修改。所以结果无法存在指令代码中)
      目的操作数为段寄存器时(CS不能为目的操作数),源操作数不能为立即数;(因为段寄存器无法直接读取,需要通过通用寄存器间接读取)
      两操作数不能同时为存储器操作数;如:MOV [BX],[SI];这个是不可以的。(因为在指令代码中需要两个指明存储器地址的字段,通常会大大增加指令代码的长度,还会增加指令代码解码的难度和电路复杂性)
      操作数类型(长度)必须一致。如:MOV AL,[SI];其中AL是8位的,只能传8位数据的内容
(2)入栈与出栈指令
进栈(PUSH):先移后进。
出栈(POP ):先出后移。
(3)条件转移指令

王建宇版教材
值得注意的是,J 表示跳转,N 表示为0(不加则表示不为0),O、S、Z、E、C均表示标志寄存器的意思(如:S表示最高位/符号位)

(4)循环控制指令
LOOP OPRD;
执行的操作包括:(1)CX=CX-1;(2)若CX不为0,则循环。
(5)加法指令
ADD A,B 不带进位的加法指令;
ADC A,B 带进位的加法指令;
区别:ADD进行运算时,运算结果不带上进位;ADC进行运算时带上进位。
注意:若最高位存在进位,若何将最高位表示出来可用如下方法
	MOV AH,0
	...
	ADC AH,0  ;然后再将进位存放入指定地址单元
(6)伪指令
ASSUME 段寄存器:段名
作用:用来通知汇编程序,哪一个寄存器是哪段的段寄存器,以便对源程序中使用变量或标号的指令汇编出正确的目标代码。

在这里插入图片描述
未完待定~

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值