匯編語言程序設計-5_第1頁
匯編語言程序設計-5_第2頁
匯編語言程序設計-5_第3頁
匯編語言程序設計-5_第4頁
匯編語言程序設計-5_第5頁
已閱讀5頁,還剩6頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

How

to

use

<<

&

>>?

The

left

shift

…...

Bits

vacated

by

the

shift

operatzero-filled.

This

is

a

logical

shift.

The

right

shift……

Bits

vacated

by

the

shift

operatiare

zero-filled

for

unsigned

quantities.

For

signedquantities,

the

sign

bit

is

propagated

into

the

vacatpositions.

The

shift

is

a

logical

shift

if

the

left

operand

is

anunsigned

quantity;

otherwise,

it

is

an

arithmetic

sh

The

result

of

a

right

shift

of

a

signed

negativequantity….

Although

Microsoft

C++

propagates

themost-significant

bit

to

fill

vacated

bit

positions,no

guarantee

that

other

implementations

will

doAn

Exampleunsigned

char

a

=

0x80;char

b

=

0x80;//128//

-128unsigned

char

c

=

a

>>

1;?c

=

64c

=

a

<<

1;?c

=

0char

d

=

b

>>

1;?d

=

-64d

=

b

<<

1;?d

=

0int

e

=

-1

>>

1;?e

=

-1e

=

-1

<<

1;?e

=

-2Bit

Operation

VS

Boolean

Operation

Boolean

Operation

returns

TRUE(1)

orFALSE(0)0——FALSENOT

0——TRUE

Bit

Operation

returns

bit

calculationresultsAlso

an

exampleint

k

=

1

&

2;k

=

0k

=

1

&&

2;k

=

1k

=

1

|

2;k

=

3k

=

1

||

2;k

=

1k

=

!2;k

=

0k

=

~2;

k

=0xFFFFFFFEHCross-platform

Communication:?Windows/Linux

Socket

Programming:X86

(Little

Endian)

TCP/IP(Big

Endian)Host(Little

Endian)Network(Big

Endian)ntohl,htonl,ntohs,htons完成轉換An

other

Example:

EndiannessEndianness問題-Socket編程#define

htons(A)((((uint16)(A)

&

0xff00)

>>

8)

|

(((uint16)(A)

&

0x00ff)8))#define

htonl(A)((((uint32)(A)

&

0xff000000)

>>

24)

|

\(((uint32)(A)

&

0x00ff0000)

>>

8)

|

\(((uint32)(A)

&

0x0000ff00)

<<

8)

|

\(((uint32)(A)

&

0x000000ff)

<<

24))#define

ntohs

htons#define

ntohl

htohlAlso

Another

ExampleTo

Modify

Windows

Style

(&

ExStyle)Use

DWORD

keyword

to

maintain

style,

each

bit

specifies

a

style

ofMainframe

or

ViewTest

a

certain

style

WS_VSCROLL?if

(

Style

&

WS_VSCROLL)Add

a

certain

style

WS_VSCROLL?Style

|=

WS_VSCROLL;Add

some

styles

together

WS_VSCROLL

and

WS_HSCROLL?Style

|=

WS_VSCROLL

|

WS_HSCROLL;Remove

a

certain

style

WS_MINIMIZEBOX??Style

&=

~

WS_MINIMIZEBOX;Style

^=

WS_MINIMIZEBOX;Remove

some

styles

together

WS_MAXIMIZEBOX

andWS_MAXIMIZEBOX??Style

&=

~(WS_MAXIMIZEBOX|

WS_MAXIMIZEBOX);Style

^=

WS_MAXIMIZEBOX|

WS_MAXIMIZEBOX;An

Exercise輸入框(Edit)控件是Windows窗口程序常用的一種控件,它負責接受從鍵盤輸入的字符。為控制Edit控件的外觀特點,顯示和對齊方式等,我們?yōu)樗x一些屬性,每一個屬性用一個

Word的常數(shù)來表示,該數(shù)只有某一位(bit)為1,其它位為0。Edit控件的所有屬性用一個

Word型的字來表示,該字的每一位(bit)表示一種相應屬性,稱該字為屬性字。Edit控件的E屬S_性LE定FT

義如下:EQU0001H;左對齊ES_CENTER

EQU0002H;居中對齊ES_RIGHT

EQU0004H;右對齊ES_MULTILINE

EQU0008H;多行顯示ES_UPPERCASE

EQU0010H;顯示大寫字母現(xiàn)假設AX寄存器里面存放要建立的Edit控件的屬性字,該屬性字包含一些初始屬性。編寫一個完整的程序,對該屬性字進行處理,來按順序完成下列功能:Y

為Edit控件添加兩個屬性ES_LEFT和ES_MULTILINE;Y

測試Edit控件是否有屬性ES_RIGHT,如果有,刪除該屬性;Y

測試Edit控件是否有屬性ES_AUTOVSCROLL,如果有,刪除該屬性;如果沒有,添加該屬性;Y

測試Edit控件是否同時具有ES_UPPERCASE和ES_LOWERCASE兩個屬性。如果是,顯示一個字符串“EditBox

Style

Error!”;否則,顯示一個字符串“EditBox

Style

Right!”;Y

程序結束。程序如下:;;;;;定義符號常數(shù);;;;;;;;;;;;ES_LEFT

EQU

0001H

;左對齊ES_CENTEREQU

0002H;居中對齊ES_RIGHTEQU

0004H;右對齊ES_MULTILINEEQU

0008H;多行顯示ES_UPPERCASEEQU

0010H;顯示大寫字母ES_LOWERCA

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論