8253 初始化程式設計問題,為什麼用DX指向控制埠

發布 科技 2024-06-02
15個回答
  1. 匿名使用者2024-01-29

    MOV AL,00110111B -8253控制字。

    mov dx,3f6h (為什麼用dx指向控制埠) - 控制字暫存器位址 其實不需要發dx去改變暫存器,就像計數是用來cx的,習慣了這個指令,就是把3f6h寫到暫存器裡而已。

    out dx,al(輸出語句 out 是否先傳送 al,將值寫入 al? 你從你問的方式知道你不明白。

    這句話的理解方法是將 al 暫存器的控制字 00110111b 寫入控制字暫存器 dx。

    簡單來說,第一句話是寫控制字,什麼是控制字,可以翻書,第二句話是把控制字暫存器位址發到暫存器dx,最後一句是把控制字寫進控制字暫存器,這三句話可以說是8253 8253 8255的基礎。

    順便說一句,3f0h、3f2h 和 3f4h 和 3f6h 四個位址表示位址匯流排連線到 a1 和 a2,因為在 000、010、100、110 的末尾

    然後帶BS下樓你寫的是神馬,騙人可恥,驢頭不在馬嘴裡。

  2. 匿名使用者2024-01-28

    8253是計算機的定時器外設介面晶元,8253讀、寫、控制,使用的指令有進、出,1、當埠位址為8位時,可以直接使用埠位址和al進行操作,如:

    mov al,10h

    out 80h,al

    mov a,10h

    mov dx,388h

    out dx,al

  3. 匿名使用者2024-01-27

    code segment

    assume cs:code

    start: mov al,90h ;埠模式 0,輸入埠。

    B 埠模式 0,輸出埠。

    mov dx,0ff2bh;0ff28h 是給我們的。

    試驗箱 8255A

    控制埠位址;

    out dx,al

    l1: mov dx,0ff228h;0ff28 是埠 A 的位址。

    in al,dx

    test al,01h;

    jnz red

    test al,02h

    jnz yell

    test al,04h

    jnz gree

    test al,08h

    jnz blue

    jmp l1

    red: mov dx,0ff29h;埠 B 的位址。

    mov al,0feh

    out dx,al

    jmp l1

    yell: mov dx,0ff29h;埠 B 的位址。

    mov al,0fdh

    out dx,al

    jmp l1

    free: mov dx,0ff29h;埠 B 的位址。

    mov al,0fbh

    out dx,al

    jmp l1

    blue: mov dx,0ff29h;埠 B 的位址。

    mov al,0f7h

    out dx,al

    jmp l1

    code ends

    end start

    如果你還沒有解決你的問題,你可以加我嗨。

  4. 匿名使用者2024-01-26

    根據題目要求,8253的命令控制字應為:101101104000為十進位數,換算成十六進製0fa0h,計數的初始值為4000 根據二進位計數,表示在編寫命令時,程式是用二進位編寫的

    mov al,10110110b

    out 43h,al

    mov al,a0h

    out 42h,al

    mov al,0fh

    out 42h,al

    如果說按 BCD 程式碼計數,則命令字為10100111,程式更改為:

    mov al,10100111b

    out 43h,al

    mov al,40h

    out 42h,al

  5. 匿名使用者2024-01-25

    4000,這是十進位。

    首先,設定控制字,設定為寫入兩個位元組的初始值,並以 BCD 程式碼的形式寫入。

    然後分別寫:40h,00h,你可以做到。

  6. 匿名使用者2024-01-24

    以下是一些示例:

    埠8253的位址為180H 183H,2MHz時鐘脈衝由CLK1輸入,需要100kHz方波的輸出,並寫入初始化程式。

    答:計數的初始值=輸入脈衝頻率 輸出方波頻率=2MHz 100kHz=20D=14h

    通道1,只讀寫低位元組,模式3,二進位數,控制字為:01 01 011 0 b

    初始化步驟如下:

    mov al, 01010110b ;工作模式控制字寫入

    mov dx, 183h ;8253 控制埠的位址饋入 DX

    out dx, al ;將儲存在 AL 中的控制字寫入 8253 控制埠。

    mov al, 14h ;計數的初始值被輸入到 al

    mov dx, 181h ;8253 通道 1 位址饋入 DX

    out dx, al ;儲存在 al 中的初始計數值將寫入通道 1 的低位元組。

  7. 匿名使用者2024-01-23

    回答第乙個問題:

    8253 埠位址。

    f8h:計數器 0

    F9H:計數器 1

    FAH:計數器 2

    FBH:控制埠。

    8253 初始化控制字必須寫入控制埠,控制字 d7、d6,並選擇要寫入的計數器:

    00--- 選擇計數器 0

    01--- 選擇計數器1

    10--- 選擇計數器 2

    回答第二個問題:

    80x86彙編器不能直接分配給帶有IO的埠,並且資料輸入或輸出必須通過AX(16位資料)或AL(8位資料),例如不能直接輸出0fbh,33

  8. 匿名使用者2024-01-22

    1 所有輸入時鐘週期 = 1 1MHz = 1 s,輸出脈衝週期 = 1 2kHz = 500 s,計數預載入值 = 500 s,1 s = 500,計數過程從 500 減到 0 1

    計數器1模式2,將計數值讀寫到低8位,然後寫入高8位,BCD碼計數控制字=01110101b,8253初始化程式如下:

    mov al, 01110101b ;控制字饋送 almov dx, 36bh ; 8253 控制埠位址輸出 DX, AL ; 控制字被傳送到 8253 控制埠,並已初始化。

    mov al, 00h ;計數值 8 位 mov dx, 369h ; T1 計數暫存器位址輸出 DX, AL ; 寫入計數預設值 8 位下移動 al,先 05h; 計數值 低 高 出 dx, al ; 重寫計數預設值高出 8 位。

  9. 匿名使用者2024-01-21

    設 8253 的埠位址分別為 340h 和 343h(計數器 0 的位址為 340h,控制埠的位址為 343h)。 已知計數器0的CLK0輸入時鐘訊號為1MHz,out0連續輸出50kHz方波,請填空完成以下程式段,計數方法為二進位。

    計數器初始值=1MHz,50khz=20=14h輸出方波模式3011moval,00010110;工作模式控制字中不相關位的預設值為0movdx,343houtdx,al; 書寫控制字movdx,340hmovax,0014h; 計算初始值 outdx,ax; 寫入計數的初始值。

    輸入時鐘週期 = 1 1MHz = 1 s,輸出脈衝週期 = 1 2kHz = 500 s,計數預載入值 = 500 s 1 s = 500,計數過程遞減 1,從 500 遞減到 0

    計數器 1 模式 2,將計數值讀寫到低 8 位,然後寫入高 8 位,對 BCD 碼進行計數。

    控制字 =01110101b,8253 初始化過程,如下所示:

    mov al, 01110101b ;控制單詞被輸入到 al

    mov dx, 36bh ;8253 控制埠位址。

    out dx, al ;控制字被傳送到 8253 控制埠,並已初始化。

    mov al, 00h ;計數值低 8 位。

    mov dx, 369h ;T1 計數暫存器位址。

    out dx, al ;計數的預載入值首先低 8 位。

    mov al, 05h ;計數值有低和高。

    out dx, al ;重寫計數預設值高出 8 位。

  10. 匿名使用者2024-01-20

    控制詞=10111000,你們每個人的意思解釋如下:

    d7d6 = 10,計數器 2

    d5d4 = 11,則計數的初始值首先寫入低位元組,然後再寫入高位元組。

    d3d2d1=100,工作模式4

    d0 = 0,計數值為二進位數。

    初始化步驟如下:

    mov dx,46fh;控制埠位址。

    mov al,10111000b ;控制詞。

    out dx,al ;控制字寫入 8253 控制埠。

    mov dx,46eh ;通道 2 位址。

    mov ax,0a60h ;初始值計算初始值。

    out dx,al ;先寫計算低位元組的初始值。

    mov al,ah ;

    out dx,al ;Rewrite 對高位元組的初始值進行計數。

  11. 匿名使用者2024-01-19

    mov dx,1203h

    mov al,77h ;01 11 011 1out dx,al

    mov dx,1201h

    mov al,12h

    out dx,al

    mov al,34h

    out dx,al

    1 選擇了哪個計數器?

    計數器 1。 2 你選擇了什麼樣的工作?

    方式 3. 3 計數的初始值是多少?

    4 埠位址範圍是多少?

    1200h~1203h

    5 在應用程式中初始化時如何計算初始計數值?

  12. 匿名使用者2024-01-18

    1.在 8086 CPU 中寫下每個中斷源的名稱及其生成條件。

    9.8086 CPU 內部中斷的特點是什麼?

    10.如果 8259A 中斷控制器的以下暫存器內容均為 10h,請註明每個暫存器內容的意義:

    中斷請求暫存器 (IRR) = 10h

    中斷遮蔽暫存器 (IMR) = 10h

    中斷服務暫存器 (ISR) = 10h

    4.比較中斷模式和DMA模式之間的主要異同,並指出它們各自應用的性質。

    5.請描述程式查詢方法和中斷方法的特點。

    6.本文簡要介紹了中斷控制器 8259 中 IRR、IMR 和 ISR 三個暫存器的功能。

    何時以及在什麼條件下可以響應外部 intr 中斷請求,中斷向量在記憶體中的位置? 向量表的內容是什麼? 8086換檔控制如何中斷服務程式?

    8.嘗試比較指令中斷和子程式呼叫之間的異同。

    9.8255A 工作在模式 2 並使用中斷傳輸,CPU 如何區分輸入中斷和輸出中斷?

  13. 匿名使用者2024-01-17

    將其劃分為子問題並提出問題。

  14. 匿名使用者2024-01-16

    讓我們去組裝你的電腦吧! 很多大神都會給你乙個非常詳細的解釋!

  15. 匿名使用者2024-01-15

    偏方**。

    用一塊新鮮多汁的仙人掌,去除皮刺,像泥一樣搗碎,將蛋清充分混合,塗抹在患處。 每天更換一次,持續 2 至 3 天**。 這是農村地區最常見的流行性腮腺炎治療方法,效果很好。

    仙人掌有淡淡的清涼味,能起到清熱解毒、消腫、止痛的作用。

    用蛇皮(龍一)炒雞蛋,不要放鹽,一日1次,連續3天。

    中醫**。 清熱解毒、消結、消腫的中藥,如班蘭根、西梅、蒲公英等湯水。

    取馬齒莧洗淨適量,瀝乾水分,搗碎,塗抹於患處。 每天更換 1 次。

    豆腐30克,綠豆6克,冰糖50克,用水煎,每日1劑,3天。

相關回答
19個回答2024-06-02

這是用於執行例項化類時執行的處理的建構函式。 >>>More

17個回答2024-06-02

這通常是由軟體引起的,比如什麼樣的病毒感染,系統檔案沒有被刪除等等。 >>>More

6個回答2024-06-02

首先,看看提示的程式是什麼,如果解除安裝並重新安裝,則可能是該程式有問題。 如果啟動時出現提示,則可以刪除此程式的啟動啟動。 如果你沒有發現或提示不是程式是系統程序,你可以回想一下,當你遇到這種故障時,你有什麼程式軟體、外掛程式、補丁或驅動,如果要先把它們全部解除安裝(如果是開啟遊戲時的提示,可能是遊戲本身有問題, 以及遊戲與您的系統不相容,顯示卡驅動程式不合適等)。 >>>More

10個回答2024-06-02

這些是您絕對應該了解的基本概念:

char a[12];定義了乙個字元陣列,陣列名稱是 a,在本例中,a 是指標,它是乙個常量型別,其值在陣列的整個生命週期內是不可變的。 >>>More

24個回答2024-06-02

深信不疑,這個問題被放在體育頻道上??