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

正文內(nèi)容

ibm-pc匯編語言程序設(shè)計-資料下載頁

2025-07-15 22:48本頁面
  

【正文】 YPE V1 。01H MOV BL, TYPE V2 。02H MOV CL, TYPE V3 。04H LENGTH和 SIZE ? LENGTH返回數(shù)組變量元素的個數(shù) ? SIZE返回數(shù)組元素的字節(jié)大小 Size = length * type ORG 和 $ ? ORG n ? 定位常數(shù)值為 n的偏移地址 ? $ ? 當(dāng)前偏移地址 ?例: ORG $+8 ? 可以表示跳過 8個字節(jié)的存儲區(qū) 例題 ?例如: BUF DW 1,2,$+1,3 如果 BUF的偏址為 10H,問內(nèi)存情況如何? ?例如: ?BUF DB 1,2,3,4 ?ABC EQU $ OFFSET BUF ? 問 ABC等于什么? PTR ?強(qiáng)制修改操作數(shù)的類型 ?例如: ? MOV [BX], AX 對 ? MOV [BX], 4 錯 改為: ? MOV WORD PTR [BX], 4 ? MOV BYTE PTR [BX], 4 簡單的算術(shù)運(yùn)算 ADD dest, source SUB dest, source INC dest DEC dest ? 操作數(shù)的類型一定要一致 ? 對標(biāo)志寄存器起作用 ? 源操作數(shù) 可以為常數(shù),存儲器地址,通用寄存器 ? 目標(biāo)寄存器 可以為通用寄存器或者存儲器地址 ? 不能同時為操作數(shù) 2 尋址方式 Assembly Language Programming 尋址方式 ? 尋址方式定義了: ? 操作數(shù)獲取數(shù)據(jù)的方法 ? 將數(shù)據(jù)放置到目的的方法 ? 操作數(shù)的數(shù)據(jù)來源主要有: ? 來自寄存器 ——寄存器模式 ? 來自 指令 ——立即尋址模式 ? 來自存儲器 ——存儲器模式 ?直接尋址 ?直接-偏移量尋址 ?寄存器間接尋址 ?基址-位移量尋址 ?基址-變址尋址 ?帶位移量的基址-變址尋址 寄存器尋址 ?格式 : 寄存器的名稱 ?允許的寄存器:任何寄存器 ?操作數(shù):寄存器中的數(shù)據(jù)值 ?舉例: ? ADD AX, BX ? MOV AL, ‘A’ ? CS 不能用 MOV 指令改變 ?MOV CS, AX 錯 立即數(shù)尋址 ?格式:各種常數(shù)值 ?舉例: ? ADD AX, 124 ? ADD AH, 12H 存儲器尋址 ?有效地址:地址是由操作數(shù)所決定的,不同的模式?jīng)Q定了不同的地址計算方法 ?直接尋址 ?直接-偏移量尋址(相對直接尋址) ?寄存器間接尋址 ?基址-偏移量尋址 ?基址-變址尋址 ?帶偏移量的基址-變址尋址 TITLE A06IMMED (EXE) Example of immediate operands .MODEL SMALL .STACK 64 。Define stack .DATA 。Define data segment DB 39。Immediate Values39。 BYTEFLD DB 150 。Byte WORDFLD DW 300 。Word DWDFLD DD 0 。Doubleword .386 .CODE MAIN PROC FAR MOV AX,@data 。Set address of data MOV DS,AX 。 segment in DS MOV CX,325 。Move immediate ADD CX,150 。Add immediate SUB BYTEFLD,50 。Subtract immediate MOV WORDFLD,40H 。Move immediate MOV EDX,40H 。Move immediate ADD EDX,25H 。Add immediate MOV DWDFLD,EDX MOV AX,4C00H 。End processing INT 21H MAIN ENDP END MAIN 1 直接 (存儲器 )尋址 ? 格式:在數(shù)據(jù)段中定義的數(shù)據(jù)變量的名稱 ? 有效地址 EA的計算: 默認(rèn)情形下數(shù)據(jù)段 DS+變量地址 50 30 32022 AH AL 30 50 (AX) = 3050H 舉例 VAR1 DW 3050H …… MOV AX, VAR1 假設(shè): VAR1的偏移地址為 2022H, (DS)=3000H, 那么物理地址 =32022H 說明 ? 隱含的段為數(shù)據(jù)段 DS ? 可指定段跨越前綴 MOV AX, ES: [2022H] ? 操作數(shù)地址可由變量(符號地址)表示 , 但要注意變量的屬性 VALUE DB 10 …… MOV AH, VALUE ? MOV AX, VALUE ? MOV AX, WORD PTR VALUE ? 直接偏移量尋址 ?格式: name[offset] 或者 name+offset ?有效地址:變量的地址加上偏移量加上數(shù)據(jù)段的地址 ?DS:(address+offset) ?舉例: ARRAY1 DW 10 DUP(?) .... ADD AX, ARRAY1[2] ADD BX, ARRAY1+6 (寄存器)間接尋址 ?格式: [register] ?允許的寄存器: BX, DI, SI, BP ? EA: DS:BX, DS:DI, DS:SI, SS:BP ?舉例: VAR1 DW 125 VAR2 DW 23H …… LEA BX, VAR1 MOV [BX], VAR2 基址偏移量尋址 ? 格式: [register + offset], offset[register] ? 允許的寄存器: BX, DI, SI, BP ? EA: DS:(BX + offset), DS:(DI + offset), DS:(SI + offset), SS:(BP + offset) ? 舉例: VAR1 DW 125 ARRAY1 DW 10 DUP(?) …… LEA BX, ARRAY1 MOV [BX+3], VAR1 MOV [BX+4], 2[BX] 有效地址 = (BX) (BP) 8位 (SI) 16位 (DI) + 位移量 基址變址尋址 ?格式: [ basereg + indexreg ] ? base registers: BX 或 BP ? index register: DI 或 SI ? EA: DS:(basereg + indexreg) ? 舉例: MOV AX, [BX] [DI] 或 MOV AX, [BX+DI] 或 MOV AX, ES:[BX] [SI] 有效地址 = (BX) (SI) (BP) (DI) + 帶偏移量的基址變址尋址 ? 格式: [basereg+ indexreg + offset] 或者offset[basereg+indexreg] ? base registers: BX 或者 BP ? index register: DI, SI ? EA: DS:(basereg + indexreg + offset) ? 舉例: MOV AX, MASK [BX] [SI] 或 MOV AX, MASK [BX+SI] 或 MOV AX, [MASK+BX+SI] 有效地址 = (BX) (SI) 8位 (BP) (DI) 16位 + + 位移量 段跨越前綴 ?數(shù)據(jù)段默認(rèn)地址存放在 CS寄存器中,不需指明 ?若明確指明使用其它的數(shù)據(jù)段,稱為段前綴。例如 MOV AX, ES:[BX] MOV AX, ES:[BX+3] 3 邏輯運(yùn)算指令 Assembly Language Programming 布爾數(shù)據(jù) ?只需 1位表示: 0 或者 1 ?0 = FALSE ?1 = TRUE ?布爾運(yùn)算 ?一元 : NOT ?二元 : AND, OR, XOR NOT vs. NEG ? NOT destination ? Register or memory ? 0?1, 1?0 ,用于無符號數(shù) ? 不影響標(biāo)志寄存器 ? NEG destination ? 實現(xiàn)二進(jìn)制補(bǔ)碼,按位求反加 1把正數(shù)轉(zhuǎn)換為負(fù)數(shù);或者反之。 ? 用于有符號數(shù) AND, OR, XOR ? AND|OR|XOR destination, source ? reg, reg|mem|immed ? mem, reg|immed ?操作對標(biāo)志位 SF, ZF, PF有影響, CF=OF=0 x AND y = 1 x = y = 1 x OR y = 0 x = y = 0 x XOR y = 0 x = y AND的應(yīng)用 ?某一位清 0 ? AND AH, 01111111B ?將第 7位清 0,而其它的位保持不變 ?部分清 0 ? AND AX,000Fh ?將 AX的低 4位部分保留,其余清 0 NumLock設(shè)置關(guān)閉 。clear bit 5 in keyboard status byte mov ax,40h mov ds,ax 。set DS mov bx,17h 。byte ptr and byte ptr [bx],0DFh ? 鍵盤狀態(tài)對應(yīng)的字節(jié)地址:數(shù)據(jù)段 0040:0017 –bit 3 = Alt Pressed –bit 2 = Ctrl Pressed –bit 1 = Left Shift –bit 0 = Right Shift –bit 7 = Insert Mode –bit 6 = Caps Lock –bit 5 = Num Lock –bit 4 = Scroll Lock OR的應(yīng)用 ?設(shè)置某一位 ? OR BX, 0400h ?將 BX的第 10位設(shè)置 1,其余保留 ? Checking the value of certain bit ? OR AX,AX ?該指令不改變 AX的值,只是設(shè)置標(biāo)志寄存器 ?第 15位符號位 (JS, JNS, JG, JGE, JL, JLE) ?ZF=1 ? AX=0 (JZ, JNZ) 數(shù)據(jù)變換 。DL 中為數(shù)字 09 OR DL,00110000b 。DL 中為字符 ‘ 0’‘9’ ? 大小寫字符的區(qū)別在于第 5 位 (1=lowercase) 。AH contains letter (39。a39。39。z39。,39。A39。39。Z39。) OR AH,00100000b 。AH is now lower case ASCII for digit x (09) is 3x –設(shè)置數(shù)字 x的對應(yīng)的第 4位和第 5位,將其轉(zhuǎn)換為字符 XOR的應(yīng)用 ?位的翻轉(zhuǎn) ? XOR AH, 10000000B ?只將 AH的第 7位改變 ?字節(jié)或字清 0 ? XOR AX, AX ?將 AX清 0 ?加密或解密 ? XOR AL, Key 。encrypts/decrypts byte in AL TEST ? TEST destination, source ? 執(zhí)行 AND的操作,只是不改變數(shù)據(jù)的值 ? 標(biāo)志位如同 AND一樣被設(shè)置 ? Example1 TEST CX, 0FFH JZ exit 。是 0嗎 TEST BL, 00000001b JNZ exit 。是奇數(shù)嗎 ? Example2 TEST CL, 10000001b JZ EvenAndNonNegative 。一定為非負(fù)的偶數(shù) JS Negative 。一定為負(fù)數(shù) 。一定為正奇數(shù) 例:屏蔽 AL的第 0、 1兩位 AND AL, 0FCH 例:置 AL的第 5位為 1 OR AL, 20H 例:使 AL的第 0、 1位變反
點擊復(fù)制文檔內(nèi)容
化學(xué)相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1