<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>二进制 on colorless</title>
    <link>https://myblog-6vy.pages.dev/categories/%E4%BA%8C%E8%BF%9B%E5%88%B6/</link>
    <description>Recent content in 二进制 on colorless</description>
    <generator>Hugo</generator>
    <language>en</language>
    <lastBuildDate>Thu, 30 Jul 2026 20:19:00 +0800</lastBuildDate>
    <atom:link href="https://myblog-6vy.pages.dev/categories/%E4%BA%8C%E8%BF%9B%E5%88%B6/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>汇编语言</title>
      <link>https://myblog-6vy.pages.dev/posts/binary/assembly/</link>
      <pubDate>Thu, 30 Jul 2026 20:19:00 +0800</pubDate>
      <guid>https://myblog-6vy.pages.dev/posts/binary/assembly/</guid>
      <description>&lt;h1 id=&#34;第10章call和ret指令&#34;&gt;第10章	CALL和RET指令&lt;/h1&gt;
&lt;h2 id=&#34;101ret和retf&#34;&gt;10.1	ret和retf&lt;/h2&gt;
&lt;h2 id=&#34;102call指令&#34;&gt;10.2	call指令&lt;/h2&gt;
&lt;h2 id=&#34;103依据位移进行转移的call指令&#34;&gt;10.3	依据位移进行转移的call指令&lt;/h2&gt;
&lt;h2 id=&#34;104转移的目的地址在指令中的call指令&#34;&gt;10.4	转移的目的地址在指令中的call指令&lt;/h2&gt;
&lt;h2 id=&#34;105转移地址在寄存器中的call指令&#34;&gt;10.5	转移地址在寄存器中的call指令&lt;/h2&gt;
&lt;h2 id=&#34;106转移地址在内存中的call指令&#34;&gt;10.6	转移地址在内存中的call指令&lt;/h2&gt;
&lt;h2 id=&#34;107call和ret的配合使用&#34;&gt;10.7	call和ret的配合使用&lt;/h2&gt;
&lt;h2 id=&#34;108mul指令&#34;&gt;10.8	mul指令&lt;/h2&gt;
&lt;h2 id=&#34;109模块化程序设计&#34;&gt;10.9	模块化程序设计&lt;/h2&gt;
&lt;h2 id=&#34;1010参数和结果传递的问题&#34;&gt;10.10	参数和结果传递的问题&lt;/h2&gt;
&lt;h2 id=&#34;1011批量数据的传递&#34;&gt;10.11	批量数据的传递&lt;/h2&gt;
&lt;h2 id=&#34;1012寄存器冲突的问题&#34;&gt;10.12	寄存器冲突的问题&lt;/h2&gt;
&lt;h1 id=&#34;第11章-标志寄存器&#34;&gt;第11章 标志寄存器&lt;/h1&gt;
&lt;p&gt;标志寄存器(flag)的作用：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;用来存储相关指令的某些执行结果；&lt;/li&gt;
&lt;li&gt;用来为CPU执行相关指令提供行为依据；&lt;/li&gt;
&lt;li&gt;用来控制CPU的相关工作。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;img alt=&#34;image-20230211214531253&#34; loading=&#34;lazy&#34; src=&#34;https://myblog-6vy.pages.dev/posts/binary/assembly/image-20230211214531253-1785414643985-4.png&#34;&gt;&lt;/p&gt;
&lt;h2 id=&#34;111-zf标志&#34;&gt;11.1 ZF标志&lt;/h2&gt;
&lt;p&gt;flag的第6位 ZF 是 零标志位&lt;/p&gt;
&lt;p&gt;结果为0，zf=1；	1表示逻辑真，即代表肯定“是0”这样的信息&lt;/p&gt;
&lt;p&gt;结果不为0，zf=0。	0表示逻辑假，即否定含义，表示“结果不是0”&lt;/p&gt;
&lt;p&gt;大多数运算指令对标志寄存器有影响，大多数传送指令大多数对标志寄存器没有影响。&lt;/p&gt;
&lt;h2 id=&#34;112-pf标志&#34;&gt;11.2 PF标志&lt;/h2&gt;
&lt;p&gt;flag的第3位 PF 是 奇偶标志位&lt;/p&gt;
&lt;p&gt;结果所有bit位中1的个数为偶数，pf=1；&lt;/p&gt;
&lt;p&gt;结果所有bit位中1的个数为奇数，pf=0；&lt;/p&gt;
&lt;h2 id=&#34;113-sf标志&#34;&gt;11.3 SF标志&lt;/h2&gt;
&lt;p&gt;flag的第3位 SF 是 符号标志位&lt;/p&gt;
&lt;p&gt;结果为负，sf=1；&lt;/p&gt;
&lt;p&gt;结果为非负，sf=0；&lt;/p&gt;
&lt;h2 id=&#34;114-cf标志&#34;&gt;11.4 CF标志&lt;/h2&gt;
&lt;p&gt;flag的第0位 CF 是 进位标志位&lt;/p&gt;
&lt;p&gt;在进行==无符号位==运算的时候，它记录了运算结果的最高有效位向更高位的进位值，或从更高位的借位值。&lt;/p&gt;
&lt;p&gt;&lt;img alt=&#34;image-20230212094913035&#34; loading=&#34;lazy&#34; src=&#34;https://myblog-6vy.pages.dev/posts/binary/assembly/image-20230212094913035-1785414655584-6.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;当更高位需要进位或者借位时，cf=1；&lt;/p&gt;
&lt;p&gt;当更高位不需ddai要进位或者借位时，cf=0；&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
