安裝乙個新的int 9中斷例程 功能:按下a鍵後,除非不鬆開,如果鬆開,就顯示滿螢幕的a,其他鍵照常處理
assume cs:code
stack segment
db 128 dup(0)
stack ends
code segment
start: mov ax,stack
mov ss,ax
mov sp,128
push cs
pop ds
mov si,offset ni9
mov ax,0
mov es,ax
mov di,204h
mov cx,offset ni9e - offset ni9
cldrep movsb
push es:[9*4]
pop es:[200h]
push es:[9*4+2]
pop es:[202h]
climov word ptr es:[9*4],204h
mov word ptr es:[9*4+2],0
stimov ax,4c00h
int 21h
ni9: push ax
push es
push bx
push cx
mov bx,0
mov es,bx
pushf ; call bios origin int9
call dword ptr es:[200h]
in al,60h
cmp al,9eh ; 如果不是斷碼就不顯示
jne ni9r
mov bx,0b800h
mov es,bx
mov bx,0
mov cx,2000 ; 一頁2000個字元
lp: mov byte ptr es:[bx],41h
add bx,2
loop lp
ni9r: pop cx
pop bx
pop es
pop ax
iret
ni9e: nop
code ends
end start
原文:王爽 《組合語言》 實驗 15 組合語言 《組合語言》王爽 實驗一
從 1000 0 開始寫入命令 a 1000 0 mov ax,4e20 add ax,1416 mov bx,2000 add ax,bx mov bx,ax add ax,bx mov ax,001a mov bx,0026 add al,bl add ah,bl add bh,al mov a...
組合語言 王爽 實驗4
這學期在學彙編,沒怎麼自己動手程式設計過,結果到了中期編不出程式來,實在太尷尬了 特此來補各個實驗。4 11 0 200 0 20b 為什麼等同於 0020 0 0020b?0 200 0x16h 200 00200h 所以拆分成不同的形式即可轉換 assume cs code code segme...
《組合語言》 王爽 實驗11
題 編寫乙個子程式,將包含任意字元,以0結尾的字串中的小寫字母轉變成大寫字母,描述如下。名稱 letterc 功能 將以0結尾的字串中的小寫字母轉變成大寫字母。引數 ds si指向字串首位址。如題,任意字元,就得考慮一些其他字元,這就需要劃分乙個範圍,就是取出的字元應該在小寫字母的ascii碼範圍內...