?

匯編語言疑難辨析

2014-07-09 03:47龐新法PANGXinfa
價值工程 2014年23期
關鍵詞:匯編語言正數負數

龐新法PANG Xin-fa

(陜西省委黨??萍冀萄胁?,西安710061)

1 概述

匯編語言不同于其它高級語言,必須要求編程人員有一定的硬件基礎,如對CPU的結構、CPU與存儲器等部件的數據傳送過程必須要有基本的了解,這樣才能學好這門課程。在教學過程中,教師發現學生對高級語言編程學習積極性高,對匯編語言課程缺乏興趣,但因為課程本身指令復雜,規定繁多,再加上學習匯編指令前對CPU的相關工作過程理解不透,導致學生厭學,又由于本課程面對的低年級學生只有高級語言的基礎,習慣于高級語言的自然表達,初次接觸計算機硬件知識心理上有恐懼感,更難以適應繁雜的低級語言。本文用比較的辦法,通俗易懂的自然比喻對這門課中易混淆的,較難理解的概念予以解釋分析。

表1

2 指令性語句與偽指令語句的區別

例如:ADD AX,10+5 經過匯編變成 ADD AX,15,10+5的運算匯編階段完成,AX和15的加法運算要等到運行階段才能完成,匯編階段能實現的運行階段一定能實現,上述+運算可變為ADD AX,10;ADD AX,5兩句實現。運行階段能實現的,匯編階段不一定能實現,如ADD AX,BX+CX;程序還沒有運行,匯編階段不可能知道BX,CX的值,更談不上計算二者之和。

再如以下用漢語表示的程序,要翻譯成英語,看看偽指令語句如何指導匯編過程:

以下是黑體,2號字,居中 ;指導匯編

通知 ;翻譯

以下是宋體,3號字,首行縮進 ;指導匯編

今天下午開會…… ;翻譯

以下是楷體,4號字,右對齊 ;指導匯編

特此通知 ;翻譯

3 宏指令與子程序的區別

表2

4 子程序和中斷服務程序的區別

表3

5 CALL、INT、硬中斷的區別

表4

可以看出,INT既有CALL的特點(可預知),又有硬中斷的特點(中斷類型碼轉換成入口地址),介于二者之間,故稱INT指令為軟中斷指令(由軟件指令INT發出的中斷)。

6 =與EQU的區別

表5

7 LABEL、THIS、PTR 的區別(見表 6)

8 段地址、段內地址、物理地址的關系解析

為了說明段地址、段內地址、物理地址三者之間的關系,下面舉例說明(表7)。

表6

表7

9 SF⊕OF=1表示兩個有符號數是小于關系解析

溢出,就是放不下,一旦溢出結果一定是錯的。例如兩個瓶子容量各是5斤,一個裝了3斤水,一個裝了4斤水,理論上講,倒在一個瓶子應該是7斤,但全部倒在一個瓶子后,成了5斤,2斤溢出,不能說3+4=5,所以一旦溢出結果一定是錯的。異號相加,越加越少,原來放得下,加了之后一定放得下,故絕對不溢出。同號相加,越加越多,原來放得下,加了之后不一定放得下,故有可能溢出。若溢出OF=1,正數加正數應該是正數,應該SF=0,但若結果SF=1,正數加正數是負數,SF=1是錯的(假的符號位)。同樣道理,負數加負數應該是負數,應該SF=1,但若結果SF=0,負數加負數是正數,SF=0是錯的(假的符號位)。

表8

10 結束語

總之,匯編語言是計算機程序編寫中最經常用的一種必要程序語言,投入匯編語言領域更多的研究與開發關注也是十分必要和有益的。

[1](美)布魯姆著.編語言程序設計[M].馬朝暉,譯.北京:機械工業出版社,2006.

[2]全選悅,趙煥平.匯編語言的教學改革和思考[J].福建電腦,2008(2).

[3]鄭影,林立東,李大輝,王殿富,艾麗麗,滕艷平.基于匯編語言課程培養高素質應用型人才策略[J].高師理科學刊,2012(03).

猜你喜歡
匯編語言正數負數
高等學校計算機專業課程教學改革實踐——以匯編語言與接口技術課程為例
“正數和負數”檢測題
匯編語言與C語言的混合程序設計技術研究
提高《匯編語言程序設計》教學效率的思考與實踐
學好乘方四注意
試論匯編語言與C語言的混合程序設計技術
正數與負數(小相聲)
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合