欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

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

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

int key()

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

{

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

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

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

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

}

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

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

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

AHAL=AX(accumulator):累加寄存器,常用于運(yùn)算;在乘除等指令中指定用來存放操作數(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)行鍵盤中斷int 16h的調(diào)用,記住就行了。

第1個(gè)參數(shù):intno=0x16; //調(diào)用鍵盤中斷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)文檔或書籍)。

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

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

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

c語言如何獲取鼠標(biāo)鍵盤信息

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

不過,我可以寫幾個(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ì)了吧。不過要return(_bx2);

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

void

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

{

_ax

=

0x33;

geninterrupt(0x33);

mousex

=

_cx;

mousey

=

_dx;

}

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

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

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

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

C語言中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語言中DOS與BIOS調(diào)用函數(shù)int86()問題

他們是80X86寄存器組

1:通用寄存器

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

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

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

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

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

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

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

SI:source index;源變址寄存器

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

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

2:專用寄存器

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

SP:用來存放棧頂?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 語言庫函數(shù)的高手和感興趣的都來看看

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

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

分享名稱:c語言int86函數(shù) c語言 int8
URL地址:http://chinadenli.net/article18/hpedgp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供服務(wù)器托管自適應(yīng)網(wǎng)站商城網(wǎng)站手機(jī)網(wǎng)站建設(shè)軟件開發(fā)搜索引擎優(yōu)化

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都app開發(fā)公司