根據(jù)教育部考試中心頒布的全國計算機等級考試大綱,三級PC技術(shù)考試的基本要求有:熟悉80X86微處理器的結(jié)構(gòu)、原理及其宏匯編語言程序設(shè)計。上機考試操作語言為:匯編語言。筆試考試內(nèi)容之一——微處理器與匯編語言程序設(shè)計部分的重點是:80X86系列微處理器指令系統(tǒng),指令格式與編碼,尋址方式,指令系統(tǒng)。
從上可知匯編語言在三級PC技術(shù)考試中的重要性。熟悉并靈活地應(yīng)用機器所采用的各種尋址方式,對匯編語言程序設(shè)計是至關(guān)重要的。指令系統(tǒng)常常要用到尋址方式,主要是要弄懂具體各條指令的源操作數(shù)和目的操作數(shù)放在什么地方,也就是操作數(shù)的尋址方式。在具體應(yīng)用編程時,如果弄不懂尋址方式就無法下手?梢哉f尋址方式是學(xué)習(xí)匯編這門低級語言的入場券,但尋址方式往往也是學(xué)習(xí)過程中的瓶頸問題。
下面和大家談?wù)勅绾握莆?0X86系列微處理器(以Intel8086/8088為例)的尋址方式。
在學(xué)習(xí)Intel8086/8088微處理器中尋址方式時,涉及的尋址概念有七個:寄存器尋址、立即尋址、直接尋址、寄存器間接尋址、寄存器相對尋址、基址加變址尋址、相對基址加變址尋址。其中寄存器尋址、立即尋址、直接尋址相對來說好理解,而寄存器間接尋址、寄存器相對尋址、基址加變址尋址、相對基址加變址尋址這四種尋址方式之間有許多密切聯(lián)系之處,極其容易混淆。如何找出它們之間的區(qū)別和聯(lián)系,從而形成正確的概念呢?
我們知道,分析、比較與綜合是思維的基本過程,也是重要的邏輯思維方法。根據(jù)匯編抽象的特點,在進行概念學(xué)習(xí)時,借助比較的方法提高我們的辨析能力,最后綜合應(yīng)用所學(xué)到的概念來編程解決實際問題。
下面應(yīng)用比較分析法來談?wù)勥@七種尋址方式的學(xué)習(xí),并結(jié)合三級PC技術(shù)的考題以幫助大家理解。
一、寄存器尋址
指令所指明的寄存器就是操作數(shù)的存放地址。
匯編格式:R (R是寄存器名)
功能:寄存器R的內(nèi)容是操作數(shù)。
寄存器尋址的尋址方式如右圖所示:
對寄存器尋址方式,我們要牢牢掌握操作數(shù)存放在指令規(guī)定的寄存器中,不需訪問內(nèi)存,工作效率高。對于16位操作數(shù),寄存器可以是AX、BX、CX、DX、SI、DI、SP或BP;而對8位操作數(shù),寄存器可以是AH、AL、BH、BL、CH、CL、DH或DL。
例1. MOV AX, BX
執(zhí)行過程如下圖所示:
分析:源操作數(shù)BX和目的操作數(shù)AX都是寄存器尋址。
執(zhí)行前:(AX)=8A9DH (BX)=1234H
執(zhí) 行:(BX)→AX
執(zhí)行后:(AX)=1234H (BX)=1234H
由于寄存器是CPU的一部分,因此采用寄存器尋址方式可以提高工作效率。特別是累加器AX,若用它存放運算結(jié)果,則指令的執(zhí)行時間要短些。對于那些需要經(jīng)常存取的操作數(shù),采用寄存器尋址方式較為合適。