汇编语言程序设计-5_第1页
汇编语言程序设计-5_第2页
汇编语言程序设计-5_第3页
汇编语言程序设计-5_第4页
汇编语言程序设计-5_第5页
已阅读5页,还剩6页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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控件的外观特点,显示和对齐方式等,我们为它定义一些属性,每一个属性用一个

Word的常数来表示,该数只有某一位(bit)为1,其它位为0。Edit控件的所有属性用一个

Word型的字来表示,该字的每一位(bit)表示一种相应属性,称该字为属性字。Edit控件的E属S_性LE定FT

义如下:EQU0001H;左对齐ES_CENTER

EQU0002H;居中对齐ES_RIGHT

EQU0004H;右对齐ES_MULTILINE

EQU0008H;多行显示ES_UPPERCASE

EQU0010H;显示大写字母现假设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

程序结束。程序如下:;;;;;定义符号常数;;;;;;;;;;;;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. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论