x86汇编语言(二)
来源:互联网 发布:p2p摄像头软件下载 编辑:程序博客网 时间:2024/05/16 12:38
数据传送指令
MOV指令
MOV基本格式:
MOV dst,src
左边是目的操作数,右边是源操作数,该指令有以下限制:
两个操作数必须大小一致;
两个操作数不能同时为内存操作数;
指令寄存器不能作为目的操作数;
MOV的标准格式:
MOV reg,reg
MOV mem,reg
MOV reg,mem
MOV mem,imm
MOV reg,imm
实现内存到内存的数据传送需要借助中间寄存器。
整数的全零/符号扩展
MOVZX指令(进行全零扩展并传送),该指令只用于无符号数,MOVSX指令(进行符号扩展并传送),该指令只用于有符号数。
以上两条指令的目的操作数必须位寄存器且源操作数的长度必须短于目的操作数且源操作数不能为常数。
.data
byteval byte 10001111b
.code
movsx ax,byteval
执行以上代码后,ax的值为1111111110001111b
LAHF与SAHF
LAHF将EFLAGS寄存器的低字节复制到AH,SAFH将AH复制到EFLAGS的低字节
XCHG指令
交换两个操作数,有三种形式:
XCHG reg,reg
XCHG mem,reg
XCHG reg,mem
.386.model flat,stdcall.stack 4096ExitProcess PROTO,dwExitCode:DWORD.dataval1 word 1000hval2 word 2000harrayB byte 10h,20h,30h,40h,50harrayW word 100h,200h,300harrayD dword 10000h,20000h,30000h.codemain PROCmov bx,0a69bhmovzx eax,bxmovzx edx,blmovzx cx,blmov bx,0a69bhmovsx eax,bxmovsx edx,blmov bl,7bhmovsx cx,blmov ax,val1xchg ax,val2mov val1,axmov al,arrayBmov al,[arrayB+1]mov al,arrayb+2mov ax,arrayWmov ax,arrayW+2mov eax,arrayD+4INVOKE EXITPROCESS,0main ENDPEND main
阅读全文
0 0
- x86汇编语言(二)
- X86汇编语言(前言)
- x86汇编语言(一)
- x86汇编语言(三)
- X86汇编语言(四)
- x86汇编语言(五)
- 80x86汇编语言学习笔记(二)二次修改版
- 80X86汇编语言程序设计教程(杨季文)习题答案二
- 杨季文 80x86汇编语言程序设计 实例二
- X86 汇编语言
- 【80X86汇编语言学习】【DOS功能调用】基本IO功能 (二)
- 进入保护模式(二)——《x86汇编语言:从实模式到保护模式》读书笔记14
- 存储器的保护(二)——《x86汇编语言:从实模式到保护模式》读书笔记19
- 80x86汇编语言学习笔记(一)
- 80x86汇编语言学习笔记(三)
- 80x86汇编语言学习笔记(四)
- 汇编语言笔记(二)
- 汇编语言程序设计(二)
- react-navigation使用技巧
- 关于android studio的jar包冲突
- go的临时对象池--sync.Pool
- Shiro集成Spring,Spring,MVC myBatis
- 复杂SQL学习
- x86汇编语言(二)
- js复选框全选、全不选批量操作
- 安信可A7模块实现拨号发短信
- 找回AndroidStudio的帮助文档
- 六月学习记录
- 原生JS写选项卡
- poj-3280
- 项目中遇到的问题(EditText)
- 日常训练 20170708 贝加尔湖畔baikal