匯編程序匯總_第1頁(yè)
匯編程序匯總_第2頁(yè)
匯編程序匯總_第3頁(yè)
匯編程序匯總_第4頁(yè)
匯編程序匯總_第5頁(yè)
已閱讀5頁(yè),還剩2頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、精選優(yōu)質(zhì)文檔-傾情為你奉上設(shè)平面上一點(diǎn)p的直角坐標(biāo)為(x,y),x,y為字符號(hào)數(shù),試編制若P落在第i象限內(nèi),則令k=i;若P落在坐標(biāo)軸上,則令k=0的程序。stack segment stack'stack' dw 32 dup(0)stack endsdata segmentx dw 0y dw 30k db 0data endscode segmentbegin proc far assume ss:stack,cs:code,ds:data push ds sub ax,ax push ax mov ax,data mov ds,ax mov ax,x jz x0y0 m

2、ov ax,y jz x0y0 mov ax,x js x1 mov ax,y js y1 mov k,1 jmp enddy1: mov k,4 jmp enddx1: mov ax,y js y2 mov k,2 jmp enddy2: mov k,3 jmp enddx0y0: mov k,0 jmp enddendd: mov dl,k add dl,30h mov ah,2 int 21h retbegin endpcode ends end begin編寫(xiě)程序,將字節(jié)變量BVAR中的無(wú)符號(hào)二進(jìn)制數(shù)(00FFH)轉(zhuǎn)換為BCD數(shù),在屏幕上顯示結(jié)果。stack segment stack

3、 stackdw 32 dup(0) stack ends data segment BVAR DB 99H OBUF DB 4 DUP(0) data ends code segment begin proc far assume ss: stack, cs: code, ds: data push ds sub ax, ax push ax mov ax, data mov ds, axMOV AL ,BVAR MOV AH, 0 MOV DL, 100 DIV DL ADD AL, 30H Mov obuf,alMOV AL,AH AAM ADD AX,3030H MOV OBUF+1,

4、AH MOV OBUF+2,AL MOV OBUF+3,$MOV DX OFFSET OBUF MOV AH,9 INT 21H ret begin endp code ends end begin1. 編寫(xiě)源程序?qū)崿F(xiàn)以下功能:z=|x-y|。x、y、z均為字節(jié)變量。stack segment stack'stack' dw 32 dup(0)stack endsdata segmentx db 12hy db 10hz db 0data endscode segmentbegin proc far assume ss:stack,cs:code,ds:data push ds

5、 sub ax,ax push ax mov ax,data mov ds,ax mov al,x cmp al,y jge a1 sub y,al mov ah,y mov z,ah jmp exit a1:sub al,y mov z,al exit: retbegin endpcode ends編寫(xiě)源程序?qū)崿F(xiàn)以下功能,在顯示器上顯示:Enter the string:I am a ChineseOutput the string again:I am a Chinesestack segment stack 'stack' dw 32 dup(0)stack endsda

6、ta segmentOBUF DB 'Enter the string:$'IBUF DB 0FFH,0,255 DUP(0)OBUF1 dB 'Output the string again:$'data endscode segmentbegin proc far assume ss:stack,cs:code,ds:data push ds sub ax,ax push ax mov ax,data mov ds,ax MOV DX,OFFSET OBUF MOV AH,9 INT 21H mov dl,0ah mov ah,2 int 21h mov d

7、l,0dh mov ah,2 int 21h MOV DX,OFFSET IBUF MOV AH,10 INT 21H mov dl,0ahmov ah,2int 21hmov dl,0dhmov ah,2int 21h MOV DX,OFFSET OBUF1 MOV AH,9 INT 21H mov dl,0ah mov ah,2 int 21hmov dl,0dhmov ah,2int 21hmov bl,ibuf+1mov bh,0 MOV iBUFBX+2,'$' MOV DX,OFFSET ibuf+2 MOV AH,9 INT 21H RETbegin endpco

8、de ends end begin編寫(xiě)源程序?qū)崿F(xiàn)以下功能:將字節(jié)變量BVAR中存放的兩位壓縮BCD數(shù)轉(zhuǎn)換為二進(jìn)制數(shù),并存入原字節(jié)變量中。程序運(yùn)行后,如何查看字節(jié)變量BVAR中存放的內(nèi)容? 1.stacksegment stack 'stack'dw 32 dup(0)stackendsdatasegmentsttDB 10,0,10 dup (0),'$'dataendscodesegmentbeginproc farassume ss:stack,ds:data,cs:codepush dssub ax,axpush axmov ax,datamov

9、 ds,axmov dx,offset sttmov ah,10int 21hmov bh,stt+2mov bl,stt+3and bh,0fhand bl,0fhmov al,bhmov ch,10mul chadd al,blmov bl,aland al,01hmov stt+8,aladd stt+8,30hmov cx,7mov si,7bv:mov al,blshr al,1mov bl,aland al,01hmov sttsi,aladd sttsi,30hdec siloop bv mov dx,offset sttmov ah,9int 21hrendsend begin

10、etbeginendpcodeendsbegin end1)寫(xiě)出實(shí)驗(yàn)源程序。(2)請(qǐng)回答以下問(wèn)題:匯編源程序的后綴名是(.asm);源程序要通過(guò)(masm.exe)程序編譯生成目標(biāo)文件,目標(biāo)文件的后綴名是(.obj);目標(biāo)文件要通過(guò)(link.exe)程序生成可執(zhí)行文件,可執(zhí)行文件的后綴名是(.exe )。1)寫(xiě)出實(shí)驗(yàn)源程序。(2)請(qǐng)回答以下問(wèn)題:匯編源程序的后綴名是(.asm);源程序要通過(guò)(masm.exe)程序編譯生成目標(biāo)文件,目標(biāo)文件的后綴名是(.obj);目標(biāo)文件要通過(guò)(link.exe)程序生成可執(zhí)行文件,可執(zhí)行文件的后綴名是(.exe )。stack segment stack

11、stack dw 32 dup (0)stack endsdata segmentobf db wish you success!$data endscode segmentstart proc far assume ss: stack, cs: code, ds: data push ds sub ax, ax push ax mov ax, data mov ds, ax mov dx, offset obf mov ah, 9 int 21h retstart endpcode ends end start寫(xiě)ASCII碼的查詢程序。要求該程序運(yùn)行后顯示提示信息:“The ASCII co

12、de of”,待查詢者輸入欲查字符后再顯示“is”和該字符的ASCII碼,換行后又輸出提示信息“The ASCII code of”待查,如此不斷循環(huán)。直至查詢者輸入回車(chē)符輸出“is 0DH”后,結(jié)束該程序的運(yùn)行。stack segment stack stackdw 32 dup(0)stack endsdata segmentobuf DB 0DH, 0AH, The ASCII code of $enter DB The ASCII code of enter is 0DH$is DB 20h, is,20h,0,0,H$data endscode segmentbegin proc f

13、arassume ss: stack, cs: code, ds: datapush dssub ax, axpush axmov ax, datamov ds, axA1: MOV AH, 9MOV DX, OFFSET obufINT 21HMOV AH, 1INT 21HCMP AL, 0DHJE A4MOV AH, ALMOV CL,4SHR AH, CLADD AH, 30HCMP AH, 3AHJC A2ADD AH, 7A2: MOV is+4, AHAND AL,0FHADD AL,30HCMP AL, 3AHJC A3ADD AL,7 A3: MOV is+5,Al MOV

14、DX,OFFSET isMOV AH,9INT 21H JMP A1 A4: MOV AH,9MOV DX,OFFSET enterINT 21Hretbegin endpcode endsend begin1)寫(xiě)出實(shí)驗(yàn)源程序。(2)畫(huà)出程序中數(shù)據(jù)段的內(nèi)存示意圖;指出每條指令中目的操作數(shù)的尋址方式(3)-u命令的功能:一次反匯編的32個(gè)字節(jié) -r命令的功能:檢查寄存器里面的數(shù)據(jù) -d命令的功能:檢查存儲(chǔ)器里面的數(shù)據(jù) -p命令的功能:?jiǎn)尾秸{(diào)試 -q命令的功能:退出 -g命令的功能: stacksegment stack 'stack'dw 32 dup (0)stack

15、endsdatasegmentdataendscodesegmentbeginproc farassume ss:stack,cs:code,ds:datapush dssub ax,axpush axmov ax,datamov ds,axmov ax,1234hmov ds:1000h,axmov bx,1002hmov byte ptrbx,20hmov dl,39hinc bxmov bx,dldec dlmov si,1mov bx+si,dlmov bx+si+1,dlmov word ptr bx+si+2,2846hretbeginendpcodeendsend begin d

16、ata34h12h20h39h39h39h46h28h編寫(xiě)源程序?qū)崿F(xiàn)以下功能:將字節(jié)變量BVAR中存放的兩位壓縮BCD數(shù)轉(zhuǎn)換為二進(jìn)制數(shù),并存入原字節(jié)變量中。stack segment stack'stack' dw 32 dup(0)stack endsdata segmentbvar db 25data endscode segmentbegin proc farassume ss:stack,cs:code,ds:data push ds sub ax,ax push ax mov ax,data mov ds,ax mov al,bvar mov ch,0ah and a

17、l,0f0h mov cl,4 sar al,cl mul ch and bvar,0fh add word ptr bvar,ax retbegin endpcode ends end begin編程序?qū)⒎?hào)字?jǐn)?shù)組ARRAYW中的正負(fù)數(shù)分別送入正數(shù)數(shù)組PLUS和負(fù)數(shù)數(shù)組MINUS,同時(shí)把0元素個(gè)數(shù)送入字變量ZERON中。stacksegment stack 'stack'dw 32 dup (0)stackendsdatasegmentARRAYWdw 0,1,2,-2,-3,2,-3,0,4,-5count($ - arrayw)/2PLUSdw 10 dup (0)MIN

18、USdw 10 dup (0)ZERONdb 0dataendscodesegmentbeginproc farassume ss:stack,ds:data,cs:codepush dssub ax,axpush axmov ax,datamov ds,axmov bx,offset arraywmov dx,0mov si,0mov cx,countpush bxsst:pop bxmov ax,arraywbxcmp ax,0jnz sst2inc zeronadd bx,2push bxloop sstretsst2:add bx,2push bxjs sst3mov bx,dxmov plusbx,axadd dx,2loop sstretsst3:mov minussi,axadd si,2loop sst1retbeginendpcodeendsend begin(1)寫(xiě)出實(shí)驗(yàn)源程序。(2)畫(huà)出程序運(yùn)行后內(nèi)存中數(shù)據(jù)段的數(shù)據(jù)存儲(chǔ)示意圖。 stacksegment stack 'stack'dw 32 dup (0)stackendsdatasegmentBUFDB 58HOBUF1DB 0AH,0DH,'(BUF)='OBUF2DB 4 DUP(0)dataendscodesegmentbeginproc farassum

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論