當前位置:編程學習大全網 - 源碼下載 - 匯編註釋

匯編註釋

第壹部分的DATA SEGMENT到DATA ENDS屬於數據段定義.以後妳看到SEGMENT/ENDS這對語句括號就可以認為是壹個段的定義:SEGMENT表示段定義開始,ENDS表示段定義結束;

這個段中定義了三組字節類型的變量:CHAR,NUM和REZULT,每組可以近似看做高級語言裏的數組.其中第三個量中的'$',壹般是用於字符串定義的結束標誌的,尤其是在DOS操作系統中常用.從妳的後部代碼看這段程序應該是基於DOS或者早期WINDOWS操作系統的.

第二部分的STACK SEGMENT到STACK ENDS屬於堆棧段定義,定義了100個字節深度的堆棧供妳的程序使用;這其中的DUP是壹種運算符,是重復定義的意思,重復的次數看其前面的數字

第三部分從CODE SEGMENT開始到最後的END START屬於代碼段定義.就是妳處理數據用的指令部分.這其中的END語句表示所有源程序結束,應該是妳匯編程序裏書寫的最後壹條語句.

ASSUME語句是設定語句,是告訴匯編器在將源代碼翻譯成機器語言時,CPU的各個段寄存器如何與妳定義的各個邏輯段相聯系.比如CS段寄存器就選了CODE代碼段.

START PROC FAR 到START ENDP表示定義了壹個子程序,類似於高級語言裏的函數和過程.這個子程序操作系統在調用時采用段間調用,妳的程序裏至少有壹個是FAR這個類型的.其他幾個子程序都由這個START來控制的.PROC就表示子程序定義開始,ENDP就表示結束,也是壹對語句括號

CALL READ語句前的三條語句完成了對數據段寄存器DS和附加段寄存器ES的初始化.這樣妳代碼裏就可以直接使用變量名來指代了.

CALL READ語句就是80X86匯編裏調用子程序的指令.這個子程序從READ PROC開始到READ ENDP結束,開頭的兩條語句是保護現場用的,然後將讀取字符保存區域的首地址給了BX,再調用DOS中斷21H的01H號功能完成鍵盤信息讀取.後面的指令類似.完成讀取後返回主程序,就是START

不好意思,時間關系,不可能都給妳解釋了,妳可以去找壹本講8086基本匯編和計算機基本數值運算的書看看,對照著就可以翻譯出來.其實不難的,不要被語句嚇倒了

  • 上一篇:如何理解強勢龍頭股(掌握這些方法,輕松抓住牛市機會)
  • 下一篇:大家暢所欲言,當jFinal遇到XSS和SQL註入怎麽處理
  • copyright 2024編程學習大全網