版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、精選優(yōu)質(zhì)文檔-傾情為你奉上精選優(yōu)質(zhì)文檔-傾情為你奉上專心-專注-專業(yè)專心-專注-專業(yè)精選優(yōu)質(zhì)文檔-傾情為你奉上專心-專注-專業(yè)習題一1 無符號數(shù): =211=D3H,=119=77H,=131=83H,=47=2FH,=170=AAH帶符號數(shù):= -45=D3H,=+119=77H,= -125=83H,=+47=2FH,= -86=AAH2 5E8AH,0BE6H,3DEH,4940H3 +=52H=82+=31H=49+=10H=16+=8BH= -1174+=+=82H=82=49H=49+=+=84H=8410010+=00111+=00111=0207H=2075 A3H,F(xiàn)F94H
2、,H,007FH,F(xiàn)FFFEC00H6 無符號數(shù):065535,0000HFFFFH;帶符號數(shù):-32768+32767,8000H7FFFH7 (1) 38H等于十進制數(shù)56,是十進制數(shù)56的補碼,數(shù)字8的ASCII碼,十進制數(shù)38的壓縮BCD碼(2) FFH等于十進制數(shù)-1,是帶符號數(shù)-1的補碼,無符號數(shù)為255(3) 5AH等于十進制數(shù)90,是十進制數(shù)90的補碼,大寫字母Z的ASCII碼(4) 0DH等于十進制數(shù)13,是十進制數(shù)13的補碼,回車符的ASCII碼8 (1) 108=B=6CH,補碼B,壓縮BCD碼01000,ASCII碼H(2) 46=B=2EH,補碼B,壓縮BCD碼,AS
3、CII碼3436H(3) 15=B=F1H,補碼B,ASCII碼2D3135H(4) 254=11110B=00FEH,補碼11110B,壓縮BCD碼10100,ASCII碼H9 (1) 56+63=B,CF=0,SF=0,ZF=0,OF=0(2) 83-45=B,CF=0,SF=0,ZF=0,OF=0(3) -74+29=B,CF=0,SF=1,ZF=0,OF=0(4) -9237=B,CF=1,SF=0,ZF=0,OF=110 回車、換行、響鈴、ESC鍵、空格鍵、P、p習題二9 最少劃分為16個邏輯段,最多劃分為65536個邏輯段(每段16個字節(jié))10 CS:IP,DS:BX、SI、DI,
4、ES:BX、SI、DI,SS:SP、BP11 字節(jié)單元保存8位數(shù),字單元保存16位數(shù)。根據(jù)源操作數(shù)的屬性確定要訪問的是字節(jié)單元還是字單元。 12 對于字節(jié)單元來說,偶地址和奇地址一樣;對于字單元而言,最好用偶地址保存,可減少CPU的訪存次數(shù)。13 首單元的物理地址=38AE8H,末單元的物理地址=38AE8H+7FFFH=40AE7H16 (1)物理地址=27679H (2) 物理地址=20F92H (3) 物理地址=20F92H (2)和(3)的物理地址是一樣的。說明邏輯地址不唯一,多個邏輯地址可對應到同一個物理單元上。17 代碼段CS:IP的物理地址=55A84H 堆棧段SS:SP的物理地
5、址=4DB65H數(shù)據(jù)段DS:BX的物理地址=17678H 附加段ES:DI的物理地址=2BA41H18 當前棧指針所指單元的物理地址是1522CH。堆棧區(qū)中還能保存254個字。19 執(zhí)行E 20020 執(zhí)行U 100 21 執(zhí)行R CX,然后輸入10022 執(zhí)行E DS:0 a b c d 習題三3 MOV AX,BX 源操作數(shù)為寄存器尋址,EA 無,物理地址 無MOV AX,1290H 立即尋址,EA 無,物理地址 無MOV AX,BX 寄存器間接尋址,EA=1290H, 物理地址=2FBB0HMOV AX,DS:1290H 直接尋址,EA=1290H, 物理地址=2FBB0HMOV AX,
6、BP 寄存器間接尋址,EA=6756H, 物理地址=26A56HMOV DIBX,AX 目的操作數(shù)為基址變址尋址,EA=3C06H, 物理地址=32526HMOV ES:SI,AX 寄存器間接尋址,EA=348AH, 物理地址=50CAAH7 MOV AX,CX 錯。CX不能為間址寄存器MOV AL,1200H 錯。立即數(shù)超出8位寄存器范圍MOV AL,BX 錯。兩個操作數(shù)不匹配MOV SIDI,AX 錯。兩個變址寄存器不能在一起MOV ES:DX,CX 錯。DX不能為間址寄存器MOV AX,VALUE 錯。AX不能為間址寄存器MOV COUNT,SI 錯。兩個操作數(shù)不能都是存儲單元8 (1)
7、 MOV AX,BX (2) MOV CL,15 (3) ADD AX,BX (4) MOV BX+SI,AL (5) MOV AX,VALUESI (6) SUB AX,DS:2000H9 (1) ADD AX,X+4MOV Y,AX (2) MOV BX,4ADD AX,XBX MOV Y,AX(3) MOV BX,4MOV SI,OFFSET XADD AX,BX+SIMOV Y,AX10 立即尋址方式中操作數(shù)(立即數(shù))和指令一起存放在代碼段中。習題四10 (1) DATA SEGMENTX DW 0Y DW 0DATA ENDS(2) STRING DB Computer(3) COU
8、NT DB 100 DUP(?)(4) PI EQU 3.14(5) VALUE LABEL BYTE11 (1)對。(2)錯。260超出了字節(jié)范圍。(3)錯。X3是字節(jié)型,1234H是字型,不匹配。(4)對。(5)錯。缺少DUP。(6)對。12 (1)AL=3。(2)AX=2103H。(3)DX=TABLE的偏移地址。(4)CL=33H(5)BX=TABLE的段地址。(6)BX=1。(7)DX= TABLE的偏移地址。13 MOV DX,2012HMOV AX,5D68HMOV CX,1003HMOV BX,49A6HADD AX,BX (SUB AX,BX)ADC DX,CX (SBB D
9、X,CX)14 SUB AX,CXSBB DX,015 MOV AX,extraMOV ES,AX16 (1) MOV AL,16ADD AL,XMOV BL,5IMUL BLMOV Z,AX(2) MOV BL,4MOV AL,XIDIV BLSUB AL,YMOV Z,AX(3) MOV AL,XMOV BL,8IMUL BLMOV DX,AXMOV AH,0MOV AL,YMOV BL,16IDIV BLCBWADD DX,AXMOV AH,0MOV AL,WIMUL ALSUB DX,AXMOV Z,DX(4) MOV AL,XADD AL,YMOV BL,XSUB BL,YMOV A
10、H,0IMUL BLMOV Z,AXMOV AL,XIDIV YCBWSUB Z,AX17 Z= (5+22-15)*14= 16818 從偽指令END START處獲知程序從START標號開始。19 (1)減法: (2) 加法:MOV AX,8576H MOV AX,8576HMOV BX,9988H MOV BX,9988HSUB AX,BX ADD AX,BX結(jié)果:AX=EBEEH 結(jié)果:AX=1EFEHCF=1,OF=0,ZF=0,SF=1 CF=1,OF=1,ZF=0,SF=021 (1) MOV AL,56HMOV BL,34HADD AL,BLDAAMOV Y1,AL(2) MO
11、V AX,128HMOV BX,35HSUB AX,BXDASMOV Y2,AL(3) MOV AL,68HMOV BL,23HADD AL,BLMOV BL,45HSUB AL,BLDASMOV Y3,AL22 (1) MOV AX,0708HMOV BX,0406HADD AL,BLADD AH,BH ;不用帶進位加AAA ;加法調(diào)整,含進位調(diào)整MOV BX,AXXCHG AH,AL ;高4位調(diào)整AAAMOV BH,ALMOV Z1,BX ;保存十位、各位,百位在CF中(2) MOV AX,0905HMOV BX,0207HSUB AL,BLSUB AH,BH ;不用帶借位減AAS ;減法
12、調(diào)整MOV Z2,AX(3) MOV AX,0102HMOV BX,0006HMUL BX ;乘法先不用調(diào)整MOV BX,0303HSUB AX,BXAAS ;減法調(diào)整MOV Z3,AX(4) MOV AX,0704HMOV BX,0108HADD AL,BLADD AH,BHAAA ;加法調(diào)整MOV BL,6AAD ;除法調(diào)整DIV BLMOV BH,AH ;余數(shù)保存在BHAND AX,000FHAAA ;商調(diào)整MOV Z4,AX ;保存商23 .model small.databuff db ?.codestart:mov ax,datamov ds,axmov ah,1 ;鍵盤輸入int
13、 21hsub al,30h ;去掉ASCII碼mov buff,almov ah,4chint 21hend start24 .model small.codestart:mov ah,1 ;鍵盤輸入int 21hsub al,20h ;變?yōu)榇髮憁ov dl,almov ah,2int 21hmov ah,4chint 21hend start25 .model small.datax db 12hy db 34h.codestart:mov ax,datamov ds,axmov al,xadd al,y ;結(jié)果為46Hmov ah,al ;AH=46Hand al,0fh ;AL=06H
14、mov cl,4rol ah,cl ;AH=64Hand ah,0fh ;AH=04Hadd ax,3030h ;AX=3436Hmov bx,axmov dl,bh ;顯示4mov ah,2 int 21hmov dl,bl ;顯示6int 21hmov ah,4chint 21hend start26 data segment x db 0.000,1.000,1.414,1.732,2.000db 2.236,2.449,2.646,2.828,3.000 ;建立字符表y db 5 dup(?) ;存放查到平方根u db 3 ;要查的數(shù)data endscode segmentassum
15、e cs:code,ds:datastart:mov ax,datamov ds,axmov al,u ;要查的數(shù)mov cl,5mul cl ;u*5=15(號單元開始)mov ah,0mov bx,ax ;地址保存到bxmov si,0let1:mov al,xbx ;取出平方根數(shù)字mov ysi,al ;存入yinc siinc bxloop let1 ;循環(huán)取出5次mov ah,4chint 21hcode endsend start27 .model small.datax1 db zhang yan $ ;姓名為10個字符寬度x2 db li li $x3 db wang lan
16、$x4 db zhao xue $x5 db li jiang $u db 3 ;要查的學號.code start:mov ax,datamov ds,axmov al,u ;給出學號mov cl,10mul cl ;u*10=30(號單元開始)mov ah,0mov dx,ax ;地址保存到dxmov ah,9 ;9號功能顯示字符串int 21hmov ah,4chint 21hend start28編程實現(xiàn)公式計算Z=X/4+16Y。.model small.datax db 4 y db 6z db ?.code start:mov ax,datamov ds,axmov al,x ;m
17、ov cl,2sar al,cl ; X/4mov cl,4mov bl,ysal bl,cl ;16Yadd al,bl ;X/4+16Ymov z,almov ah,4chint 21hend start29 .model small.datay db ?,?.code start:mov ax,datamov ds,axmov al,3 ;設al=3mov cl,6mul cl ;al*6mov cl,4 ;設cl=4sub al,cl ;相減mov bl,3 idiv bl ; /3mov y,al ;商mov y+1,ah ;余數(shù)mov ah,4chint 21hend start習
18、題五11 進位標志CF=1 12 先把AX的值除以8等于0246H,再把高12位屏蔽為0,剩下AL=06H加上30H變?yōu)锳SCII碼顯示出來。13 判斷X0,是,Z=X-Y;否則Z=X的絕對值 14(1) 目的操作數(shù)是存儲單元時,要用PTR偽操作指出單元的屬性 (2)DS段寄存器使用非法 (3)立即數(shù)使用非法 (4) 目的操作數(shù)不允許是立即數(shù) (5) 兩個操作數(shù)不允許都是存儲單元 (6)移位次數(shù)超過1要用CL表示。15 AND AL,B16 (1) AL=30H (2) AL=B7H (3) AL=C8H (4)AL=38H27 分支程序設計。完成如下公式的計算,請寫出程序。 (X+3)/2
19、X0Y= 0 X=0 X4 X0程序如下:DATA SEGMENTX DB 23Y DB ?DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART:MOV AX,DATAMOV DS,AXMOV AL,XCMP AL,0JE SUB2JG SUB1MOV CL,2SAL AL,CLJMP SHORT SUB2SUB1:ADD AL,3SAR AL,1SUB2: MOV Y,ALMOV AH,4CHINT 21HCODE ENDSEND START28 設X、Y、Z為字節(jié)單元。如果X0,Z=4X-Y/16,否則,Z=X的絕對值。編程序?qū)崿F(xiàn)。程序如下:DA
20、TA SEGMENTX DB 3Y DB 5Z DB ?DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART: MOV AX,DATAMOV DS,AXMOV AL,XCMP AL,0JL SS1MOV CL,2SAL AL,CLMOV BL,YMOV CL,4SAR BL,CLSUB AL,BLJMP OUT1SS1: NEG ALOUT1: MOV Z,ALMOV AH,4CHINT 21HCODE ENDSEND START29 字數(shù)組M中有10個數(shù)據(jù),分類統(tǒng)計其中正數(shù)、負數(shù)、0的個數(shù),分別存入POSI、NEGA、ZERO 單元。程序如下:DA
21、TA1 SEGMENTM DW 21,-34,32,112,-324,0,76,0,48,50POSI DW ?NEGA DW ?ZERO DW ?DATA1 ENDSCODE1 SEGMENTASSUME CS: CODE1,DS:DATA1START: MOV AX,DATA1MOV DS,AXMOV CX,10LEA SI,MAGAIN: CMP WORD PTR SI,0JL LOWERJE EQUALINC POSIJMP LPP1LOWER: INC NEGAJMP LPP1 EQUAL: INC ZEROLPP1: ADD SI,2DEC CXJNZ AGAINMOV AH,4C
22、HINT 21HCODE1 ENDSEND START30 試編寫程序,從鍵盤接收一英文單詞,以空格結(jié)束,將其存入BUF開始的存儲單元中,并在最后加上字符串結(jié)束符$。主要程序部分:LEA BX,BUFLOP: MOV AH,1INT 21HCMP AL,20HJE NEXTMOV BX,ALINC BXJMP LOPNEXT: MOV BYTE PTRBX,$31 編程。將AX寄存器中的16位數(shù)分成4組,每組4位,從低到高分別放在AL,BL,CL,DL中。程序段:START:MOV AX,1234HMOV BX,AXAND AL,0FH ;4AND BL,0F0H ;3AND AH,0FHMO
23、V CL,AH ;2AND BH,0F0HMOV DL,BH ;1習題六11 累加和TOTAL=8312 循環(huán)統(tǒng)計X中0的個數(shù)13 (1) 將BB1:RCL AL,1改為BB1:ROL AL,1(2) 將BB2:CMP BX,TLOOPNE BB2改為:DEC BXBB2:INC BXCMP BX,TLOOPNE BB215 計算Y=12+34+56+78+910的程序段答案:MOV AL,1MOV BL,2MOV DX,0MOV CX,5AA1:MUL BLADD DX,AXINC BLMOV AL,BLINC BLLOOP AA116寫程序段。查找CATT表中的字符”,找到后將SIGN單元
24、置1,否則SIGN單元置0。catt db asddddsign db ?mov ax,extramov es,axmov sign,0mov al,lea di,cattcldmov cx,7repnz scasbjcxz neemov sign,1nee: mov ah,4chint 21h17寫程序段。在長度為N的字數(shù)組VALUE中統(tǒng)計負數(shù)的個數(shù)并保存到AX中。value dw 2,-4,-5,3,6,6,-8n equ ($-value)/2 ;元素個數(shù)start: mov ax,datamov ds,axmov cx,nmov bx,0mov ax,0rept1:mov si,val
25、uebx ;取出元素cmp si,0 jge let1 ;0 轉(zhuǎn)let1inc ax ;為負數(shù),ax加1let1: add bx,2loop rept118從鍵盤輸入一個數(shù)字,在屏幕上顯示出以該數(shù)字開始10個數(shù)字串。CODE SEGMENTASSUME CS:CODESTART: MOV AH,1INT 21HMOV CX,10MOV BL,ALREPT1: CMP BL,9JLE NEXTSUB BL,10NEXT: MOV DL,BLMOV AH,2INT 21HINC BLLOOP REPT1MOV AH,4CHINT 21HCODE ENDSEND START19 data segme
26、ntbunch1 db stadentbunch2 db studEntdata endscode segmentassume cs:code,ds:data,es:datastart:mov ax,datamov ds,axmov es,axlea si,bunch1lea di,bunch2mov bx,0 ;bh=相同的個數(shù),bl=不同的個數(shù)mov cx,7let1:mov al,sicmp al,di ;兩字符比較jz equl ;相同轉(zhuǎn)equlinc bl ;不同bl加1jmp out1equl: inc bhout1:inc siinc diloop let1mov dl,n ;顯
27、示n,代表不同mov ah,2hint 21hadd bl,30h ;加上ASCII碼mov dl,bl ;顯示不同的個數(shù)int 21hmov dl,e ;顯示e,代表相同int 21hadd bh,30hmov dl,bh ;顯示相同的個數(shù)int 21h mov ah,4chint 21hcode endsend start21 DATA SEGMENTSTR DB SDABF G H0DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART:MOV AX,DATAMOV DS,AXLEA DI,STRSPACE:MOV CX,10MOV AL,DIC
28、MP AL,0JE OUTCMP AL,20HJE DELETEJMP EXITSUB CX,DIMOV SI,DIDELETE:MOV BL,SI+1MOV SI,BLINC SILOOP DELETEEXIT:JMP SPACEOUT:MOV AH,4CHINT 21HCODE ENDSEND START23設計思路:(1) 用EQU偽指令獲得需轉(zhuǎn)換的十進制數(shù)的個數(shù);(2) 用雙重循環(huán)。外循環(huán)控制個數(shù),用x作為中間變量;(3) 內(nèi)循環(huán)將一個3位十進制數(shù)去掉ASCII碼后按位數(shù)擴大10倍再相加,保存后即存儲為二進制數(shù);(4) 分兩個數(shù)組保存ASCII碼表示的十進制數(shù)和轉(zhuǎn)換后的二進制數(shù)。程序如
29、下: ; 6-23.asm 將內(nèi)存中用ASCII碼表示的100以內(nèi)的十進制數(shù)轉(zhuǎn)變?yōu)槎M制數(shù)data segmentscore1 db 36h,37h,20h,31h,30h,30h,38h,35h,20h,31h,30h,30h ;即67,100,85,100 x dw ?n equ 3 ;三位數(shù)num equ (x-score1)/n ;十進制數(shù)個數(shù)score2 dw num dup(0) ;保存轉(zhuǎn)換后的二進制數(shù)data endscode segmentassume cs:code,ds:datastart: mov ax,datamov ds,axmov cx,num mov si,-2m
30、ov bx,0rept1: push cx ;保存外循環(huán)次數(shù)mov cx,nrept2: mov al,score1bx ;從score1取數(shù)cmp al,30h ;判斷是否0-9jl exitcmp al,39hjg exitand ax,000fh ;去掉ASCII碼xchg ax,x mov dx,10 ;將ax中前一次形成的數(shù)擴大10倍mul dx xchg ax,xadd x,ax ;相加后保存到xexit: inc bx ;取下一位數(shù)loop rept2pop cx ;彈出外循環(huán)次數(shù)add si,2mov ax,xmov score2si,ax ;轉(zhuǎn)換后的數(shù)據(jù)保存到score2mo
31、v x,0 loop rept1mov ah,4chint 21hcode endsend start習題七12 功能:兩個字節(jié)數(shù)相加。X和BL相加保存到Y(jié)。13 功能:鍵盤輸入的字符保存到KEY單元中,直到按回車為止。14 功能:將X單元中的十六進制3AH變?yōu)槭M制入棧保存,AH中為余數(shù)。先將0008H入棧,再將0005H入棧,結(jié)果為58。16PUSH AXPUSH BXMOV BX,0LET1:MOV AH,1INT 21HCMP AL,0DH ;輸入回車退出JZ EXITMOV BUFFERBX,AL ;保存到BUFFERINC BXJMP LET1EXIT:POP BXPOP AXRE
32、TKEY_IN ENDP17 KEY_IN_DEC PROC PUSH AXPUSH BXMOV X,0MOV BX,0MOV SI,0LET1:MOV AH,1INT 21HCMP AL,0DH ;輸入回車退出JZ EXITMOV BUFFERSI,AL ;保存到BUFFERINC SIJMP LET1EXIT:MOV CX,SI ;位數(shù)放在CXMOV SI,0LET2:MOV AL, BUFFERSISUB AL,30HMOV AH, 0XCHG AX,X ;形成十進制數(shù)MOV BX,10MUL BXXCHG AX,XADD X,AX ;保存INC SILOOP LET2POP BXPOP AXRETKEY_IN _DEC ENDP23 calcu procpush axpush bxpush simov ax,0mov al,xand al,aljns zzneg almov fuhao,-zz:mov si,0mov bx,10 ;將ax變?yōu)槭M制數(shù)真值let1:mov dx,0inc si ;統(tǒng)計余數(shù)個數(shù)idi
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年財務會計制度執(zhí)行與審計手冊
- 高職學生創(chuàng)新能力培養(yǎng)方案設計
- 物業(yè)服務合同及履約管理要點
- 中小學德育課程內(nèi)容開發(fā)與實施
- 2017年秋季幼兒園安全管理工作計劃
- 2026年智能眼鏡輔助駕駛報告及未來五至十年智能交通報告
- 五星級酒店客房服務流程標準
- 建筑工地安全文明施工標準操作細則
- 教育培訓機構(gòu)課程設置與質(zhì)量監(jiān)控
- 維修改造項目監(jiān)理方案與流程
- 初中寒假計劃課件
- 2024-2025學年江蘇省南京市玄武區(qū)八年級上學期期末語文試題及答案
- 專升本語文教學課件
- 別人買房子給我合同范本
- 電力通信培訓課件
- 中建三局2024年項目經(jīng)理思維導圖
- 基層黨建知識測試題及答案
- DG-TJ08-2021-2025 干混砌筑砂漿抗壓強度現(xiàn)場檢測技術(shù)標準
- 鼻竇炎的護理講課課件
- 腸系膜脂膜炎CT診斷
- 體外膜肺氧合技術(shù)ECMO培訓課件
評論
0/150
提交評論