㈠ 假若CPU向外輸出20位地址,則它能直接訪問的存儲空間是多大如何計算
假若CPU向外輸出20位地址,則它能直接訪問的存儲空間可達1MB。
PC機在使用過程中突然斷電,RAM中存儲的信息將全部丟失(不論是SRAM還是DRAM)。外存儲器中的信息首先被調入內存中,才能被CPU處理。假若CPU向外輸出20位地址,則它能直接訪問空間可達220=1MB。
公式是:「可直接定址的物理地址空間=2^地址線的根數」後面的單位是Byte。2^20(2的20次方)=1,048,576Byte,1M=1024Bt=1024*1024Byte=1048576Byte由此可知定址空間為1M了。
(1)定址方式可訪問的存儲空間擴展閱讀:
1、立即定址(立時定址、立即操作數)
指令中直接給出了操作數,操作數緊跟在操作碼的後面,在取出指令的同時,也就取出了操作數。立即有操作數可供操作之用,所以稱為立即操作數,或立即定址。
立即定址的指令執行起來很快,CPU將數據與指令一起從存儲器取出,不必通過定址計算就獲得了操作數。立即定址也便於程序員使用。但是,因為數據和地址都是固定的,所以這種定址方式靈活性最差。
立即定址方式可用來提供常數,設置初始值等。
2、直接定址
指令中的地址碼是操作數的有效地址,用這個有效地址訪問一次存儲器便獲得操作數,這種定址方式稱為直接定址。
因為不需要任何定址計算,所以稱指令帶有操作數的有效地址的定址方式為直接定址。通常說定址的范圍就是用這個地址直接訪問存儲空間的大小,它也受到地址欄位長度的限制。
對於使用次數很少又不需要做什麼變化的地址碼,可採用直接定址方式。
3、間接定址
間接定址方式意味著指令中的地址欄位使操作數地址的地址,即操作數的地址是間接提供的,通常在指令格式中劃出一位作為直接定址或間接定址的標志位,間接定址用標志符@指出。
CPU先從存儲器中取出含有間接地址的指令,然後訪問間接地址單元,從中取出有效地址。CPU需要多執行一次訪問存儲器操作,所以間接定址比直接定址執行速度要慢。
參考資料:網路-定址概念
㈡ 51單片機的定址方式及各自對應的定址空間有哪些CPU響應中斷時,中斷入口地址各是多少
立即定址:對應著程序存儲器ROM
直接定址:對應片內數據存儲器低128B
寄存器定址:對應片數據存儲器中的特殊功能寄存器,主要是R0-R7,A,B,^
寄存器間接定址:對應數據存儲器(片內,片外)
相對定址:ROM
變址定址:ROM
位定址:片內可以位定址的寄存器及位定址區(片內RAM20-2FH)
中斷入口地址:
外部中斷0:0003H
定時計數器0:000BH
外部中斷1:0013H
定時計數器1:001BH
串口:0023H
㈢ 匯編語言中哪些定址方式訪問存儲器,哪些定址方式是訪問存儲單元
匯編一共有七種定址方式:
1,直接定址,如: mov ax,[100]
2,寄存器定址,如:mov ax,bx
3,立即數定址:如:mov ax,1000h
4,寄存器間接定址,如:mov ax,[bx]
5,寄存器相對定址,如:mov ax,,[bx+x],x為一個位元組長度或者一個字的長度
6,基址加變址定址,如:mov ax,[bx+si/di]
7,相對基址加變址定址,如:mov ax,[bx+si/di+x]
希望對你有幫助
㈣ 向高手請教89x51單片機7種定址方式的定址范圍
1、立即定址:立即數就是存放在程序存儲器中的常數,換句話說就是操作數(立即數)是包含在指令位元組中的。
如:MOV A,#20H,此時數據范圍:00H~FFH。
再如:MOV DPTR,#1000H,此時數據范圍:0000H~ffffH;
2、直接定址:
A:可以訪問內部數據存儲器RAM低128單元00~7FH
B:如果是高位則一定是特殊功能寄存器如P0,P1,SBUF,IE等等,而且也只有直接定址可以訪問特殊功能寄存器。
C:位定址空間20H~2FH
3、寄存器定址:
A:四個工作寄存器組也就是00H~1FH
B:其他特殊功能寄存器如A,B,PSW,DPTR等等
4、寄存器間接定址:
A:用@Ri可以定址內部或外部00H~FFH.
B:用@DPTR可以定址0000H到FFFFH
C:用PUSH或POP可以訪問范圍00~FFH
5、基址寄存器加變址寄存器的變址定址
A:以PC為基址范圍為256個位元組
B:以DPTR為基址范圍為64K
6、位定址:
A:20H~2FH的位定址空間
B:能被8整除的專用寄存器如P0,P1等等。
7、相對定址:
偏移量+指令單元地址,所以范圍為00H~FFH
㈤ 定址方式
定址方式(或編址方式)指的是確定本條指令的數據地址及下一條要執行的指令地址的方法。
所需的操作數由指令的地址碼部分直接給出,就稱為立即數(直接數)定址方式。
特點:
取指時,操作碼和一個操作數同時被取出,減少了訪問存儲器次數,提高了指令的執行速度。但只適用於操作數固定的情況。
計算機的中央處理器一般設置有一定數量的通用寄存器,用以存放操作數,操作數的地址或中間結果。通用寄存器的數量一般在幾個至幾十個之間,比存儲單元少很多,因此地址碼短,節省存儲空間,提高指令的執行速度,而且從寄存器中存取數據比從存儲器中存取快的多。
是最直觀的一種方式,指令的地址碼部分給出操作數在存儲器中的地址,而該指令的定址方式由操作碼表示。
有時根據指令的地址碼所取出的既不是操作數,也不是下一條要執行的指令,而是操作數的地址或指令的地址,這種方式稱為間接定址(間址)(第一次讀出操作數地址,第二次讀出操作數)。大多數計算機只允許一次間址。
間接定址又可分為寄存器間接定址和存儲器間接定址兩種。
在計算機中設置一個專用的基址寄存器,或由指令指定一個通用寄存器為基址寄存器。操作數的地址由基址寄存器的內容和指令的地址碼A相加得到,地址碼A通常被稱為位移量(disp)。
操作數的地址由指令地址碼部分給出的地址碼A和指定的變址寄存器的內容通過加法器相加得到。這是幾乎所有計算機都採用的一種定址方式。
當計算機中還有基址寄存器時,也要加上基址寄存器內容。
把程序計數器PC的內容(即當前執行指令的地址)與指令的地址碼部分給出的位移量(Disp)之和作為操作數的地址或轉移地址。
相對定址主要用於轉移指令,執行本條指令後,將轉移到(PC)+ Disp。
特點:
轉移地址不固定。
位移量可正可負,通常用補碼表示。
㈥ 匯編語言的種定址方式
所謂定址方式, 就是尋找操作數地址的方式, 在用匯編語言編程時, 數據的存放、傳送、 運算都要通過指令來完成。 編程者必須自始至終都要十分清楚操作數的位置, 以及如何將它們傳送到適當的寄存器去參與運算。每一種計算機都具有多種定址方式。定址方式的多少是反映指令系統優劣的主要指標之一。
在 MCS -51單片機指令系統中, 有以下 7種定址方式:
(1) 立即定址;
(2) 直接定址;
(3) 寄存器定址;
(4) 寄存器間接定址;
(5) 基址寄存器加變址寄存器間接定址;
(6) 相對定址;
(7) 位定址。
1. 立即定址
立即定址方式是指操作數包含在指令位元組中。 跟在指令操作碼後面的數就是參加運算的數, 該操作數稱為立即數。 立即數有一位元組和二位元組兩種可能, 例如指令:
MOV A, # 3AH
MOV DPTR, # 0DFFFH
上述兩條指令均為立即定址方式, 第一條指令的功能是將立即數 3AH送累加器A中, 第二條指令的功能是將立即數 0DFFFH送數據指針DPTR中(0DFH→DPH, 0FFH→DPL)。
2. 直接定址
在指令中直接給出操作數的地址, 這種定址方式就屬於直接定址方式。在這種方式中, 指令的操作數部分直接是操作數的地址。
在MCS -51 單片機指令系統中, 直接定址方式中可以訪問 3 種存儲器空間:
(1) 內部數據存儲器的低 128 個位元組單元(00H~7FH)。
(2) 特殊功能寄存器。 特殊功能寄存器只能用直接定址方式進行訪問。
(3) 位地址空間。
3. 寄存器定址
在該定址方式中, 參加操作的數存放在寄存器里。寄存器包括8個工作寄存器R0~R7, 累加器A, 寄存器B、數據指針DPTR和布爾處理器的位累加器Cy。
4. 寄存器間接定址
指令中給出間接定址寄存器,其內容為操作數的地址。定址內部RAM區的數據時,可使用寄存器R0、R1 (、SP)作為地址指針; 當訪問外部RAM時, 可使用R0、 R1及DPTR作為地址指針。寄存器間接定址符號為「@」
5. 基址寄存器加變址寄存器間接定址
這種定址方式用於訪問程序存儲器中的數據表格, 它以基址寄存器DPTR或PC的內容為基本地址, 加上變址寄存器A的內容作為操作數的地址, 例如: MOVC A, @A+DPTR
MOVC A, @ A+PC
JMP @A+DPTR;散轉指令
6. 相對定址
在MCS -51 指令系統中設有轉移指令, 分為直接轉移和相對轉移指令, 在相對轉移指令中採用相對定址方式。這種定址方式是以PC的內容為基本地址, 加上指令中給定的偏移量作為轉移地址。指令中給出的偏移量是一個 8 位帶符號的常數, 可正可負, 其范圍為-128~+127。
7. 位定址
該種定址方式中, 操作數是內部RAM單元中某一位的信息。
㈦ mcs-51單片機有幾種定址方式 適用於什麼地址空間
直接定址方式:操作數的地址由指令直接給出,適用於片內RAM的所有地址空間;如MOV A, 68HMOV A,PSW
寄存器定址方式:指令給出的是寄存器的編碼,操作數在編碼指定的寄存器中,適用於片內00H至1FH的32個位元組,用RO,-,R7表示,通過PSW的RS1和RSO選擇組號確定對應32個位元組中的其中8個,還有累加器A,以及乘除法指令中的A和B寄存器,位定址方式中的布爾累加器C;
MOV A, R1
MUL AB
INC DPTR
寄存器間接定址方式:指令給出的是寄存器的編碼,操作數地址在編碼指定的寄存器中,適用於片內RAM的全部空間,其中52系列中的80H至FFH只能用寄存器間接定址;如MOV A, @RO
MOV A,@R1
MOVX A, @DPTR
立即定址方式:操作數本身在指令中直接,給出適用於用8位立即數對片內RAM所有地址單元賦值,也可用16位立即數對DPTR賦值; 如
MOV A,#0E2H
MOV DPTR, #2000H
變址定址方式:以DPTR或PC作為基地址寄存器,以累加器A作為變址寄存器,將基址寄存器與變址寄存器的內容相加形成操作數的實際地址的一種定址方式,變址定址方式適用於程序存儲器ROM,僅有三條指令如下:
MOVC A, @A+DPTR
MOVC A, @A+PC
JMP @A+DPTR
位定址方式:指令中直接給出操作數所在單元的位地址,適用於片內RAM中地址20H至2FH中的16個位元組中的128個位地址空間和80H至FFH中地址中可以被8整除的所有SFR中的每個位地址空間;如
MOV C,7FH
MOV F0, C
MOV C,ACC. 7
相對定址方式:為相對轉移指令而設,指令中直接給出轉移的相對偏移量,其轉移目標在當前指令-128至+127位元組范圍內的地址空間。如
SJMP START
HERE: SJMP HERE ;等效於: SJMP $
㈧ 80c51單片機有幾種定址方式,各涉及那些存儲空間
80c51有七種定址方式:
1、立即定址,定址空間為rom;
2、直接定址,定址空間為片內ram的低128b和特殊功能寄存器;
3、寄存器定址,定址空間為a、b、dptr、cy、通用工作寄存器等;
4、寄存器間接定址,片內ram低128b、片外ram;
5、相對定址,定址空間為rom;
6、變址定址,定址空間為rom;
7、位定址,定址空間為片內ram低128b的位定址區的128個位,其位元組地址為20h~2fh;以及部分可以位定址的特殊功能寄存器。