首页 > 编程语言 >汇编- LAHF和SAHF指令

汇编- LAHF和SAHF指令

时间:2023-11-10 20:11:38浏览次数:23  
标签:标志 汇编 SAHF AH ExitProcess saveflags LAHF main

 

LAHF

LAHF(将状态标志装入到AH) 指令将EFLAGS寄存器的低字节复制到AH。被复制的标志有:符号标志、零标志、辅助进位标志、奇偶标志及进位标志。

.386  
.model flat,stdcall 
option casemap:none

.data   
saveflags BYTE ?

ExitProcess PROTO,dwExitCode:DWORD      

.code  
main PROC   
    lahf          ;将标志装入到AH
    mov saveflags, ah  ;将标志保存到变量中

     

INVOKE ExitProcess,0  
main ENDP   
END main  

 

 

SAHF

SA HF(将AH保存到状态标志) 指令将AH复制到EFLAGS(或RFLAGS) 寄存器的低字节。

例如,可以获取之前保存到变量中的标志值:

.386  
.model flat,stdcall 
option casemap:none

.data   
saveflags BYTE ?

ExitProcess PROTO,dwExitCode:DWORD      

.code  
main PROC   
    lahf          
    mov saveflags, ah  

    mov ah, saveflags   ;将之前保存的标志装入AH
    sahf                ;再复制到标志寄存器

     

INVOKE ExitProcess,0  
main ENDP   
END main  

 

 

 

 

 

 

 

标签:标志,汇编,SAHF,AH,ExitProcess,saveflags,LAHF,main
From: https://www.cnblogs.com/liming19680104/p/17824915.html

相关文章

  • 8086 汇编从翘课到精通
    目录写在前面斐波那契数列前50项求1e8内的质数冒泡排序写在最后写在前面编译器为MASM-v6.11写的一坨屎。斐波那契数列前50项最多支持输出30位十进制数。.modellargeassumecs:code,ss:stackpositionsegment;在屏幕上的输出位置 dw00a0hpositionendss......
  • 【汇编】汇编语言语法
    GNU汇编语法在进行嵌入式Linux开发的时候是绝对要掌握基本的ARM汇编,因为Cortex-A芯片一上电SP指针还没初始化,C环境还没准备好,所以肯定不能运行C代码,必须先用汇编语言设置好C环境,比如初始化DDR、设置SP指针等等,当汇编把C环境设置好了以后才可以运行C代码。所......
  • 汇编-MOV指令
      MOV指令将数据从源操作数复制到目的操作数。在它的基本格式中,第一个操作数是目的操作数,第二个操作数是源操作数:MOVdestination,source其中,目的操作数的内容会改变,而源操作数不会改变在几乎所有的汇编语言指令中,左边的操作数是目的操作数,而右边的操作数是源操作数。只......
  • 汇编-指令操作数符号
           ......
  • 汇编期末复习
    本章博客贴了很多PPT的内容,可能需要开白天模式看的清晰 第一章字长,原码,反码,补码,真值,进制之间的转换字长:字长是计算机中存储和处理数据的基本单元大小。它通常以位(bits)为单位来表示,例如,一个8位字长可以表示256个不同的值。编码:1.原码(Sign-MagnitudeRepresentation):最高位......
  • 汇编-当前位置计数器$
    符号$被称为当前位置计数器.dataselfPtrDWORD$;声明了一个变量selfPtr,并将其初始化为该变量的偏移量       ......
  • 汇编程序语言设计的一些小点
    汇编学的时间好短,尽力速成一下程序设计,其他就靠背了DOS功能调用 1-键盘输入-2-屏幕输出 -3-辅助输入-4-辅助输出-5-打印器输出-6-直接控制台输入/输出-7-直接控制台输入,不回显-8-读取键盘不回显-9-显示字符串-0Ah-Buffered键盘输入-0Bh-检......
  • 汇编-数据类型
          ......
  • 汇编-如何显示变量值
     1.调试运行2.在监视窗口添加变量       ......
  • 汇编-ExitProcess结束程序
    INVOKEExitProcess,0参数:退出代码  ......