<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>动手实践 on 文艺技术笔记</title>
        <link>https://wenyiblog.top/tags/%E5%8A%A8%E6%89%8B%E5%AE%9E%E8%B7%B5/</link>
        <description>Recent content in 动手实践 on 文艺技术笔记</description>
        <generator>Hugo -- gohugo.io</generator>
        <language>zh</language>
        <copyright>文艺技术笔记 | 软件工程师文艺</copyright>
        <lastBuildDate>Sat, 13 Jun 2026 12:00:00 +0800</lastBuildDate><atom:link href="https://wenyiblog.top/tags/%E5%8A%A8%E6%89%8B%E5%AE%9E%E8%B7%B5/index.xml" rel="self" type="application/rss+xml" /><item>
        <title>汇编语言实验指导：5 个动手实验从易到难</title>
        <link>https://wenyiblog.top/2026/06/asm-18-experiments/</link>
        <pubDate>Sat, 13 Jun 2026 12:00:00 +0800</pubDate>
        
        <guid>https://wenyiblog.top/2026/06/asm-18-experiments/</guid>
        <description>&lt;h2 id=&#34;实验-1环境搭建与-hello-world&#34;&gt;&lt;a href=&#34;#%e5%ae%9e%e9%aa%8c-1%e7%8e%af%e5%a2%83%e6%90%ad%e5%bb%ba%e4%b8%8e-hello-world&#34; class=&#34;header-anchor&#34;&gt;&lt;/a&gt;实验 1：环境搭建与 Hello World
&lt;/h2&gt;&lt;p&gt;&lt;strong&gt;目标&lt;/strong&gt;：配置 DOSBox + MASM，成功编译运行第一个程序&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;验收标准&lt;/strong&gt;：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;环境配置文档&lt;/li&gt;
&lt;li&gt;成功显示 &amp;ldquo;Hello World&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;步骤&lt;/strong&gt;：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;安装 DOSBox&lt;/li&gt;
&lt;li&gt;下载 MASM 工具链&lt;/li&gt;
&lt;li&gt;编写 DATA/CODE 段程序&lt;/li&gt;
&lt;li&gt;编译、链接、运行&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&#34;实验-2计算器程序&#34;&gt;&lt;a href=&#34;#%e5%ae%9e%e9%aa%8c-2%e8%ae%a1%e7%ae%97%e5%99%a8%e7%a8%8b%e5%ba%8f&#34; class=&#34;header-anchor&#34;&gt;&lt;/a&gt;实验 2：计算器程序
&lt;/h2&gt;&lt;p&gt;&lt;strong&gt;目标&lt;/strong&gt;：实现加减乘除四则运算&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;要求&lt;/strong&gt;：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;从键盘接收两个数字和运算符&lt;/li&gt;
&lt;li&gt;输出计算结果&lt;/li&gt;
&lt;li&gt;处理除零错误&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;提示&lt;/strong&gt;：使用 INT 21h 的 01h/0Ah 功能读取输入&lt;/p&gt;
&lt;h2 id=&#34;实验-3学生成绩管理&#34;&gt;&lt;a href=&#34;#%e5%ae%9e%e9%aa%8c-3%e5%ad%a6%e7%94%9f%e6%88%90%e7%bb%a9%e7%ae%a1%e7%90%86&#34; class=&#34;header-anchor&#34;&gt;&lt;/a&gt;实验 3：学生成绩管理
&lt;/h2&gt;&lt;p&gt;&lt;strong&gt;目标&lt;/strong&gt;：用结构体存储学生信息，实现排序和查询&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;数据结构&lt;/strong&gt;：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;STUDENT STRUC
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    ID      DW ?
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    NAME    DB 20 DUP(?)
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    SCORE   DW ?
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;STUDENT ENDS
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;&lt;strong&gt;功能&lt;/strong&gt;：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;录入 5 个学生成绩&lt;/li&gt;
&lt;li&gt;按成绩排序&lt;/li&gt;
&lt;li&gt;显示排行榜&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;实验-4文件加密工具&#34;&gt;&lt;a href=&#34;#%e5%ae%9e%e9%aa%8c-4%e6%96%87%e4%bb%b6%e5%8a%a0%e5%af%86%e5%b7%a5%e5%85%b7&#34; class=&#34;header-anchor&#34;&gt;&lt;/a&gt;实验 4：文件加密工具
&lt;/h2&gt;&lt;p&gt;&lt;strong&gt;目标&lt;/strong&gt;：读写文件，实现 XOR 加密/解密&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;要求&lt;/strong&gt;：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;命令行指定文件名&lt;/li&gt;
&lt;li&gt;读取文件内容&lt;/li&gt;
&lt;li&gt;逐字节 XOR 加密&lt;/li&gt;
&lt;li&gt;写回文件&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;实验-5bootloader-原型&#34;&gt;&lt;a href=&#34;#%e5%ae%9e%e9%aa%8c-5bootloader-%e5%8e%9f%e5%9e%8b&#34; class=&#34;header-anchor&#34;&gt;&lt;/a&gt;实验 5：Bootloader 原型
&lt;/h2&gt;&lt;p&gt;&lt;strong&gt;目标&lt;/strong&gt;：编写 512 字节引导程序&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;要求&lt;/strong&gt;：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;显示 &amp;ldquo;Booting&amp;hellip;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;从软盘读取内核到内存&lt;/li&gt;
&lt;li&gt;跳转到内核&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;提示&lt;/strong&gt;：使用 INT 13h 读磁盘，程序必须以 &lt;code&gt;55AAh&lt;/code&gt; 结尾&lt;/p&gt;
&lt;h2 id=&#34;总结&#34;&gt;&lt;a href=&#34;#%e6%80%bb%e7%bb%93&#34; class=&#34;header-anchor&#34;&gt;&lt;/a&gt;总结
&lt;/h2&gt;&lt;p&gt;实验是学习汇编的最佳方式。从简单到复杂，每一步都建立在前面的基础上。&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;下一篇：《汇编语言调试技巧：Debug 工具与逆向分析基础》&lt;/p&gt;
&lt;/blockquote&gt;
</description>
        </item>
        
    </channel>
</rss>
