匯編語言程序設(shè)計(jì)(第四版)第3章【課后答案】_第1頁
匯編語言程序設(shè)計(jì)(第四版)第3章【課后答案】_第2頁
匯編語言程序設(shè)計(jì)(第四版)第3章【課后答案】_第3頁
匯編語言程序設(shè)計(jì)(第四版)第3章【課后答案】_第4頁
匯編語言程序設(shè)計(jì)(第四版)第3章【課后答案】_第5頁
已閱讀5頁,還剩41頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

【精品文檔】1匯編語言程序設(shè)計(jì)第四版4及段11處理。語言的名字通常被稱為標(biāo)識(shí)符;18符號(hào)(如-,$,?,@)組成,不能以數(shù)字開頭。【精品文檔】什么是保留字,匯編語言的保留字有哪些類型,并23保留字是在每種語言中規(guī)定了有特殊意義和功能的不允許再做B字、偽指令助記符、參數(shù)和注釋四部分組成35完成、產(chǎn)生什么輸出文件。37⒈編輯文本編輯程序匯編語38言源程序.asm【精品文檔】39⒉匯編匯編程40序目標(biāo)模塊文件.obj41⒊連接連接程42序可執(zhí)行文件.exe或.com43⒋調(diào)試調(diào)試程44序應(yīng)用程序47(1)變量和標(biāo)號(hào)48(2)數(shù)值表達(dá)式和地址表達(dá)式49(3)符號(hào)常量和字符串常量51(1)變量是在程序運(yùn)行過程中,其值可以被改變的量;標(biāo)號(hào)是53(2)數(shù)值表達(dá)式一般是由運(yùn)算符連接的各種常數(shù)所構(gòu)成的表達(dá)55(3)在程序中,為了使常量更便于使用和閱讀,經(jīng)常將一些常量57組成的字符序列被稱為字符串常量?!揪肺臋n】60字節(jié)變量,指出下列語句中的錯(cuò)誤原因。61(1)movbyteptr[bx],1000(2)movbx,offsetmyword[si](3)cmpmybyte1,mybyte2(4)moval,mybyte1+mybyte2(5)subal,myword(6)jnzmyword只有程序執(zhí)行時(shí)才能確定,而offset是匯編過70程計(jì)算的偏移地址,故無法確定,改為leabx,myword[si]71(3)兩個(gè)都是存儲(chǔ)單元,指令不允許72(4)變量值只有執(zhí)行時(shí)才確定,匯編過程不能計(jì)算77別?【精品文檔】ANDAL,OPR1AND0feh83〔習(xí)題3.9〕給出下列語句中,指令立即數(shù)(數(shù)值表達(dá)式)的值:84(1)moval,23hAND45hOR67h(2)movax,1234h/16+10h86(3)movax,NOT(65535XOR1234h)87(4)moval,LOW1234hORHIGH5678h88(5)movax,23hSHL489(6)movax,1234hSHR6(8)moval,’H’OR00100000b92(9)movax,(76543LT32768)XOR7654h95(1)67h【精品文檔】96(2)133h97(3)1234h98(4)76h9(5)0234h106(1)byte_varDB’ABC’,10,10h,’EF’,3DUP(-1,?,3107DUP(4))wordvarDWhEF’,3DUP(?)110(1)從低地址開始,依次是(十六進(jìn)制表達(dá)):1114142430a104546ff-040411204ff-040404ff-040404113(2)從低地址開始,依次是(十六進(jìn)制表達(dá)):【精品文檔】1141000FBFF4645-----115-entmybdbPersonalComputer’mybdb20my3bdb14h;20hmybdb0100bmywdwdup(?)【精品文檔】my6cequ100;my6c=100cequPersonalComputers160012FFHFFH000000000000004312345H23H000000000000000014712個(gè)字符串’month’,每個(gè)字符串從低地址到高地址依次 .modelsmall.stack.data157sourcedw3433h,3635h158targetdw40dup(?),'$'.code.startupmovax,dsmoves,axcldmovsi,offsetsourcemovdi,offsettargetmovcx,40repmovsw【精品文檔】movsi,0movdx,offsettargetmovah,9int21h.exit0end181類型。184行后寄存器AX的內(nèi)容:segmentORG100H【精品文檔】VARWDWH,5678H188VARBDB3,4ALIGN4190VARDDD12345678HEVEN192BUFFDB10DUP(?)193MESSDB’HELLO’194BEGIN:MOVAX,OFFSETMESS195MOVAX,TYPEBUFF+TYPE196MESS+TYPEVARD197MOVAX,SIZEOFVARW+SIZEOF198BUFF+SIZEOFMESS199MOVAX,LENGTHOF200VARW+LENGTHOFVARDMOVAX,LENGTHOFBUFF+SIZEOF202VARW03MOVAX,TYPEBEGIN04MOVAX,OFFSETBEGIN【精品文檔】206MOVAX,OFFSET207MESS208;AX=116H209MOVAX,TYPEBUFF+TYPEMESS+TYPE210VARD;AX=1+1+4=06H212MESS;AX=4+10+5=19=13H213MOVAX,LENGTHOFVARW+LENGTHOF214VARD;AX=2+1=03H215MOVAX,LENGTHOFBUFF+SIZEOF216VARW;AX=10+4=14=0EH217MOVAX,TYPE218BIGIN219;AX=FF02H(近)220MOVAX,OFFSET221BEGIN222;AX=1BH【精品文檔】229COMPACT(緊湊模式)、MEDIUM(中型模式)、LARGE(大型模式)、HUGEFLAT平展模式);TINY用于創(chuàng)建COM類型程232模式。?243段定義偽指令段名定244位組合類別組名【精品文檔】245.CODE_TEXTWORDPUBLI246C'CODE'247.DATA_DATAWORDPUBLI248C'DATA'DGROUPDATA_BSSWORDPUBLIC'BSS'250DGROUP251.STACKSTACKPARASTACK252'STACK'DGROUP7;lt301a.asm(文件名)258.modelsmall259.stack260.data1stringdb‘Hello,Everybody!’,0dh,0ah.’$’262.code263start:movax,@data【精品文檔】264movds,ax265movdx,offsetstring266movah,9267int21h268movax,4c00h269int21h270endstart274;lt301a,asm275.modeltiny276.code277.startup278movdx,offsetstring279movah,9280int21h281.exit0【精品文檔】282stringdb'Hello,Everybody!'0dh,0ah,'$';283end286(1)定義常量num,其值為5;數(shù)據(jù)段中定義字?jǐn)?shù)組變量288個(gè)單元初值不定;292.modelsmall293.stack294.data295numequ5296datalistdw-1,0,2,5,4,?297.code298.startup99movbx,offsetdatalist0movcx,num【精品文檔】01xorax,ax303again:addax,[bx]304incbx305incbx6loopagain307mov[bx],ax308.exit0309end312(1)數(shù)據(jù)段從雙字邊界開始,其中定義一個(gè)100字節(jié)的數(shù)組,313同時(shí)該段還作為附加段;314(2)堆棧段從節(jié)邊界開始,組合類型為stack;315(3)代碼段的類別是’code’,指定段寄存器對應(yīng)的邏輯段;h初值;將數(shù)組元素全部317設(shè)置為64h?!揪肺臋n】stacksegmentpara320‘stack’1dw512dup(?)322stackends323datasegment324arraydb100dup(?)325dataends326codesegment‘code’assume328cs:code,ds:data,es:data,ss:stack329org100h330start:movax,data331movds,ax332moves,ax333movdi,offsetarraymoval,64h5movcx,100336cld【精品文檔】337repstosbmovax,4c00h339int21h340codeends341endstart344并將結(jié)果存入雙精度變量單元SUM中(不考慮溢出)。346;xt327.asm347.modelsmall348.stack256;350.data351Add11223344h;定義兩352個(gè)雙字的數(shù)(隨意)353Bdd77553311h354sumdd?【精品文檔】356.code357.startup58xorsi,si;359相對于變量的位移量清零movcx361分高低字分別相加,共兩次clc363;清零cf364again:movax,wordptrA[si];取第一個(gè)數(shù)365的一個(gè)字(先低字后高字)66adcax,wordptrB[si];367取第二個(gè)數(shù)的一個(gè)字(先低字后高字)368movwordptrsum[si],369ax;存和的一個(gè)字(先低字后高字)inc3722)373

溫馨提示

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

評論

0/150

提交評論