首页 > 其他 > 详细

汇编基础知识

时间:2020-07-07 21:31:18      阅读:79      评论:0      收藏:0      [点我收藏+]

一、操作数类型,指令格式

       1.操作数类型

          1)立即数

          3)内存单元地址

          2)寄存器号(X86)

                   通用寄存器(16位):ax(ah(高8位)+al(第8位)),bx(bh+bl),cx(ch+cl)dx(dh+dl)

                   基址变址寄存器:si,di,bp,sp

                   程序计数器:ip

                   状态寄存器:psw

         2.指令格式(一般dst用于存放运算结果)

             op dst

             op dst,src

二、汇编指令MOV(格式:MOV DST,SRC)

MOV EAX,#050aH ;将十六进制050a 传送到通用寄存器eax中
MOV DI,BX(寄存器到寄存器之间传数)
MOV ES,AX(通用寄存器与段寄存器之间传数)
MOV AX,DS(段寄存器至通用寄存器)
MOV AL,23H(将立即数"复制"到寄存器)
MOV [2000H],02H(直接寻址)
 
三、ADD ADC INC和SUB SBB DEC
指令格式:ADD DST,SRC ; DST←DST+SRC
指令格式:SUB DST,SRC;DST←DST-SRC
该指令要求DST、SRC 不能同时为存储器,DST不能为立即数,运算结果对标志位有影响。
 
指令格式:ADC DST,SRC ;DST ← SRC+DST+ CF (进位计数器,存进位值)
指令格式:SBB DST,SRC;DST←DST-SRC-CF
DST、SRC 不能同时为存储器, SRC可为立即数,运算结果对标志位有影响。
 
指令格式:INC   AL ; AL←AL+1
指令格式:DEC BX ; BX ←BX-1
操作数可以是通用寄存器,也可以在内存单元中
 
四、MUL IMUL和DIV IDIV
无符号乘
MUL SRC;AX←AL*SRC 
有符号乘
IMUL SRC;(DX,AX)←AL*SRC
 
无符号除
DIV SRC  
有符号除
DIV SRC 
有/无符号除规则
 (字节)AL←AX/SRC    AH←AX%SRC
 (字)   AX←(DX,AX)/SRC    DX←(DX,AX)%SRC
 
五,数值位数扩展
CBW  AX←AL             //只扩展al(8位)到ax(16位)
CWD  (DX,AX)←AX    //只扩展ax(16位)到dx,ax(32位)

汇编基础知识

原文:https://www.cnblogs.com/itml/p/13263238.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!