微機實驗的彙編程式設計總結

2021-06-15 20:18:11 字數 1506 閱讀 4784

1)顯示字元

mov ah,01h

int 10h  //顯示al對應的字元

2)顯示字串

mov ah,06h

int 10h  //  顯示ds:bx=字串首址 

3)從鍵盤讀字元(查詢方式,而不是中斷等待)

mov ah,00h

int 16h  //輸入的字元放在  al中

3)取鍵盤緩衝區狀態

mov ah,01h

int 16h  // al=字元碼,zf=0

4)程式正常退出:

可以為:

mov ah,4ch

int 21h

或者為push ds

mov ax,00h

push ax

....//程式**

ret退出

5)今天做的是8255a並行介面應用實驗,最後的**為:

stack segment stack

dw 64 dup(?)

stack ends

code segment

assume cs:code

start:

//下邊三行是為了ret返回用的,如果沒有呼叫其他函式,這三行也可以不寫

push ds

mov ax,00h 

push ax

mov al 82h   //即:1000 0010   表示a輸出,b輸入(8255a晶元)

out 63h,al //這裡設定為 控制埠的位址為63h

a1:in al,61h; //設定b為輸入埠位址

out 60h,al;//設定a為輸出埠位址

mov ah,00h//也可以是mov ah,01h,表示查詢那個鍵(pc下的鍵盤鍵)被按下

int 16h

cmp al,51h //這裡51h是大寫"q",的ascii碼,千萬不要用'q',系統不支援的,我就這裡浪費了很多時間

jnz  a1

retcode ends

end start

stack segment stack

dw 64 dup(?)

stack ends

code segment

assume cs:code

start:

push ds;

+微機實驗書p100

mov cx,000ah

a1: cmp cx,000h

jnz a2

in al,21h

or al,80h

out 21h ,al

stihlt

a2: sti

jmp a1

irq7:

mov ax,0137;//即是  ah=01, al=37='7'

int 10h

dec cx

mov al,20h ;//發中斷結束命令

out 20h ,al

cliiret

code ends

end start

微機匯程式設計序

又是自學的一學期,呵呵。學到最後也就知道零星半點指令吧,複雜的程式可能還是不怎麼會寫,熟練當然也不敵c了,但是彙編之於嵌入式,往上走肯定少不了遇到,學好還是必要的!此次僅作入門吧。今日所學,明日之用。1 統計正負零的個數 datas segment array db 1,2,1,0,2,0,2,4,...

南郵微機介面彙編實驗2

第二次實驗,名稱 使用者登陸驗證程式的設計 實驗要求 1 執行程式後,介面首先出現自己的學號,例如 b18060701 2 在學號下方輸入登入密碼,密碼長度不超過30個字元。密碼內容不能顯示在螢幕上,要求用字元 替代。3 驗證輸入密碼與事先設定的密碼是否相同,如果密碼正確,給出提示 ok 程式結束 ...

微機原理與彙編實驗 輸出帶顏色的字元

如下 datas segment 此處輸入資料段 datas ends stacks segment 此處輸入堆疊段 stacks ends codes segment assume cs codes,ds datas,ss stacks start mov ax,datas mov ds,ax 此...