freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

匯編語言程序設(shè)計(錢曉捷)課后答案(已修改)

2025-04-21 02:35 本頁面
 

【正文】 匯編語言程序設(shè)計(第二版) 錢曉捷 習題答案第二章(01)(1)AX=1200h (2)AX=0100h (3)AX=4C2Ah (4)AX=3412h (5)AX=4C2Ah (6)AX=7856h (7)AX=65B7h (1)兩操作數(shù)類型不匹配 (2) IP指令指針禁止用戶訪問 (3)立即數(shù)不允許傳給段寄存器 (4)段寄存器之間不允許傳送 (5)兩操作數(shù)類型不匹配 (6)目的操作數(shù)應(yīng)為[ BP ] (7)源操作數(shù)應(yīng)為 [BX+DI](8)立即數(shù)不能作目的操作數(shù)lea bx,table;獲取table的首地址,BX=200H mov al,8;傳送欲轉(zhuǎn)換的數(shù)字,AL=8 xlat;轉(zhuǎn)換為格雷碼,AL=12H 堆棧是一種按“先進后出”原則存取數(shù)據(jù)的存儲區(qū)域。 堆棧的兩種基本操作是壓棧和出棧,對應(yīng)的指令是PUSH和POP。mov ax,8057h push ax mov ax,0f79h push ax pop bx 。bx=0f79h pop [bx] 。DS:[0f79h]=8057h AL=89h CF ZF SF OF PF AL=12h 1 0 0 1 1 AL=0afh 0 0 1 0 1 AL=0afh 1 0 1 0 1 AL=00h 0 1 0 0 1 AL=0ffh 0 0 1 0 1 AL=00h 0 1 0 0 1 W=X+Y+24Z(1)ADD DX,BX (2)ADD AL,[BX+SI] (3)ADD [BX+0B2H],CX (4)ADD WORD PTR [0520H],3412H (5)ADD AL,0A0H ;為了避免與操作數(shù)地址混淆,將題中X,Y,Z,V 字操作數(shù)改為A,B,C,D mov ax,X;ax=A imul Y;dx,ax = A*B (將操作數(shù)看作符號數(shù),以下同) mov cx,ax mov bx,dx;bx,ax dx,ax =A*B mov ax,Z;ax = C cwd;dx,ax =C(擴展符號后為雙字) add cx,ax adc bx,dx;bx,cx bx,cx+dx,ax=A*B+C sub cx,540 sbb bx,0;bx,cx A*B+C540 mov ax, V;ax= D cwd;dx,ax= D(擴展符號后為雙字) sub ax, cx sbb dx, bx;dx,ax = dx,ax bx,cx = D(A*B+C540) idiv X ;運算結(jié)果:[D(A*B+C540h)]/A ;ax存商,dx存余數(shù) 。(1)xchg的操作數(shù)不能是立即數(shù) (2不能對CS直接賦值 (3)兩個操作數(shù)不能都是存儲單元 (4)堆棧的操作數(shù)不能是字節(jié)量 (5)adc的操作數(shù)不能是段寄存器 (6)沒有確定是字節(jié)還是字操作 (7)in不支持超過FFH的直接尋址 (8)out只能以AL/AX為源操作數(shù)第二章(02) 指令AX的值CFOFSFZFPFMov ax,1407h1470hAnd ax,ax1470h00000Or ax,ax1470h00000Xor ax,ax000011Not ax0ffffhTest ax,0f0f0h0ffffh00101注意: 1. mov, not指令不影響標志位 2. 其他邏輯指令使CF=OF=0, 根據(jù)結(jié)果影響其他標志位。 第2章(03)。指令注釋執(zhí)行結(jié)果 CF OF SF ZF PF mov si,ax si=ax si=0008h shl si,1 si=2*ax si=0010h 0 0 0 0 0 add si,ax si=3*ax si=0018h 0 0 0 0 1 mov dx,bx dx=bx dx=0010h mov cl,03h cl=03h shl dx,cl dx=8*bx dx=0080h 0 u 0 0 0 sub dx,bx dx=7*bx dx=0070h 0 0 0 0 0 add dx,si dx=7*bx+3*ax dx=0088h 0 0 0 0 1 注意: 1. 左移N次相當于乘于2的N次方,右左移N次相當于除乘于2的N次方。 2. 移位指令根據(jù)是否移入“1”到CF,設(shè)置CF,根據(jù)移位后的結(jié)果影響SF,ZF,PF。根據(jù)最高符號位是否改變設(shè)置OF,如改變 OF=1. 3. ‘ u ’表示無定義,‘ ’表示無影響。 (1) 。不考慮進位mov bl,al mov cl,3 shl al,cl add al,bl 。shl bl,1 add al,bl ;考慮進位xor ah,ah mov bx,ax mov cl,3 shl ax,cl add ax,bx 。shl bx,1 add ax,bx (2) 數(shù)字0~9的ASCII碼是:30h~39h 非壓縮BCD碼的0~9是:00h~09h 方法一: and al,0fh 。實現(xiàn)ASCII到非壓縮BCD碼的轉(zhuǎn)換 or al,30h 。實現(xiàn)非壓縮BCD碼到ASCII的轉(zhuǎn)換 方法二: xor al,30h;求反D5D4位,其他不變 ;即高4位為3,則變?yōu)?;高4位為0,則變?yōu)? mov cl,4 again: shr dx,1 。實現(xiàn)邏輯右移 ;采用“sar dx,1”,則實現(xiàn)算術(shù)右移 rcr ax,1 dec cl jnz again 。 (1)用sar編寫 。 8086的條件轉(zhuǎn)移的轉(zhuǎn)移范圍:在當前指令地址的 +127 128之內(nèi)。 如條件轉(zhuǎn)移的轉(zhuǎn)移范圍超出此范圍,可在此范圍內(nèi)安排一條無條件轉(zhuǎn)移,再轉(zhuǎn)移到范圍外的目標地址。 (1)JMP Bx;轉(zhuǎn)移的有效地址EA=BX=1256h (2)JMP tABLE[Bx] ;轉(zhuǎn)移的有效地址EA=[ds:20a1h+1256h]=[232f7]=3280h (3)JMP [Bx][si];轉(zhuǎn)移的有效地址EA=[ds:1256h+528fh]=264e5h=2450h。 (1) xor ax,1e1eh je equal ;AX=1e1eh(異或后為0) (2)test al,10000001b jnz there ;AL的D0或D7至少有一位為1 (3) cmp cx,64h jb there ;CX(無符號數(shù))< 64h 。mov cx,0不循環(huán),因為一進入循環(huán)就判 cx=0? 如cx=0 就退出循環(huán) delay:loop delay 。 (1)若DX DI,轉(zhuǎn)到above執(zhí)行 cmp dx,di ja above;=j(luò)nbe above (2)若AX SI,轉(zhuǎn)到greater執(zhí)行 cmp ax,si jg greater;=j(luò)nle greater (3)若CX = 0,轉(zhuǎn)到zero執(zhí)行 cmp cx,0 jcxz zero jz zero(4)若AX-SI產(chǎn)生溢出,轉(zhuǎn)到overflow執(zhí)行; cmp ax,di jo overflow (5)若SI≤AX,轉(zhuǎn)到less_eq執(zhí)行; cmp si,ax cmp ax,si jle less_eq jge less_eq (6)若DI≤DX,轉(zhuǎn)到below_eq執(zhí)行。 cmp di,dx cmp dx,di jbe below_eq jae below_eq。 答:將首地址為array得20個字的數(shù)組求和,并將結(jié)果存入 total 單元中。 (1) mov si,0 mov dl,string[si];第1個字符送dl寄存器 mov si,5 mov dh,string[si];第6個字符送dh寄存器 (2) xor si,si;si清零 mov al,buffer[si];第一字節(jié) inc si mov ah,buffer[si];第二字節(jié) mov cl,4 shl ah,cl;BCD碼移到高半字節(jié) or al,ah;組合成壓縮BCD碼 mov dl,al;存入dl寄.. inc si mov al,buffer[si];第三字節(jié) inc si mov ah,buffer[si];第四字節(jié) mov cl,4 shl ah,cl;BCD碼移到高半字節(jié) or al,ah;組合成壓縮BCD碼 mov dh,al;存入dh寄.. (3) test dx,0f000h jz zero mov ax,1 jmp done zero: mov ax,0 done: ret (4) lea bx,buffer1 lea dx,buffer2 mov cx,8;8個字節(jié) xor si,si;si=0 clc;CF=0 (5) mov ax,0b800h mov ds,ax;段地址 xor si,si;地址偏移量si=0 xor dx,dx;和的高字dx=0 mov cx,99;加的次數(shù) mov ax,[si];第一個數(shù) again: inc si;指向下一個字單元 inc si add ax,[si];加下一個數(shù) jnc noc;無進位轉(zhuǎn) inc dx;有進位dx=dx+1 noc: dec cx;次數(shù)1 jnz cx,again;非0繼續(xù)加 ret (6) mov si,offset string mov cx,8000h;32k=2^15=8000h again: cmp [si],’$’ jnz next mov [si],20h;if [si]=’$’ [si] ’ ’next: inc si loop again (7) xor si,si;si0 mov cx,100;循環(huán)次數(shù) again: dec array[si] dec cx jnz again (8) xor si,si 。si0 coun: cmp string[si],’$’ je done inc si jmp coun done: ret2..27。 (1)使CF=0 : clc; and ax,ax;or ax,ax (2)使AX=0 : xor ax,ax; and ax,0;mov ax,0 (3)同時使AX=0和CF=0: and ax,0 ;xor ax,ax ;sub ax,ax。 壓縮BCD碼加法:AX←AX+BX 出口參數(shù):AX=BCD碼和。 okmsg db ‘OK’, ‘$’errmsg db ‘Error ! Overflow !’, ‘$’ … mov ax,X sub ax,Y 160
點擊復制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
公安備案圖鄂ICP備17016276號-1