1
嘿一些即時編寫使用NASM的引導程序虛擬機等。無論如何,即時通訊使用vram顯示由鍵s,d,f,g觸發的背景和字體顏色變化。 S用背景顏色切換字體的顏色。我知道如何做到這一點,但我不知道正確的方法。 vram設置爲2個字節,第一個是字符,第二個是屬性。這些是背景然後字符顏色。所以我需要採取這些並切換它們。這將切換字體顏色和背景顏色。我如何用代碼實現它?納斯姆,引導程序切換前景和背景顏色
; s key
;///////////////////////////////////////////////////////////
.s:
mov bx,0xb800 ;direct video memory access 0xB8000
mov es,bx
xor bx,bx ;es:bx : 0xb8000
mov dh,0 ;row from 0 to 24
mov dl,0 ;col from 0 to 79
.loops1:
inc bx
mov byte [es:bx], 0ah ;attribute
inc bx
inc dl
cmp dl,80 ;col 0-79
jne .loops1
mov dl,0
inc dh
cmp dh,25 ;row 0-24
jne .loops1
jmp .kbin
第二個問題: 即時通訊使用這個循環檢測關鍵的我怎麼能更改這些鍵爲Ctrl +鍵。
.kbin:
mov ah,10h ;Read from keyboard
;ah scan code, al ascii char
int 16h
cmp al, 53h ;uppercase s
je .s
cmp al, 73h ;lowercase s
je .s
cmp al, 44h ;uppercase d
je .d
cmp al, 64h ;lowercase d
je .d
cmp al, 46h ;uppercase f
je .f
cmp al, 66h ;lowercase f
je .f
cmp al, 47h ;uppercase g
je .g
cmp al, 67h ;lowercase g
je .g
jmp .kbin
謝謝。