汇编作业35答案.docx

上传人:b****4 文档编号:24906706 上传时间:2023-06-02 格式:DOCX 页数:14 大小:16.82KB
下载 相关 举报
汇编作业35答案.docx_第1页
第1页 / 共14页
汇编作业35答案.docx_第2页
第2页 / 共14页
汇编作业35答案.docx_第3页
第3页 / 共14页
汇编作业35答案.docx_第4页
第4页 / 共14页
汇编作业35答案.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

汇编作业35答案.docx

《汇编作业35答案.docx》由会员分享,可在线阅读,更多相关《汇编作业35答案.docx(14页珍藏版)》请在冰豆网上搜索。

汇编作业35答案.docx

汇编作业35答案

3.2

(1)adddx,bx

(2)addal,[bx][si]

(3)addob2h[bx],cx

(4)add[0524]h,2a59h

(5)addal,0b5h

3.4

(1)(ax)=1200h

(2)(ax)=0100h

(3)(ax)=2ah

(4)(ax)=12h

(5)(ax)=2ah

(6)(ax)=56h

(7)(ax)b7h

3.6

movbx,1booh

movds,bx

movsi,[2000H]

movbx,[2002H]

movds,bx

movax,[bx]

3.8

(1)立即寻址,不需访问

(2)直接寻址,物理地址=20100h

(3)寄存器寻址,不需访问

(4)直接寻址,21050h

(5)寄存器间接寻址,20100h

(6)寄存器间接寻址,21100h

(7)寄存器间接寻址,15010h

(8)寄存器间接寻址,200A0h

(9)寄存器相对寻址,20110h

(10)寄存器相对寻址,20150h

(11)基址变址寻址,201A0h

(12)相对基址变址寻址,201foh

3.9

(1)movds,bx

mov[14]h,0

(2)movax,[bx]

mov[bx+2],ax

3.10

movax,TABLE

LEAAx,TABLE

3.13

movax,8057h

pushax

movbx,0f79h

pushbx

pupbx

3.14

movbx,[2000h]

movax,ES:

[bx]

3.20

(1)addDATAY,DATAX

(2)movax,DATAX

movbx,DATAX+2

movcx,DATAY

movdx,DATAY+2

addcx,ax

adddx,bx

movDATAY,cx

movDATAY+2,dx

(3)BX=0148h+0237h+1=0380h

(4)movax,DATAX

movbx,DATAY

mulbx

(6)movax,DATAX

movbl,23h

divbl

(7)movax,DATAX

movdx,DATAX+2

movbx,DATAY

divbx

3.30AX,DX逻辑左移4位,将AH的值赋给BL,BL逻辑右移4位,再将DL,BL做逻辑或

3.42比较这两个p,q

ifp>q,ax=1

elseax=2

4.1

(1)AH,BX一个是字节,一个是字,类型不符

(2)不允许两个操作数都使用存储器

(3)SI与DI同为变址寄存器,不能联用

(4)AX不用于寄存器间接寻址方式,且AX上应加上”[]”

(5)溢出

(6)SI本身已经是偏移量了

(7)CS不用做目的寄存器

4.2

(1),(4)非法

4.14

(1)[AX]=1

(2)[AX]=2

(3)[CX]=20

(4)[DX]=40

(5)[CX]=4

5.1

begin:

movah,1

int21h

cmpa1,’a’

jbstop

cmpa1,’z’

jastop

suba1,20h

movd1,a1

movah,2

int21h

jmpbegin

stop:

ret

5.3

dsegsegment

storedb4dup(?

dsegends

begin:

movc1,4

movch,4

leabx,store

a10:

movdx,ax

anddx,0fh

movbyteptr[bx],dl

incbx

shrax,cl

decch

jnza10

b10:

movdl,store

movc1,store+1

movb1,store+2

mova1,store+3

ret

5.4

dsegsegment

string1db’Iamaboy’

string2db’Iamaboy!

yesdb‘MATCH’,0dh,0ah,’$’

nodb‘NOTMATCH’,0dh,0ah,’$’

dsegends

csegsegment

mainprocfar

assumecs:

cseg,ds:

dseg,es:

dseg

start:

pushds

subax,ax

pushax

movax,dseg

movds,ax

moves,ax

begin:

leasi,string1

leadi,string2

movcx,srtring2-string1

repecmpsb

jindispno

movah,09

leadx,yes

int21h

ret

dispno:

movah,09

leadx,no

int21h

ret

mainendp

csegends

endstart

5.9

movbx,0

movch,4

movcl,4

intput:

shlbx,cl

movah,1

int21h

cmpa1,39h

jaaf

anda1,0fh

jmpbinary

af:

anda1,0fh

adda1,9

binary:

orbl,al

decch

jneinput

dispn:

movcx,16

disp:

movd1,0

rolbx,1

rcldl,1

ordl,30h

movah,02

int21h

loopdisp

ret

5.12

dsegsegment

memdw100dup(?

dsegends

csegsegment

mainprocfar

assumecs:

cseg,ds:

dseg,es:

dseg

start:

pushds

subax,ax

pushax

movax,dseg

movds,ax

moves,ax

begin:

movsi,(100-1)*2

movbx,-2

movcx,100

comp:

addbx,2

cmpmen[bx],0

jzcons

loopcomp

jmpfinish

cons:

movdi,bx

cons1:

cmpdi,si

jaenomov

movax,men[di+2]

movmen[di],ax

adddi,2

jmpcons1

nomov:

movwordptr[si],0

loopcomp

finish:

ret

mainendp

csegends

endstart

5.17

datasegment

MEMdb4dup(?

Dataends

Codesegment

Assumecs:

code,ds:

data

Mainprocnear

movax,data

movds,ax

movdx,0

movcx,5

rotate:

rolax,4

movbx,0

movbl,al

andbl,0fh

addbl,30h

cmpbl,39h

jbechar

loadmem:

movMEM[dx],bl

adddx,1

looprotate

char:

subbl,10

addbl,41h

jmploadmem

exit:

ret

mainendp

codeends

end

5.18

dsegsegment

gradedw30dup(?

rankdw30dup(0)

dsegends

csegsegment

mainprocfar

assumecs:

cseg,ds:

dseg,es:

dseg

start:

pushds

subax,ax

pushax

movax,dseg

movds,ax

moves,ax

begin:

movdi,0

movcx,30

loop1:

pushcx

movcx,30

movsi,0

movax,grade[di]

movdx,0

loop2:

cmpgrade[si],ax

jbegoon

incdx

goon:

addsi,2

looploop2

popcx

incdx

movrank[di],dx

adddi,2

looploop1

ret

mainendp

csegends

endstart

6.3

(PSW)

(AX)

0000

(DS)

1000:

0186

:

0188

:

018A

:

018C

:

018E

0188

SP:

 

6.5

ip

cs

ip

ip

ip

cs

cs

cs

ax

ax

ax

ax

ax

ds

ds

ds

ds

ds

ds

BP+2

BP+4

BP+8

BP+C

BP+8

BP+4

6.7

datasegment

sdw76

dw69

dw84

dw90

dw73

dw88

dw99

dw63

dw100

dw80

s6dw0

s7dw0

s8dw0

s9dw0

s10dw0

dataends

codesegment

mainprocnear

assumecs:

code,ds:

date

movax,data

movds,ax

pushs2

movs2,0

movcx,11

sc100:

cmps[SI],100

jb90s

adds10,1

qvs:

cmps[SI],90

jb80s

adds9,1

80s:

cmps[SI],80

jb70s

adds8,1

70s:

cmps[SI],70

jb60s

adds7,1

60s:

cmps[SI],60

jbnext

adds6,1

next:

addSI,2

loopSC100

popSI

ret

mainendp

codeends

end

 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 经管营销 > 经济市场

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1