汇编语言沈美明温冬婵课后答案Word下载.docx
- 文档编号:18680152
- 上传时间:2022-12-31
- 格式:DOCX
- 页数:40
- 大小:23.73KB
汇编语言沈美明温冬婵课后答案Word下载.docx
《汇编语言沈美明温冬婵课后答案Word下载.docx》由会员分享,可在线阅读,更多相关《汇编语言沈美明温冬婵课后答案Word下载.docx(40页珍藏版)》请在冰豆网上搜索。
MOVBX,2000H
LESDI,[BX]
MOVAX,ES:
[DI]
(1)064DH
(2)0691H
(3)05ECH
(1)MOVAX,[BX+0CH]
MOVZERO,AX
(2)MOVAX,ARRAY[BX]
10、答:
(1)(AX)=1234H
(2)(AX)=0032H
11、答:
(AX)=1E00H
12、答:
LEABX,CSTRING
MOVDL,[BX]
MOVDH,[BX+6]
13、答:
14、答:
LESBX,[2000]
MOVAX,ES:
[BX]
16、答:
(1)74D4HSF=0ZF=0CF=0OF=0
(2)A5C1HSF=1ZF=0CF=0OF=1
(3)3240HSF=0ZF=0CF=1OF=0
(4)0000HSF=0ZF=1CF=1OF=0
17、答:
(1)0C754HSF=1ZF=0CF=1OF=0
(2)12B0HSF=0ZF=0CF=0OF=0
(3)45B0HSF=0ZF=0CF=0OF=1
(4)9F24HSF=1ZF=0CF=0OF=0
21、答:
(1)MOVAX,Z
SUBAX,X
ADDAX,W
MOVZ,AX
(2)MOVBX,X
ADDBX,6
MOVCX,R
ADDCX,9
MOVAX,W
SUBAX,BX
SUBAX,CX
(3)MOVAX,W
IMULX
MOVBX,Y
IDIVBX
MOVR,DX
22、答:
NEGDX
NEGAX
SBBDX,0
16、答:
MOVAX,A
MOVDX,A+2
TESTDX,8000H
JZSTORE;
为正
STORE:
MOVB,AX
MOVB+2,DX
17、答:
(1)MOVAL,S
SUBAL,6
DAS
ADDAL,V
DAA
MOVU,AL
(2)
MOVAL,Z
SUBAL,U
MOVAL,X
ADDAL,W
23、答:
(1)(BX)=9AH
(2)(BX)=61H
(3)(BX)=0FBH
(4)(BX)=1CH
(5)(BX)=0
(6)(BX)=0E3H
26、答:
把(DX)(AX)中的双字左移四位(乘以16)。
20、答:
MOVCL,4
SHRAX,CL
MOVBL,DL
SHRDX,CL
SHLBL,CL
ORAH,BL
31、答:
(1)CLD
MOVCX,132
MOVAL,20H
LEADI,ARRAY
REPSTOSB
(2)CLD
MOVCX,9
MOVAL,‘*’
LEADI,ADDR
REPNESCASB
JNEL1
L2:
……;
找到
L1:
未找到
(3)CLD
MOVCX,30
LEADI,NAME
REPESCASB
JNEDO_NOT
MOVAL,‘$’
…
DO_NOT:
…
(4)CLD
LEASI,NAME
REPMOVSB
STD
LEASI,ADDR+8
LEADI,ARRAY+131
34、答:
(1)转L1
(2)转L1
(3)转L2
(4)转L5
(5)转L5
36、答:
2p£q时,(AX)2
2p>
q时,(AX)1
38、答:
(1)(AX)=5(BX)=16(CX)=0(DX)=0
(2)(AX)=2(BX)=4(CX)=3(DX)=1
(3)(AX)=3(BX)=7(CX)=2(DX)=0
39、答:
第四章
(2)源*作数和目的*作数同为存储器寻址方式。
(3)SI、DI同为变址寄存器。
(7)目的*作数不能是代码段段寄存器CS。
(5)缺少PTR
BYTE_VAR425954450CEE00?
?
-01020102?
00?
01
020102?
0102-0102?
WORD_VAR0000010002000000-0100020000000100
0200000001000200-000001000200?
?
FBFF594245545602-
PLENTH的值为22(16H)。
(1)10025
(2)25
(3)2548
(4)3
(5)103
(6)0FFFFH
(7)1
(8)3
5假设数据段中数据定义如下:
VARDW'
34'
VAR1DB100,'
ABCD'
VAR2DD1
COUNTEQU$-VAR1
XDW5DUP(COUNTDUP(0))
YLABELWORD
ZDB'
123456'
VDW2,$-VAR
执行下面程序段并回答问题。
MOVAX,COUNT;
(AX)=?
MOVBX,Z-X;
(BX)=?
MOVCX,V+2;
(CX)=?
MOVDX,VAR;
(DX)=?
MOVY+3,2
MOVSI,Y+4;
(SI)=?
ADDZ+5,1
MOVDI,WORDPTRZ+4;
(DI)=?
、答:
(AX)=9
(BX)=90
(CX)=109
(DX)=3334H
(SI)=3600H
(DI)=3700H
14、答:
(1)(AX)=1
(2)(AX)=2
(3)(CX)=20
(4)(DX)=40
(5)(CX)=1
D_SEGSEGMENT
D_WORDLABELWORD
AUGENDDD99251
S_WORDLABELWORD
SUMDD?
D_SEGENDS
E_SEGSEGMENT
E_WORDLABELWORD
ADDENDDD-15962
E_SEGENDS
C_SEGSEGMENT
ASSUMECS:
C_SEG,DS:
D_SEG,ES:
E_SEG
MAINPROCFAR
START:
PUSHDS
MOVAX,0
PUSHAX
MOVAX,D_SEG
MOVDS,AX
MOVAX,E_SEG
MOVES,AX
MOVAX,D_WORD
MOVBX,D_WORD+2
ADDAX,ES:
E_WORD
ADCBX,ES:
E_WORD+2
MOVS_WORD,AX
MOVS_WORD+2,BX
RET
MAINENDP
C_SEGENDS
ENDSTART
DATASGSEGMENTAT0E000H
WORD_ARRAYLABELWORD
BYTE_ARRAYDB100DUP(?
)
DATASGENDS
STACKSGSEGMENTPARASTACK'
STACK'
DW32DUP(?
TOSLABELWORD
STACKSGENDS
CODESGSEGMENT
ORG1000H
CODESG,DS:
DATASG,ES:
DATASG,SS:
STACKSG
MOVAX,STACKSG
MOVSS,AX
MOVSP,OFFSETTOS
PUSHDS
SUBAX,AX
MOVAX,DATASG
……
CODESGENDS
9编写一个完整的程序,要求把含有23H,24H,25H,26H四个字符数据的数据区复制20次。
DSEGSEGMENT
VAR1DB23H,24H,25H,26H
DSEGENDS
ESEGSEGMENT
VAR2DB80DUP('
'
ESEGENDS
CSEGSEGMENT
CSEG,DS:
DSEG,ES:
ESEG
MOVAX,DSEG
MOVAX,ESEG
MOVDX,20
CLD
LEADI,VAR2
AGAIN:
LEASI,VAR1
MOVCX,4
DECDX
JNZAGAIN
CSEGENDS
第五章
1、答:
movcx,count
leasi,string1
leadi,string2
again:
moval,[si]
mov[di],al
incsi
incdi
loopagain
codesegment
assumecs:
code
mainprocfar
start:
pushds
movax,0
pushax
movah,1
int21h
subal,30h
cmpal,0
jzexit
movcl,al
movch,0
movah,2
movdl,7
exit:
ret
mainendp
codeends
endstart
MOVCX,8
MOVDL,0
NEXT3:
RORAX,1
JNCNEXT1
RORAX,1
JNCNEXT2
INCDL
NEXT2:
LOOPNEXT3
ADDDL,30H
MOVAH,2
INT21H
MOVAH,4CH
NEXT1:
RORAX,1
JMPNEXT2
movcx,100
leadi,mem
cld
comp:
repnescasw
jcxzexit
pushcx
movsi,di
subdi,2
movbx,di
repmovsw
movwordptr[di],0
movdi,bx
popcx
jmpcomp
movdx,100
movsi,0
repeat:
moval,string[si]
cmpal,30h
jbgoon
cmpal,39h
jagoon
orcl,20h;
(cl)51
jmpexit
goon:
decdx
jnzrepeat
andcl,0dfh;
(cl)50
tabledw100hdup(?
mdatadw?
;
存放出现次数最多的数
countdw0;
存放出现次数
movbx,100h
movdi,0;
di为数组TABLE的指针
next:
movdx,0
movax,table[di]
movcx,100h
cmptable[si],ax
jneaddr
incdx
addr:
addsi,2
loopcomp
cmpdx,count
jlechang
movcount,dx
movmdata,ax
chang:
adddi,2
decbx
jnznext
movax,mdata
19、答:
adw15dup(?
bdw20dup(?
cdw15dup(?
movsi,0;
si为数组A的指针
movbx,0;
bx为数组C的指针
movcx,15
loop1:
di为数组B的指针
movcx,20
movax,a[si]
loop2:
cmpb[di],ax
jneno
movc[bx],ax
addbx,2
jmpnext
no:
looploop2
looploop1
21、答:
……
leasi,array
movax,[si]
movbx,[si+2]
cmpax,bx
jnenext1
next1:
cmp[si+4],ax
jnenext2
next2:
cmp[si+4],bx
jnenum
num:
cmpdx,3
jldisp
disp:
adddl,30h
……
第六章
2、
(1)NAME1NAMELIST<
>
(2)MOVAX,DATA;
假设结构变量NAME1定义在数据段DATA中
MOVDS,AX
MOVES,AX
;
MOVAH,10
LEADX,NAME1
MOVCL,NAME1.ACTLEN
MOVCH,0
LEASI,NAME1.NAMEIN
LEADI,DISPFILE
SKIPLINESPROCNEAR
PUSHCX
PUSHDX
MOVCX,AX
NEXT:
MOVAH,2
MOVDL,0AH
MOVAH,2
MOVDL,0DH
LOOPNEXT
POPDX
POPCX
SKIPLINESENDP
dsegsegment
numdw76,69,84,90,73,88,99,63,100,80
ndw10
s6dw0
s7dw0
s8dw0
s9dw0
s10dw0
dsegends
code,ds:
dseg
subax,ax
movax,dseg
movds,ax
callsub1
sub1procnear
pushbx
pushsi
movcx,n
movax,num[si]
movbx,10
divbl
movbl,al
cbw
subbx,6
salbx,1
incs6[bx]
addsi,2
loopnext
popsi
popbx
popax
sub1endp
datasegment
maxlendb40
ndb?
tabledb40dup(?
chardb'
a'
查找字符’a’
even
addrdw3dup(?
dataends
data
movax,data
leadx,maxlen
movah,0ah
int21h;
从键盘接收字符串
movaddr,offsettable
movaddr+2,offsetn
movaddr+4,offsetchar
movbx,offsetaddr;
通过地址表传送变量地址
callcount;
计算CHAR的出现次数
calldisplay;
显示
countprocnear;
count子程序
pushdi
movdi,[bx]
movsi,[bx+2]
movcl,byteptr[si]
movsi,[bx+4]
moval,byteptr[si]
movbx,0
cmpal,byteptr[di]
jnel1
incbx
l1:
incdi
popdi
countendp
displayprocnear;
display子程序
callcrlf;
显示回车和换行
movdl,char
movdl,20h
moval,bl
andal,0fh
addal,30h
cmpal,3ah
jlprint
addal,7
print:
mov
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 汇编语言 沈美明温冬婵 课后 答案