一、實驗目的:
? ?按照規(guī)則字寫存儲器,編寫實驗程序,將N個數(shù)寫入SRAM的某段空間中,查看該存儲空間,檢測寫入是否正確。
二、實驗內容與要求:
? ? ? 按照規(guī)則字寫存儲器,編寫實驗程序,將0000H~000FH 共16個數(shù)寫入SRAM的從0000H起始的一段空間中,然后通過系統(tǒng)命令查看該存儲空間,檢測寫入數(shù)據是否正確。
三、實驗步驟:
1.連接線路。
2.編寫實驗程序,經編譯、鏈接無誤后裝入系統(tǒng)。
3.先運行程序,待程序運行停止。
4.通過D命令查看寫入存儲器中的數(shù)據,輸入D8000: 0000并回車。
這里可以修改一下程序,將其改成其他的值,在memory中的Address輸入查看數(shù)據。
5.改變實驗程序,按非規(guī)則字寫存儲器。給SI寄存器賦奇地址數(shù),MOV SI,0001H即為非規(guī)則字寫存儲器。
6.改變實驗程序,按字節(jié)方式寫存儲器。
四、電路連接
五、代碼設計與分析
這里只挑重要的代碼進行分析。完整代碼見后。
1.按非規(guī)則字寫存儲器
規(guī)則字是低位地址為奇數(shù),否者是非規(guī)則字,非規(guī)則字讀取需要兩個周期,而規(guī)則字只需要一個周期。一個字在存儲器中按字節(jié)存儲,若低地址為偶數(shù),高地址為奇數(shù),則為規(guī)則字。相反,若低地址為奇數(shù),高地址為偶數(shù),則為非規(guī)則字。
AA0: MOV SI,0001H;數(shù)據首地址8000:0001 si是偏移地址,01是非規(guī)則字
MOV CX, 0010H;CX是計數(shù)存儲器10H=16D
MOV AX,0000H;AX從0開始
2.按字節(jié)寫存儲器
字節(jié)(Byte)是計算機信息技術用于計量存儲容量和傳輸容量的一種計量單位,一個字節(jié)等于8位二進制數(shù),在UTF-8編碼中,一個英文字符等于一個字節(jié)。
AA1:MOV [SI], AX
INC AX;
INC SI;SI只加一個字節(jié)
LOOP AA1;CX不等于0需要循環(huán)
六、實驗現(xiàn)象
(1)查看寫入存儲器中的數(shù)據,可以看到存儲器中的數(shù)據,為0000、0001、0002、.、000E共16個字,結果如下:
圖4 按規(guī)則字寫存儲器
可見各個數(shù)被存放在偶地址單元中。
(2)按非規(guī)則字寫存儲器,結果如下:
圖5 按非規(guī)則字寫存儲器
可見各個數(shù)被存放在奇地址單元中。
(3)按字節(jié)方式寫存儲器,結果如下:
圖6 按字節(jié)方式寫存儲器
可見00、01…0F已緊湊地放到了每個存儲單元。
七、源代碼
1)擴展存儲器實驗,訪問16位存儲器,將16個數(shù)寫入
SSTACK SEGMENT STACK
DW 32 DUP(?)
SSTACK ENDS
CODE SEGMENT
START PROC FAR
ASSUME CS:CODE
MOV AX, 9000H ; 存儲器擴展空間段地址
MOV DS, AX
AA0: MOV SI, 0000H ; 數(shù)據首地址
MOV CX, 0010H
MOV AX, 0000H
AA1: MOV [SI], AX
INC AX
INC SI
INC SI
LOOP AA1
MOV AX,4C00H
INT 21H ;程序終止
START ENDP
CODE ENDS
END START
2.改變實驗程序,按非規(guī)則字寫存儲器文章來源:http://www.zghlxwxcb.cn/news/detail-407712.html
SSTACK SEGMENT STACK
DW 32 DUP(?)
SSTACK ENDS
CODE SEGMENT
START PROC FAR
ASSUME CS:CODE
MOV AX, 9000H ; 存儲器擴展空間段地址
MOV DS, AX
AA0: MOV SI, 0001H ; 數(shù)據首地址
MOV CX, 0010H
MOV AX, 0000H
AA1: MOV [SI], AX
INC AX
INC SI
INC SI
LOOP AA1
MOV AX,4C00H
INT 21H ;程序終止
START ENDP
CODE ENDS
END START
3.改變實驗程序,按字節(jié)方式寫存儲器文章來源地址http://www.zghlxwxcb.cn/news/detail-407712.html
SSTACK SEGMENT STACK
DW 32 DUP(?)
SSTACK ENDS
CODE SEGMENT
START PROC FAR
ASSUME CS:CODE
MOV AX, 8000H ; 存儲器擴展空間段地址
MOV DS, AX
AA0: MOV SI, 0000H ; 數(shù)據首地址
MOV CX, 0010H
MOV AX, 0000H
AA1: MOV [SI], AX
INC AX
INC SI
LOOP AA1
MOV AX,4C00H
INT 21H ;程序終止
START ENDP
CODE ENDS
END START
到了這里,關于靜態(tài)存儲器擴展實驗的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網!