丁香婷婷网,黄色av网站裸体无码www,亚洲午夜无码精品一级毛片,国产一区二区免费播放

現(xiàn)在位置:范文先生網(wǎng)>理工論文>計算機論文>淺析語言中尋址方式的區(qū)別

淺析語言中尋址方式的區(qū)別

時間:2023-02-11 10:13:14 計算機論文 我要投稿
  • 相關(guān)推薦

淺析匯編語言中尋址方式的區(qū)別

  淺析匯編語言中尋址方式的區(qū)別  
  王傳俊
  【摘要】尋址方式是匯編語言中的一個重要內(nèi)容,是學習編程的基礎,同時也是該門課程的一個學習難點。本文通過以Inte18086CPU為例,使用分析比較的方法闡述了各尋址方式間的區(qū)別。
  【關(guān)鍵詞】匯編語言 尋址方式 有效地址 物理地址
  在計算機應用技術(shù)的發(fā)展過程中,匯編語言是一座連接軟件和硬件的橋梁,也是計算機能夠提供給用戶最快而又最有效的語言。
  匯編語言不同于用O,1數(shù)字表示的機器語言,它是用人們熟悉的英文縮寫字符表示相應的操作碼,用符號或數(shù)值表示地址和操作數(shù)。因此,匯編語言為程序的編寫、閱讀和修改提供了方便。但由于匯編語言仍是一種面向機器的語言,所以在進行程序設計時必須考慮到機器的指令系統(tǒng)、尋址方式及存儲設備的設置和功能,而熟悉并靈活地應用機器所采用的各種尋址方式,是運用匯編語言進行程序設計的根本。而一個指令系統(tǒng)具有哪幾種尋址方式,是否為編寫程序提供方便,是指令系統(tǒng)設計的關(guān)鍵,同時也是初學者學習匯編語言的難點。
  在教學過程中,通常選用Inte18086CPU的PC機為基礎機型來組織教學。Inte18086提供了九類尋址方式,它們分別是立即尋址、寄存器尋址、寄存器間接尋址、直接尋址、變址尋址、基址變址尋址、串尋址、端口尋址和隱含尋址。
  由于Inte18086中的尋址方式有相似之處,極易混淆。在教學過程中,應使學生抓住各種尋址方式的特點,找出它們之間的區(qū)別和聯(lián)系,從而形成正確的概念。
  什么是尋址方式呢?這是首先要明確的概念。一個指令是由操作碼和操作數(shù)兩部分組成的。操作數(shù)在存儲器中存放的位置,稱為操作數(shù)地址。獲得操作數(shù)地址的方式,就稱為操作數(shù)地址的尋址方式,簡稱尋址方式。
  在尋址過程中,操作數(shù)的存放位置決定著尋址的方式。在匯編語言的學習過程中,區(qū)分“存放位置”是理解尋址方式的前提。因此,在學習之前應使學生理解寄存器和存儲器的不同。
  寄存器位于CPU內(nèi)部,它的存取速度比存儲器要快得多。在計算機的運算過程中寄存器主要用來存放運算過程中的各種信息,包括操作數(shù)地址,操作數(shù)和運算的中間結(jié)果。
  存儲器是由許多存儲單元組成的,每個單元有唯一確定的地址。它是計算機的記憶場所,能把計算和處理的數(shù)據(jù)及程序存入計算機,使計算機自主工作,免受其它因素的干擾。
  在指令中,辨別操作數(shù)是存放在寄存器還是存儲器中最簡單的方法就是看這個操作數(shù)的書寫有無[]。如果有[],則操作數(shù)一定是存儲器操作數(shù),即操作數(shù)存放在存儲器中,而存儲器操作數(shù)所在的存儲器地址就是該操作數(shù)的物理地址。若無[],則操作數(shù)的存放分兩種情況:一是在指令中操作數(shù)以立即數(shù)的形式給出,如3500H,則該操作數(shù)的尋址方式為立即尋址方式;二是操作數(shù)以通用寄存器形式給出,如AX,則該操作數(shù)的尋址方式為寄存器尋址方式。
  立即尋址和寄存器尋址的相同之處在于都不需要訪問內(nèi)存,工作效率高。但立即尋址方式主要用來為存儲單元或寄存器賦初值,如:MOVAX,2043H這條指令中的源操作數(shù)2043H以立即數(shù)形式給出,與操作碼一起放在代碼段區(qū)域中。而寄存器尋址方式的操作數(shù)放在一個通用寄存器中,即AX、BX、cx、DX、BP、sP、SI、DI中的任意一個。如:MAXAX,cx這條指令中的源操作數(shù)存放在cx中。
  直接尋址方式和前兩種尋址方式的區(qū)別是:操作數(shù)存放在存儲器中,16位有效地址直接包含在指令中。它的物理地址是由指令中直接給出的16位有效地址與數(shù)據(jù)段寄存器DS向高位移動4位后相加得到的。如:MOVAX,[2000H]中源操作數(shù)的16位有效地址2000H直接出現(xiàn)在指令中,它的物理地址=DS*10H+2000H。
  寄存器間接尋址、變址尋址、基址變址尋址這三種尋址方式的操作數(shù)都存放在內(nèi)存儲器中,而要訪問內(nèi)存中存放操作數(shù)的存儲單元,就需要知道存儲單元在內(nèi)存儲器中的有效地址。在Inte18086中,用來存放有效地址的寄存器只有四個,分別是DI、SI、BP和BX,即在指令中只有這四個寄存器可以放在[]中,作為尋址寄存器。四種尋址方式的有效地址就是通過這四個寄存器以不同尋址方式而得到的。
  寄存器間接尋址方式的操作數(shù)的有效地址只能由四個寄存器中的一個存放。以DI、SI或BX間接尋址時,操作數(shù)隱含在存儲器的數(shù)據(jù)段區(qū)域中,操作數(shù)的地址用數(shù)據(jù)段寄存器DS內(nèi)容左移4位加上DI、SI或BX中的16位有效地址獲得。如:MOVAX,[BX]中源操作數(shù)的有效地址為BX內(nèi)容,它的物理地址=DS*10H+(BX)。以BP間接尋址時操作數(shù)隱含在存儲器的對棧段區(qū)域中,操作數(shù)的地址用堆棧段寄存器ss內(nèi)容左移4位加上BP中的16位有效地址獲得。若指令中標明是段超越的,則操作數(shù)的地址用段前綴寄存器內(nèi)容左移4位加上BP中的16位有效地址獲得。
  變址尋址方式的操作數(shù)有效地址由變址寄存器(DI、SI、BP、BX)內(nèi)容和指令中給定的8位或16位位移量組成。與寄存器間接尋址方式相比多了位移量。如:MOVAX,disp[DI]中有效地址為disp+(DI),物理地址=DS*lOH+disp+(DI)。在基址變址尋址方式中,將SI或DI稱為變址寄存器,將BP或BX稱為基址寄存器,在使用時只能同時使用一個變址寄存器和一個基址寄存器。該尋址方式中的操作數(shù)有效地址=(SI)+(BX)。如:MOVAX,[SI][BX],物理地址=DS*10H+(SI)+(BX)。
  在以上六種尋址方式中,物理地址只與存放在內(nèi)存儲器中的操作數(shù)有關(guān),而這種操作數(shù)在指令格式中最大的特點就是帶有[],而其它操作數(shù)的存取都與內(nèi)存無關(guān),因而也就不涉及物理地址。
  串尋址方式用于字符串的操作,使用隱含的變址寄存器SI和DI尋址。源串操作數(shù)用SI尋址,目的串操作數(shù)用DI尋址,在指令執(zhí)行過程中根據(jù)標志寄存器的DF標志位,自動修改SI和DI內(nèi)容,以給定指向下一個操作數(shù)的地址,完成各種對字符串的操作。串尋址方式的特征主要表現(xiàn)在操作碼上,通常串尋址方式的操作碼是一般操作碼后加S(string字符串的縮寫),以區(qū)別與其它尋址方式的不同。如:MOV實現(xiàn)傳送指令,MOVSB則實現(xiàn)字符串的字節(jié)傳送。
  端口尋址方式用于CPU尋址外設端口。并由8位或16位(存放在寄存器DX中)立即數(shù)構(gòu)成端口地址。該尋址方式只有兩個操作碼:OUT(輸出)和IN(輸入)。需要注意的是輸出指由CPU輸出至端口地址,輸入則指端口地址輸入到CPU中。隱含尋址方式是指在Inte18086中,有些指令沒有給出操作數(shù),但卻隱含著對固定寄存器的操作。如:AAA隱含對AL操作,LES隱含對ES操作。
  這三種是具有特殊功能的尋址方式,理解了其各自的操作對象及操作碼的特征,那么掌握起來就很容易了。
  通過對這幾種尋址方式的分析比較,將抽象且較難理解的尋址方式具體化、形象化,這對今后的指令系統(tǒng)和程序設計學習會有很大的幫助。
  【參考文獻】
  1蘇春莉:微機原理課程教學的實踐與探討[J],電腦知識與技術(shù),2009,(24)
  2陳佳:尋址方式教學方法的研究與研討[J],科技技術(shù),2009,(16)
  3郭旭平:匯編語言尋址方式[J],機械管理開發(fā),2008,(17)
  【組稿編輯:包桂英】
 。ㄗ髡邌挝唬265500山東省煙臺市煙臺汽車工程職業(yè)學院)

【淺析語言中尋址方式的區(qū)別】相關(guān)文章:

淺析雇傭與承攬的區(qū)別08-05

淺析音樂教學德育方式研究08-24

工傷與雇傭損害賠償區(qū)別之淺析08-05

工傷與雇傭損害賠償區(qū)別之淺析08-05

淺析企業(yè)新的管理方式 知識管理05-07

淺析企業(yè)新的管理方式 知識管理05-07

淺析處理征地糾紛的法律方式及相關(guān)事項08-05

淺析企業(yè)新的管理方式——知識管理08-07

淺析高中化學教學實效性的提高方式08-24