zoukankan      html  css  js  c++  java
  • 8.汇编语言--数据传输指令mov等

    ;数据传输指令
    ;mov eax,1   mov 有两个操作数
    ;mov reg32,imm32
    ;操作数的类型
    ;1.立即数  imm  包括imm8 imm16 imm32
    ;2.寄存器操作数  eax ebx等操作数
    ;3.内存操作数,引用内存位置  mem内存 mem8 mem16 mem32
    
    ; reg  代表通用寄存器
    ; reg8 8位寄存器 reg16 reg32
    ; sreg 段寄存器
    
    ;mov 目的操作数 源操作数   类似c中的 int a=15   mov a 15
    ;两个操作数需要一样的位宽
    
    ;方式
    ;mov reg,reg  从寄存器到寄存器 
    ;mov mem,reg
    ;mov reg,mem
    ;........    不能实现内存到内存,需要寄存器作为中间
    
    ;movzx eax,cx  16位到32位
    
    ;XCHG  交换两个操作数
    ; xchg reg,reg  交换两个寄存器内容
    ; xchg reg,mem  寄存器和内存交换值
    .586    
    .MODEL flat,stdcall
    option casemap:none
    
    ; inc 是一个头文件
    include  windows.inc
    include user32.inc
    include kernel32.inc
    ;msvcrt.inc 引用c中的输入输出功能
    include  msvcrt.inc
    
    ;库文件
    includelib user32.lib
    includelib kernel32.lib
    includelib msvcrt.lib
    
    .data
    format dd "%d",0
    
    ;相当于 char *text "my name is wangtengxian!"
    text db "my name is wangtengxiang!",0
    
    ;相当于 arrNum[20]={0} 数组
    ;使用: mov [arrNum],1   给第一个元素赋值1
    ; mov [arrNum + 4],2  4个字节一个元素,给第二个元素赋值  这里都是指针的意思
    arrNum dword 20 dup(0)
    
    .code
    main proc
        mov [arrNum],12345678h
        mov [arrNum+4],11111111h 
        push offset text
        call crt_printf
        add esp,4
        call ExitProcess
        add esp,4
    
    main ENDP
    END    main
    
    
  • 相关阅读:
    解决android模拟器太大,小屏幕无法完全显示的问题
    寡人写的第一个HTML5页面
    android开发环境重装系统之后的配置
    PHP程序的一次重构记录
    重构遗留代码(1):金牌大师
    java加密算法研究
    理解Java常量池
    由一个项目看java TCP/IP Socket编程
    java List分组和排序处理
    JAVA获取方法参数名的分析(一)
  • 原文地址:https://www.cnblogs.com/trevain/p/14507834.html
Copyright © 2011-2022 走看看