首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 組合語言

組合語言程式設計(一):任務認知、系統分析與模組觀念

     編輯:組合語言

前言:程式設計是藝術,而非單純編碼

組合語言程式寫作有時空效率客觀標準,但複雜程式價值評估遠超單純指標。本章以「表格符號繪製」為例,完整走過任務認知、系統分析、模組觀念三大階段。

第一節:主題認識——從編碼到繪圖

任務背景

設計應用符號(表格框線),與文字混排。將符號分解為字符並編碼。編碼限制:倉頡碼 1~5 碼、24 字母、不可與既有漢字碼衝突。

功能需求分析

四種粗細格子,需相互配合。104 種形狀歸納為四類:橫向延伸、縱向延伸、單側橫向、單側縱向。發現規律:

  1. 僅連接格子中心點
  2. 四個位置:上、下、左、右

二進制結構浮現:四位置可用 2 bits 編碼,斜向再 2 bits,共 4 bits = 16 組合。但需 24 符號,引入第 5 bit:貫穿形 (8 種) + 半形 (16 種) = 24 種,完美符合精簡法則。

編碼規則與避免重碼

  • 碼值加 41h 得內碼
  • 字母順序規範:YYXAK 有效,YYXKA 無效
  • 合成碼衝突處理:YYXAI (雙細橫) = YYXU (單貫穿細橫) → 建表攔截前者
  • 教訓:早期疏忽造成重碼,修正將導致舊資料失效——規劃階段務必慎始!

改進空間

將四連續碼視為粗細遞增、位置分六組,可減少 28 位元組程式碼。資料結構優化帶來程式碼級優化。

第二節:系統分析——硬體、原則、工作性質與相關問題

硬體機種與規格 (IBM PC/AT 兼容機)

  • 記憶體 640KB、硬碟 20MB、軟碟 360KB
  • Hercules 顯示卡、101 鍵鍵盤、DOS 3.3
  • 「聚珍整合系統」佔 440KB,含全字形與 7 大應用

空間效益:若字形存硬碟,讀寫壽命 < 半年且極慢;用擴充記憶體成本高。本系統 260KB 容納 6 萬字形 + 600 萬組合,秒產 500-1000 字,釋放 20MB 硬碟給用戶。

設計原則

  1. 組合語言效率最高 (效率定律一)
  2. 良好訓練下寫作速度不遜高階語言 (定律二)
  3. 功能累進滿足永不滿足的速度需求 (定律三)

工作性質:附屬程式與介面

中文系統屬「附屬程式」:駐留系統、修改中斷向量。五大介面:初始化圖形態、檢查空間、安排參數、修改中斷入口、申請駐留返回。

血淚教訓:曾誤改 INT 9H (鍵盤硬體中斷),導致新鍵盤擴充鍵 (字符碼 0E0h 高位非 0) 被誤判為中文碼,系統大亂。正確應改 INT 16H (BIOS 鍵盤服務),BIOS 已將高位移入緩衝區,兼容性佳。

相關問題:編碼整合與排序效率

  • 點陣存儲 104 符號需 21KB (系統 20%),且不可縮放 → 必須程式繪製
  • 納入原組字程式模組,轉換資料結構即可
  • 內碼表增設表格碼區 (YYX 後無漢字碼),維持排序功能
  • 排序是效率關鍵:國標碼按頻率分集,與使用者認知脫節;倉頡字母索引效率等同英文、無需對照表、支援千萬字

第三節:模組觀念——從莊子《庖丁解牛》到軟體工程

模組定義四要件

  1. 空間小、結構完整、獨立可調用 (含配合公用模組)
  2. 高效率、大彈性、便於二次開發調用
  3. 功能明確,分類以參數實現
  4. 模組間透過暫存器傳遞資料/參數

模組四大類型

  • 功能模組:單一獨立目標,不可塞入多功能
  • 公共模組:無明確功能但具共用效益,附屬他模組,需詳細目錄
  • 介面模組:處理資料-資料、程式-程式、硬體-硬體間關係
  • 應用模組:面向使用者,變化最大,設計須留彈性

模組分割哲學:庖丁解牛

莊子《養生主》寓言:庖丁解牛十九年刀刃如新,因順應天理,刀入節間隙。軟體模組化同理:

  • 事物皆具模組結構,模組為組成基礎
  • 有能力者善析事理,識症結於模組間隙下刀,問題迎刃而解
  • 以有限生命追無限知識須掌握原理,勿執著表象

集裝箱、預鑄房屋、流水線生產皆為模組化實踐。軟體缺乏工業標準,需先行者建立先例、眾智完善。

總結

從任務分析發現二進制編碼規律,到系統分析確立 260KB 字形引擎架構,再到模組化思想將庖丁解牛哲理內化為工程原則——組合語言程式設計不僅是指令操作,更是系統思維與藝術追求的結晶。慎始於規劃,精進於模組,極致於效率。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved