命令总结
来源:互联网 发布:如何做网络优化 编辑:程序博客网 时间:2024/06/16 12:23
微机CPU指令总结
指令属性:
1. 指令操作数的寻址方式
2. 指令对标志位的影响, 标志位对指令的影响
3. 指令的执行时间, 对可完成相同功能的指令要选用执行时间短的指令
数据传送指令:
一、 传送指令: MOV
1.1 格式:Mov Reg/Mem,Reg/Mem/Imm
1.2 功能: 把源操作数的值传给目的操作数。指令执行后, 目的操作数的值被改变, 而源操作数的值不变
注意:
1. 两个操作数据类型要相同, 同为8位或16位
2. 两操作数不能同时为段寄存器或内存。
3. 代码段寄存器CS不能为目的操作数。但可以作为源操作数
4. 立即数不能直接传递给段寄存器, 并且不能作为目的操作数
5. 指令IP,不能作为MOV指令的操作数
二、交换指令xchg:
功能:交换两个操作数内容,两个操作数的类型要相同
Xchg Reg/Mem, Reg/Mem
指令中的寄存器不能是段寄存器, 两个操作数也不能同时为内存变量
三、 取有效地址lea:
把一个内存单元Mem的有效地址送入到指定的寄存器, 该指令通常来对指针或变址寄存器BX, DI或SI等值初值只用。
Lea Reg,Mem
Lea, 在功能上和offset 相似 区别在于lea 能取变量间及任意元素的偏移地址, 而offset 只能取首地址。
取段寄存器指令 lds/les/lfs/lgs/lss:
该组指令的功能是
四则运算指令:
加法指令: add 。 功能是:把源操作数的值加到目的操作数中。 受影响的标志位:AF、 CF、OF、PF、SF、ZF
带进位加法指令: adc。 受影响的标志位:AF、CF、OF、PF、SF、ZF
加1 指令: inc。 受影响的标志位:AF、OF、PF、SF、ZF
交换加指令: xadd 受影响的标志位:AF、CF、OF、PF、SF、ZF
减法指令:
减法指令: sub 功能是:从目的操作数中减去源操作数。受影响的标志位:AF、CF、OF、PF、SF、ZF
带借位的减法指令:SBB。 受影响的标志位: AF、CF、OF、SF、ZF
减1 指令: DEC。 不影响:CF
求补指令: NEG。 指令功能:改变操作数的正负号。
乘法指令:
无符号乘法指令 MUL:受影响的标志位: CF、OF
指令的功能是: 把显示的操作数和隐含的操作数相乘, 并把积存入到相应的寄存器
有符号数乘法指令:IMUL
中断指令:
DOS功能中的键盘输入方式和过程
1. 设置入口参数(相当于高级语言中的形参)
2. 功能号送入AH里面
3. 执行软中断21H
4. 分析出口参数(相当于返回值)
01H : 带回显的键盘输入 功能: 从键盘输入一字符,将ASCII送入AL,并屏显。
02H: 显示的字符
例:显示'*'
1.设置入口参数 mov dl, '*'
2.功能号送入AH mov ah,2
3.执行软中断 int 21H
05H: 向连接在LPT1上的打印机输出一个字符
mov dl, '*' mov ah, 5 int 21h
07H:不带回显、不过滤的键盘输入
功能: 输入一个字符,字符ASCII码送入AL中屏幕无回显 mov ah, 7 int 21h 不检测Ctr-break
08H:和07H相似,只不过检测Ctrl-break
09H: 功能:在屏幕显示一个以$为结尾的字符串DX是入口参数
0aH: 功能:从键盘接收一个字符串,并存入指定缓冲区,直到输入结束
- 命令总结
- 命令总结
- 命令总结
- docker命令总结(持续总结)
- RPM命令学习总结
- MATLAB命令总结
- ubuntu命令总结
- 预处理命令总结
- linux VI 命令总结
- MATLAB命令总结
- linux命令总结
- ant命令总结
- linux 命令总结
- vim命令总结
- ant命令总结
- 化为基本命令总结!
- mysql命令总结
- Ubuntu命令总结1
- 如何学习
- 扎克伯格:我们如何接管世界
- 我是新手啊,多指教
- Matlab与C#混合编程
- js动态加载下拉框里的值
- 命令总结
- 用户 'IIS APPPOOL/test' 登录失败[解决办法]
- JQuery实现的三级联动菜单
- tomcat
- math对象
- 网络与传输等高层即传统协议
- 存储转发
- 复用
- 静态动态路由