微機原理第四章_第1頁
微機原理第四章_第2頁
微機原理第四章_第3頁
微機原理第四章_第4頁
微機原理第四章_第5頁
已閱讀5頁,還剩4頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、第四章 課后習題4.3 什么是指示性語句,它和指令有什么區(qū)別指示性語言是指與CPU的指令直接對應的助記符而指令是有匯編開發(fā)系統(tǒng)識別和處理的助記符前者是不被匯編開發(fā)系統(tǒng)處理的助記符.4.4 畫出下列語句的數(shù)據在存儲器中的存儲情況ARRAYB DB 12,34H,ABCD,2, DUP(?,2)ARRAYB DW 1234H,AB,CD,?,2 DUP(?,2)地址數(shù)據地址數(shù)據ARRAYBOCHARRAYB34H34H12H41H42H42H41H43H44H44H43H02H?02H02H00H?00H02H00H?00H02H00H4.5 求DLENGTH的值是多少DATA1 DW&

2、#160;? DATA2 DB 32DUP(?) DATA3 DD ? DLENGTH EQU DATA1解:DLENGTH=38=26H4.6 在某程序中需要為一個變量BUF預留500個字節(jié)的存儲空間,請寫出相應的指令,如果要預留500個字的存儲空間呢?解:DATA1 DB 500 DUP(?)ADTA2 DW 500 DUP(?)4.7程序定義如下BUFFERB DB  ABCDEF RESULT  DB  ?&

3、#160;BUFFERW DW  30 DUP(?)寫出運行結果:MOV AX, TYPE RESULT   AX=1 MOV BX, TYPE BUFFERW   BX=2 MOV CX, LENGTH BUFFERB  CX=1 MOV DX, LENGTH BUFFERW  DX=30 MOV

4、 AX, SIZE RESULT    AX=1 MOV BX, SIZE BUFFERW   BX=604.9LENG表示符號 值等于24.11 設BX=1103H,則執(zhí)行下列指令后AX和CX各為多少?若BX=03H,則結果又如何? MOV AX, BX AND 0FFH MOV CX, BX EQ 1103H解:BX=1103H AX

5、=0003H,CX=0FFFFH BX=03H AX=0003H,CX=0 4.12MOV AX,XSBB A,YMOV BX,10IDIV BXMOVBX,4MUL BXMOV Z,AX4.14XOR BX, BX  MOV CX,10 LOP: MOV AH, 01H    INT  21H   SUB  AL, 30H   

6、;MOV DL, AL   MOV AX, BX   ADD  AL, DL   AAA   MOV BX, AX   LOOP LOP4.174. 13. 設A,B是長度為10的字節(jié)數(shù)組,用串操作指令編寫程序實現(xiàn)AB兩數(shù)組內容的相互交換,試完善本程序。DATASEGMENTADB1,2,3,4,5,6,7,8,9,0AHDRG OO10HBDB

7、0AH,9,8,7,6,5,4,3,2,1DATAENDSLEA SI,ALEA DO,BMOV CX,10LOP:LODSBXCHG AL,DI DEC DISTOSB INC DILOOP LOP解:XCHG SI, DIXCHG SI, D4.18將內存中某數(shù)據塊的正數(shù)和負數(shù)分開,并分別將這些正數(shù)和負數(shù)送同一數(shù)據段的兩個緩沖區(qū)中,并在屏幕上顯示正數(shù)和負數(shù)的個數(shù)。DATA SEGMENTBUF DB 12,15,-2,3,-7,-8,19,-25N=$-BUFBUF1 DB N DUP(?) ;存放正數(shù)BUF2 DB N DUP(?) ;存放負數(shù)DATA ENDSCODE SEGMENTA

8、SSUME CS:CODE,DS:DATASTART: MOV AX,DATAMOV DS,AXLEA BX,BUF ;BX指向BUFLEA SI,BUF1 ;SI指向存放正數(shù)的緩沖區(qū)BUF1LEA DI,BUF2 ;DI指向存放負數(shù)的緩沖區(qū)BUF2MOV CX,N ;循環(huán)N次MOV DX,0 ;DH表示負數(shù)的個數(shù),DL表示正數(shù)的個數(shù),都清零 CYCLE: MOV AL,BX ;將BX指向的數(shù)送給ALCMP AL,0 ;比較AL與0的大小JG GREAT ;AL>0,則轉移至GREATMOV DI,AL ;AL<=0,將AL存入負數(shù)的數(shù)組INC DH ;負數(shù)的個數(shù)加1INC DI

9、;DI指向下一個負數(shù)JMP NEXTGREAT: MOV SI,AL ;AL>0,將AL存入正數(shù)的數(shù)組INC DL ;正數(shù)的個數(shù)加1INC SI ;SI指向下一個負數(shù)NEXT: INC BX ;判斷下一個數(shù)LOOP CYCLEADD DL,30H ;將正數(shù)的個數(shù)變成字符輸出MOV AH,2INT 21HADD DH,30H ;將負數(shù)的個數(shù)變成字符輸出MOV DL,DHMOV AH,2INT 21HMOV AH,4CHINT 21HCODE ENDSEND START4.20現(xiàn)有一子程序:SUB1PROCTEST AL,80HJE PLUSTEST BL,80HJNE EXITOJMP X

10、CHANGEPLUS:TEST BL,80HJE EITOXCHANGE:XCHG AL,BLEWITO:RETSUB1ENDP試回答:(1) 子程序的功能是什么?(2) 如調用子程序前AL9AH,BL77H,那么返回主程序時,AL?BL?解:(1) 測試AL, BL兩數(shù)的符號,如為同號直接返回,如為異號,則AL與BL交換(2) AL=77H, BL=9AH4.21作用1、DOS鍵盤功能調用2、DOS顯示功能調用3、DOS打印功能4、DOS串行口通信功能調用區(qū)別 bios是主板預裝好的input、output系統(tǒng),而dos是需要安裝才能使用操作系統(tǒng)。用int條用中斷以后可以通過不同的系統(tǒng)達到不

11、同的目的和效果。其中int 1 -20 是bios中斷,int21 專門用于dos中斷4.24ATA SEGMENT NUMBER DB ?;存放統(tǒng)計數(shù)據,在程序退出以前可以在此看到統(tǒng)計數(shù)據,若對程序才算對 STR1 DB 'ASDAASZXCFGRSAAXADRRAT$'可以自己隨便定義,注意以$結尾DATA ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATASTART: MOV AX,DATA;給數(shù)據段賦值 MOV DS,AX LEA SI,STR1;字符串首地址 MOV BL,0;存放統(tǒng)計個數(shù)的寄存器賦初值LOOP1: MOV CL,SI;取數(shù)據 INC SI CMP CL,'$'看是否

溫馨提示

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

評論

0/150

提交評論