




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、設(shè)在數(shù)據(jù)段中有X,Y兩變量(字節(jié)單元),試編寫程序段計(jì)算(只寫有關(guān)程序功能的指令):
Y=X當(dāng)X>=0
Y=0當(dāng)X<0
解:moval,x
cmpa;,0
jgeAl
moval,0
Al:movy,al
2在STR單元開(kāi)始定義了一長(zhǎng)度為L(zhǎng)EX字節(jié)的字符串,統(tǒng)計(jì)出其中大寫字母的個(gè)數(shù)并存放到LARGE字節(jié)單元中。請(qǐng)
編一完整的源程序c
DATASEGMENT
STRDB'.....'
LENEQU$-STR
LARGEDB?
DATAENDS
CDEGMENT
ASSUMECS:CD,DSATA
LARGPROCFAR
MOVAX,DATA
MOVDS,AX
LEASI,STR
MOVCX,LEN
MOVBL,0
NT:CMPBYTEPTR[SI],'A'
JBNOLARG
CMPBYTEPTR[SI],'Z'
JANOLARG
INCBL
NOLARG:INCSI
LOOPNT
MOVLARGE,BL
MOVAH,4CH
INT21H
LARGENDP
CDENDS
ENDLARG
3、已知DAT1字節(jié)單元有?個(gè)數(shù)據(jù),試編制?程序段將該數(shù)據(jù)的低4位變?yōu)?010B,最高位(第7位)置1,其余3
位不變,結(jié)果送DAT2字節(jié)單元。
MOVAL;DATA1
ANDAL:70H
ADDAL;8AH
MOVDATA2,AL
4、在和N2兩數(shù)據(jù)區(qū)中,分別有10H個(gè)帶符號(hào)數(shù)。試編制一源程序,找出對(duì)應(yīng)項(xiàng)中較小的數(shù)據(jù),并將這些較小
的數(shù)據(jù)存入N3數(shù)據(jù)區(qū)中(要求:對(duì)應(yīng)項(xiàng)比較時(shí)必須用CMPS指令)。
DATASEGMENT
N1DBXX,XX,XX,...
N2DBXX,XX,XX,
N3DB10HDUP(0)
DATAENDS
解:STACKSEGSEGMENTSTACK
DB1024DUP(O)
STACKSEGENDS
DATASEGMENT
N1DB5Ah,6Fh,2Eh,0D8h,0E3h,9Ch,ODBh,0B7h,5Bh,21h,35h,8Eh,4Ah,15h,58h,75h
N2DB58h,OFFh,5Eh,38h,0C7h,OAlh,26h,86h,48h,35h,48h,16h,OBAh,OFAh,ODFh,0E9h
N3DB1011DUP(O)
DATAENDS
CODESEGMENT
ASSUMECS:CODE,DS:DATA,SS:STACKSEG
START:MOVAX,DATA
MOVDS,AX
INCAX
MOVES,AX
MOVSI.OFFFHI
MOVDI,OFFFFH
MOVCX,lOh
MOVBX,OFFSETN3
CLD
AGAIN:CMPSBYTEPTRN1,BYTEPTRN2
JLNILES
MOVAL,[Sl+lOh]
MOV[BX][SI],AL
JMPCMPAGAIN
NILES:MOVAL,[si]
MOV[BX][SI],AL
CMPAGAIN:deeex
jnzagain
MOVAH,4CH
INT21H
CODEENDS
ENDSTART
5、加密移動(dòng)字符串,設(shè)緩沖區(qū)SBUFF中有20個(gè)小寫字母a,將每個(gè)a加上它相對(duì)于緩沖區(qū)的位移量后傳送到緩沖
區(qū)DBUFFo
STACKSEGSEGMENTSTACK
DB1024DUP(O)
STACKSEGENDS
DATASEGMENT
SBUFFDB20DUP('a')
DBUFFDB20DUP(O)
DATAENDS
CODESEGMENT
ASSUMECS:CODE,DS:DATA,SS:STACKSEG
START:MOVAX,DATA
MOVDS,AX
MOVCX,20
MOVSI,0
CLD
AGAIN:LODSB
MOVBX,SI
DECBX
ADDAX,BX
MOVDBUFFESI-1],AL
LOOPAGAIN
DBUFF
INT21H
MOVAH,4CH
INT21H
CODEENDS
ENDSTART
6、在EUF1和BUF2兩個(gè)數(shù)據(jù)區(qū)中,各定義有10個(gè)帶符號(hào)字?jǐn)?shù)據(jù),試編制一完整的源程序,求它們對(duì)應(yīng)項(xiàng)的和,并
將和數(shù)存入以SUM為首址的數(shù)據(jù)區(qū)中。
DATASEGMENT
BUF1l)W-56,24,54,-1,89,-8,....
BUF2DW45,-23,124,345,-265,....
SUMDW10DUP(0)
DATAENDS
CODESEGMENT
ASSUMECS:CODE,DS:DATA
BEGIN;
MOVAX;DATA
MOVES;AX
MOVDS;AX
LEASLBUF1
MOVBX,OFFSETBUF2
LEADLSUM
MOVCXJO
LI:
MOVAX;[SI]
ROLAX;1
JCL2
RORAX;1
L4:
MOVDX:AX
MOVAX:[BX]
ROLAX;1
JCL3
RORAX;1
L5:
ADDAX、DX
MOV[DI],AX
INCBX
INCBX
INCSI
INCSI
INCDI
INCDI
LOOPLI
JMPLAST
L2:
RORAX;1
NEGAX
JMPL4
L3:
RORAX;1
NEGAX
JMPL5
LAST:
MOVAH;4CH
INT21H
CODEENDS
ENDBEGIN
7、試編寫一個(gè)匯編語(yǔ)言程序,要求對(duì)鍵盤輸入的小寫字母用大寫字母顯示出來(lái)。
DATASSEGMENT
MSGDB0,0,〃H〃,”$〃
CRDB13,10,3"
TABIDB”0123456789ABCDEF”
DATASENDS
STACKSSEGMENT
STACKSENDS
CODESSEGMENT
ASSUMECS:CODES,DS:DATAS,ES:DATAS,SS:STACKS
START:
MOVAX;DATAS
MOVDS:AX
MOVES:AX
MOVCX;127
MOVDL:0
MOVSI;OFFSETTABI
MOVOFFSETMSG
AG:PUSHCX
PUSHDX
MOVAX;0
MOVAL.DL
MOVBL10H
DIVBL
MOVBX;0
MOVBL:AH
MOVDll[SI+BX]
MOV[DI+1],DH
MOVBL:AL
MOVDH;[SI+BX]
MOV[DI],DH
PUSHDX
MOV[)X;OFFSETMSG
MOVAH;9
INT2111
POPDX
MOVAll2
INT21H
PUSHAX
MOVDX;OFFSETCR
MOVAH:9
INT21H
POPDX
POPDX
POPCX
INCDL
LOOPAG
MOVAH:4cH
INT21H
CODESENDS
ENDSTART
8、匯編程序,以BUF為首地址的內(nèi)容存單元中有「15的平方表。查表求X單元中數(shù)(1~15之間)的平方值并送
回X單元
codesegment
assumecs:code,ds:code
orglOOh
start:
pushcs
popds
leabx}BUF;BX指向表首
moval.X
decal;偏移送AL
xlat;查表
movX,al;平方值并送回X單元
movah.4ch
int21h
BUFdb1,4,9,16,25,36,49,64,81,100,121,144,169,196,225
Xdb8
codeends
endstart
9、已知存儲(chǔ)器中有一個(gè)首地址為ARRAY的100個(gè)字?jǐn)?shù)組,現(xiàn)要求把數(shù)組中的每個(gè)數(shù)加1(不考慮溢出的可能性),
試編制完成此功能的程序段。
MOVBX,OFFSETARRAY
MOVAX,1
MOVCX,100
L00P1:ADD[BX],AX
LOOPL00P1
10、.編寫一段程序,如果字節(jié)變量TESTONE和TESTTWO相等,則調(diào)用子程序,顯示‘#';否則調(diào)用NOTSAME子程
序,顯示。
datasegment
infondbOdh,Oah,*#$'
infon2dbOdh,Oah,'!$'
TESTONEdbOdh,Oah,*2$'
TESTTWOdbOdh,Oah,'1$'
dataends
stacksegmentstack
db200dup(O)
stackends
codesegment
assumeds:data,ss:stack,cs:code
start:
movax;offsetTESTONE
movbxroffsetTESTTWO
empax.bx
jek2
jnekl
kl:callshow
k2:callNOTSAME
exit:movah,4ch
int21h
showprocnear;
leadx.infonmovah,9
int21h
ret
showendp
NOTSAMEprocnear;
leadx.infon2;在屏幕上顯示提示信息
movah;9
int21h
NOTSAMEendp
codeends
endstart
11、已定義了兩個(gè)整數(shù)變量A和B,試編寫程序完成下列功能:
A.若兩個(gè)數(shù)中有一個(gè)是奇數(shù),則將奇數(shù)存入A中,偶數(shù)存入B中。
B.若兩個(gè)數(shù)均為奇數(shù),則將兩數(shù)均加1后存回原變量。
C.若兩個(gè)數(shù)均為偶數(shù),則兩個(gè)變量均不改變。
(要求各段定義完整,并畫出程序流程圖)
datasegment
adb3
bdb3
dataends
codesegment
assumeds:data,cs:code
start:
movax.data
movds:ax
testa.1
jznextl
testb.1
jztj
inca
incb
jmptj
nextl:
testb;1
jztj
moval.a
xchgal,b
mova,al
tj:
movah.4ch
int21h
codeends
endstart
12、假設(shè)DATAX和DATAX+2單元存放雙字P,DATAY和DATAY+2單元中存放雙字Q,編程計(jì)算2P-Q,差在DX,AX中。
若OF=1,程序轉(zhuǎn)OVERFLOW,否則轉(zhuǎn)NOOYER。(只寫與試題要求有關(guān)的指令語(yǔ)句)
DATASEGMENT
DATAXDW2321H,3243H
DATAYDW1233H,4332H
DATAENDS
CODESEGMENT
ASSUMEI)S:DATA,CS:CODE
START:
MOVAX;DATA
MOVDS:AX
MOVDX:DATAX+2
MOVAX;DATAX
SHLAX:1
RCLDXJ;求2P
SUBAX:DATAY
SBBDX:DATAY+2;求2P-Q
JOOVERFLOW
NOFLOW:
MOVAll0
JMPEXIT
OVERFLOW:
MOVAH;1
EXIT:
MOVAX;4C00H
INT21H
CODEENDS
ENDSTART
13、已知在數(shù)據(jù)區(qū)BUF1和BUF2分別存放20個(gè)字節(jié)數(shù)據(jù)。編程檢查兩數(shù)據(jù)區(qū)中的數(shù)據(jù)是否相同。若完全一致,則
將標(biāo)志單元FLAG置FFH,否則置0,并將第一次出現(xiàn)的不同數(shù)據(jù)的地址分別存放在ADDR1和ADDR2單元中。
要求:源程序格式完整。
datasegment
xdw?
ydw?
msgdb'continuc?YesorNo?$'
msgldb'Inputfirstnumber:$*
msg2db'Inputsecondnumber:$?
msg3db'Shangis:$'
dataends
decihexsegment
assumecs:decihex,ds:data
mainprocfar
movax;data
movds.ax
repeat:
leasi.x
leadx.msgl
movah:9
int21h
calldecibin
callcrlf
leasi.y
leadx.msg2
movah,9
int21h
calldecibin
callcrlf
movax.x
cwd
divwordptr[x+2]
pushdx
movbx;ax
leadx.msg3
movah.9
int21h
callbinidec
movdl:’.'
movah.2
int21h
popax
movcx;10
mulex
divwordptr[x+2]
movbx.ax
movex.1
calldecdiv
cal1crlf
leadx;msg
movah.9
int21h
callcrlf
movah.i
int21h
empal.*Y*
jzrepeat
14、設(shè)X、Y、Z、W為十六位有符號(hào)數(shù)編程計(jì)算:
W-(X+Y*Z)/8-Y除法余數(shù)丟棄
若ZF=1,程序轉(zhuǎn)EQ;否則轉(zhuǎn)NOT_EQ。
movax;y
imulz;計(jì)算y*z,結(jié)果在dx和ax中
addax.x;ax+x
adcdx.0;dx+ax與x相加產(chǎn)生的進(jìn)位
movbx.8
divbx;dx、ax除以8,余數(shù)在dx中,商在ax中
subax:y;商-丫,影響標(biāo)志位ZF
movw,ax;存結(jié)果,mov指令不影響標(biāo)志位
jzeq;測(cè)試的是sub執(zhí)行后的標(biāo)志,zf=l轉(zhuǎn)eq
jmpnot_eq;zf不為1,轉(zhuǎn)not_eq
15、已知在以ARRAY為首地址的數(shù)據(jù)區(qū)中存放10個(gè)帶符號(hào)字?jǐn)?shù)據(jù):
ARRAYl)W1,2,-1,3,4,-2,-3,4,5,-6
編程將ARRAY分成兩個(gè)數(shù)組:正數(shù)數(shù)組P_ARY和負(fù)數(shù)數(shù)組N_ARY,尹分別顯示正數(shù)項(xiàng)個(gè)數(shù)和負(fù)數(shù)項(xiàng)個(gè)數(shù)。
要求:源程序格式完整。
datasegment
arraydw1,2,-1,3,4,-2,-3,4,5,-6
P_ARYdw10dup(?)
N_ARYdw10dup(?);以上是定義
dataends
codesegment
assunccs:code,ds:data
start:
movax,data
movds,ax
leabx,array
leasi,N_ARY
leadi,P_ARY
movex,10
again:
empwordptr[bx],0;這里是比較
jlokl;>0放入OKI
jgok2:<0放入OKO
jmpok3;否則放入0K3
okl:novax,[bx]
nov[di],ax
adddi,2
jmpok3
ok2:novax,[bx]
nov[si],ax
addsi,2
jmpok3
ok3:addbx,2
decex
jnzagain
novah,4ch
int21h
codeends
endstart
16、X,Y,Z二個(gè)字節(jié)存儲(chǔ)單元中各有一個(gè)無(wú)符號(hào)數(shù),其中有兩個(gè)數(shù)據(jù)相等,找出不相等的哪個(gè)數(shù),并存入w單元
中,試編寫完成上述功能的程序段(只編寫有關(guān)代碼部分,勿需書寫源程序格式)。
moval,x
empal,y
jexy
jnenxy
xy:moval,z
movw,al
jmpover
nxy:empal,z
jexz
jnenxz
xz:moval,y
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 高管晉升激勵(lì)對(duì)制造業(yè)上市公司財(cái)務(wù)重述影響研究
- 細(xì)菌纖維素基鋅離子電池隔膜的設(shè)計(jì)制備及其電化學(xué)性能研究
- 水利工程安全文化建設(shè)目標(biāo)管理計(jì)劃
- 幼兒園飲食安全管理工作計(jì)劃
- 青年教師教學(xué)評(píng)價(jià)與反饋成長(zhǎng)計(jì)劃
- 2025年中學(xué)班主任工作室成員創(chuàng)新工作計(jì)劃
- 人教版三年級(jí)下冊(cè)數(shù)學(xué)測(cè)評(píng)計(jì)劃
- 八年級(jí)數(shù)學(xué)下學(xué)期復(fù)習(xí)計(jì)劃與策略
- 2025至2030中國(guó)全乳脂冰淇淋行業(yè)消費(fèi)狀況與營(yíng)銷趨勢(shì)研究報(bào)告
- 2025至2030中國(guó)先進(jìn)納米碳材料行業(yè)經(jīng)營(yíng)策略及未來(lái)趨勢(shì)展望報(bào)告
- 2025年年中考物理綜合復(fù)習(xí)(壓軸特訓(xùn)100題55大考點(diǎn))(原卷版+解析)
- 2025上海房屋租賃合同模板
- T-SCSTA001-2025《四川省好住房評(píng)價(jià)標(biāo)準(zhǔn)》
- 2025-2030全球及中國(guó)可持續(xù)飛機(jī)能源行業(yè)市場(chǎng)現(xiàn)狀供需分析及市場(chǎng)深度研究發(fā)展前景及規(guī)劃可行性分析研究報(bào)告
- 西紅門鎮(zhèn)生活垃圾轉(zhuǎn)運(yùn)站及環(huán)衛(wèi)停車場(chǎng)工程報(bào)告表
- 2025年信息系統(tǒng)監(jiān)理師考試題(附答案)
- 農(nóng)村留守兒童教育支持體系構(gòu)建研究
- 車場(chǎng)管理考試試題及答案
- 福建省三明市2025年普通高中高三畢業(yè)班五月質(zhì)量檢測(cè)物理(三明四檢)
- 中國(guó)數(shù)據(jù)中心產(chǎn)業(yè)發(fā)展白皮書023年
- 西部計(jì)劃面試題及答案
評(píng)論
0/150
提交評(píng)論