真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

c語(yǔ)言int86函數(shù) c語(yǔ)言 int8

用C調(diào)用BIOS中斷,讀鍵函數(shù)幫忙解釋一下

int key()

創(chuàng)新互聯(lián)專(zhuān)注于沙縣企業(yè)網(wǎng)站建設(shè),響應(yīng)式網(wǎng)站建設(shè),商城網(wǎng)站建設(shè)。沙縣網(wǎng)站建設(shè)公司,為沙縣等地區(qū)提供建站服務(wù)。全流程按需定制,專(zhuān)業(yè)設(shè)計(jì),全程項(xiàng)目跟蹤,創(chuàng)新互聯(lián)專(zhuān)業(yè)和態(tài)度為您提供的服務(wù)

{

union REGS rg;\\定義聯(lián)合體-〉寄存器=rg

rg.h.ah=0;\\等同于匯編 mov ah 00h,賦值是為了初始化)

int86(0x16,rg,rg);\\等同于c語(yǔ)言int 16h)

return rg.h.ah;\\返回AX高字節(jié)的值

}

1. REGS是CPU的一個(gè)寄存器的集合,也就是寄存器集合(Registers)的縮寫(xiě)

2. 這句話(huà)的作用是進(jìn)行寄存器的初始化(所有的I/O指令都使用AHAL寄存器與外界設(shè)備傳送數(shù)據(jù)),等同于mov ah 00h

數(shù)據(jù)寄存器分為:

AHAL=AX(accumulator):累加寄存器,常用于運(yùn)算;在乘除等指令中指定用來(lái)存放操作數(shù),另外,所有的I/O指令都使用這一寄存器與外界設(shè)備傳送數(shù)據(jù).

BHBL=BX(base):基址寄存器,常用于地址索引;

CHCL=CX(count):計(jì)數(shù)寄存器,常用于計(jì)數(shù);常用于保存計(jì)算值,如在移位指令,循環(huán)(loop)和串處理指令中用作隱含的計(jì)數(shù)器.

DHDL=DX(data):數(shù)據(jù)寄存器,常用于數(shù)據(jù)傳遞。

他們的特點(diǎn)是,這4個(gè)16位的寄存器可以分為高8位: AH, BH, CH, DH.以及低八位:AL,BL,CL,DL。這2組8位寄存器可以分別尋址,并單獨(dú)使用

3.同上,AH寄存器置0,就是為了初始化寄存器

4.

0x16這個(gè)是標(biāo)明進(jìn)行鍵盤(pán)中斷int 16h的調(diào)用,記住就行了。

第1個(gè)參數(shù):intno=0x16; //調(diào)用鍵盤(pán)中斷int 16h

第2個(gè)參數(shù):inregs為調(diào)用時(shí)個(gè)寄存器的值;

第3個(gè)參數(shù):oregs為調(diào)用后返回時(shí)各寄存器的狀態(tài)值,

5.

int86() 函數(shù)的功能是提供通用的 8086 軟中斷接口(關(guān)于中斷信息,請(qǐng)自行參考相關(guān)文檔或書(shū)籍)。

其原型是: int86(int intno, union REGS* inregs, union REGS* outregs);

intno 參數(shù)指定中斷號(hào),inregs 與 outregs 分別是入口參數(shù)寄存器和出口參數(shù)寄存器。

入口參數(shù)提供信息,結(jié)果則從出口參數(shù)中獲取——可能入口與出口是同一組寄存器,這是允許的。

c語(yǔ)言如何獲取鼠標(biāo)鍵盤(pán)信息

我估計(jì)你分?jǐn)?shù)給的在高也沒(méi)人回答。來(lái)個(gè)這樣的代碼太麻煩了。而且百度金幣用處也不大。

不過(guò),我可以寫(xiě)幾個(gè)鼠標(biāo)函數(shù)給你參考一下。

首先了解一下鼠標(biāo)的中斷。

_ax=0x01

表示顯示光標(biāo)

_ax=0x02

停止顯示光標(biāo)

_ax=0x03

讀取光標(biāo)位置與案件

_ax=0x04

設(shè)置光標(biāo)位置

所以啊。根據(jù)這四個(gè)中斷,有以下幾個(gè)函數(shù)

----------------------------------------------------

void

mouseon(void)//鼠標(biāo)光標(biāo)顯示

{

_ax

=

0x01;

geninterrupt(0x33);

}

----------------------------------------------------

void

mouseoff(void)//鼠標(biāo)光標(biāo)隱藏

{

_ax

=

0x02;

geninterrupt(0x33);

}

---------------------------------------------------

void

mousesetxy(int

x,int

y)//設(shè)置當(dāng)前位置

{

_cx

=

x,

_cd

=

y;

_ax

=

0x04;

geninterrupt(0x33);

}

---------------------------------------------------

int

leftpress(void)//鼠標(biāo)左鍵按下

{

_ax

=

0x33;

geninterrupt(0x33);

return(_bx1);

}

-----------------------------------------------------

鼠標(biāo)右鍵的應(yīng)該也會(huì)了吧。不過(guò)要return(_bx2);

-----------------------------------------------------

void

mousegetxy(void)//得到當(dāng)前位置

{

_ax

=

0x33;

geninterrupt(0x33);

mousex

=

_cx;

mousey

=

_dx;

}

---------------------------------------------------------------

最好要復(fù)制粘貼,打字打得手疼。

c語(yǔ)言int86(0x10,&r,&r)是什么意思

調(diào)用int86庫(kù)函數(shù)。調(diào)用時(shí)向它傳遞的第1個(gè)參數(shù)是16,第2、第3變量都是聯(lián)合體r的入口地址。

C語(yǔ)言中int86()函數(shù)的用法

函數(shù)名: int86

功 能: 通用8086軟中斷接口

用 法: int int86(int intr_num, union REGS *inregs, union REGS *outregs);

程序例:

#include stdio.h

#include conio.h

#include dos.h

#define VIDEO 0x10

void movetoxy(int x, int y)

{

union REGS regs;

regs.h.ah = 2; /* set cursor postion */

regs.h.dh = y;

regs.h.dl = x;

regs.h.bh = 0; /* video page 0 */

int86(VIDEO, regs, regs);

}

int main(void)

{

clrscr();

movetoxy(35, 10);

printf("Hello/n");

return 0;

}

C語(yǔ)言中DOS與BIOS調(diào)用函數(shù)int86()問(wèn)題

他們是80X86寄存器組

1:通用寄存器

數(shù)據(jù)寄存器:AX,BX,CX,DX

AX(accumulator)用于累加器,所以它是算術(shù)運(yùn)算的主要寄存器。在乘,除等指令中用來(lái)存放操作數(shù)。

BX(base)可以作為通用寄存器使用。它經(jīng)常用作基址寄存器。

CX(count)可以作為通用寄存器使用。此外常用來(lái)保存計(jì)數(shù)值,如在移位指令,循環(huán)(LOOP)和串處理指令中用作隱含的計(jì)數(shù)器。

DX(data)可以作為通用寄存器使用。一般在作雙字長(zhǎng)運(yùn)算時(shí)把DX和AX組合在一起存放一個(gè)雙字長(zhǎng)數(shù),DX用來(lái)存放高位字。此外,DX可用來(lái)存放I|O的端口地址。

SP,BP,SI,DI可以像數(shù)據(jù)寄存器一樣在去處過(guò)程中存放操作數(shù)。

SP:stack pointer;堆棧指針寄存器

SI:source index;源變址寄存器

BP:base pointer;基址指針寄存器

DI:destination index;目的變址寄存器

2:專(zhuān)用寄存器

IP:instruction pointer;指令指針寄存器.用于存放代碼段的偏移地址,它與段寄存器SC聯(lián)用確定下一條指令的物理地址.

SP:用來(lái)存放棧頂?shù)钠频刂?

FLAGS:program status word,PSW).這是一個(gè)存放條件標(biāo)志,控制標(biāo)志和系統(tǒng)標(biāo)志的寄存器.

標(biāo)志寄存器:

條件碼標(biāo)志:溢出標(biāo)志(overflow flag,OF).符號(hào)標(biāo)志(sign flag.SF).零標(biāo)志(zero flag,ZF).進(jìn)位標(biāo)志(carry flag,CF).

int86( ) 熟悉 C 語(yǔ)言庫(kù)函數(shù)的高手和感興趣的都來(lái)看看

系統(tǒng)內(nèi)核程序啊。?

偶看不懂。抱歉。不過(guò)我是來(lái)消滅零回復(fù)。


網(wǎng)站題目:c語(yǔ)言int86函數(shù) c語(yǔ)言 int8
網(wǎng)頁(yè)URL:http://weahome.cn/article/hpedgp.html

其他資訊

在線(xiàn)咨詢(xún)

微信咨詢(xún)

電話(huà)咨詢(xún)

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部