實驗四 8237DMA控制器實驗

2021-06-05 05:10:50 字數 1456 閱讀 4979

實驗內容:

編寫程式,使用dma通道進行ram——ram的通道傳送。將6264中0000:8000h—0000:80ff單元的資料傳送至0000:8200h—0000:82ffh單元中。

本實驗中8237實驗位址從x20h—x2fh

實驗**:

code	segment

assume

;在 0000:8000h——0000:80ffh間迴圈儲存a——z,以便驗證結果

mov ax,0000h

mov es,ax

mov bx,8000h

mov cx,100h

mov dl,40h

rep1:

inc dl

mov es:[bx],dl

inc bx

cmp dl,5ah

jnz ss1

mov dl,40h

ss1:

loop rep1

;dma配置部分

mov al,04h

out 28h,al ;禁止8237a工作

out 2dh,al ;復位命令,使先後觸發器清0

mov al,0ch ;送遮蔽字——00001100充許通道0,1

out 2ah,al

mov al,00h ;通道0起始位址——8000h,先送低8位後送高8位

out 20h,al

mov al,80h

out 20h,al

mov ax,0ffh ;通道0計數——00ffh,同樣先送低8位後送高8位

out 21h,al

mov al,00h

out 21h,al

mov al,88h ;通道0工作方式——10001000,資料塊讀傳送

out 2bh,al

mov al,00h ;通道1起始位址8200h——依然先送低8位後送高8位

out 22h,al

mov al,82h

out 22h,al

mov ax,0ffh ;通道1計數——00ffh,先送低8位後送高8位

out 23h,al

mov al,00h

out 23h,al

mov al,85h ;通道1工作方式——10000101,資料塊寫操作

out 2bh,al

mov al,01h ;寫命令字——00000001,允許dma控制,,允許mem-to-mem

out 28h,al

mov al,100b ;寫請求字,啟動通道0

out 29h,al

code ends

end start

嵌入式實驗 之 DMA控制器實驗

實驗環境 實驗步驟 思考題 附錄 dma 庫函式 dma direct memory access 直接儲存器訪問,是一種可以大大減輕cpu 工作量的資料訪問方式,因而被廣泛地使用。外設工作的時候,除了轉移資料,實質上是不需要核心進行干預的,而如果資料轉移的工作現在也交給了另乙個外設,那麼在該外設進...

ThinkPHP 控制器(四)

thinkphp 提供了一組常量來判斷當前請求是否是 get post 等。通過判斷請求處理不同的業務邏輯。常量 含義 is get 判斷是否 get 提交請求 is post 判斷是否 post 提交請求 is put 判斷是否 put 提交請求 is delte 判斷是否 delete 提交請求...

ARM PL330 DMA控制器開發(二)

四 s5pc100 pl330測試例子 下面的 目標要實現記憶體間的資料拷貝。對於s5pc100,有3個dma控制器。要實現記憶體間的dma訪問,需要使用dma mem。如下圖所示為dmac控制流程。圖dmac控制流程 配合上面的流程圖,可以編寫 如下。1 相關的巨集定義。define max 10...