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

正文內(nèi)容

[工學(xué)]匯編語言(1)(編輯修改稿)

2024-11-15 00:07 本頁面
 

【文章內(nèi)容簡介】 mov bl,bvar mov ax,word ptr dvar[0] mov dx,word ptr dvar[2] 。取雙字到 mov dx,offset msg mov ah,09h CALLDOS .exit 0 end 例 : 數(shù)據(jù)復(fù)制和顯示- 1/2 .model small .stack .data source db 33h,34h,35h,36h 。定義 4個字符數(shù)據(jù) target db 80 dup(?) 。分配數(shù)據(jù)空間 4 20=80 .code .startup mov ax,ds mov es,ax 。data也作為附加段 cld mov si,offset source mov di,offset target mov cx,80 例 : 數(shù)據(jù)復(fù)制和顯示- 2/2 rep movsb 。串傳送 mov si,0 。顯示 mov bx,offset target again: mov dl,[bx+si] mov ah,2 int 21h inc si cmp si,80 jb again .exit 0 end 定位偽指令 定位偽指令控制數(shù)據(jù)的偏移地址 ? ORG 參數(shù) ORG偽指令是將當(dāng)前偏移地址指針指向參數(shù)表達(dá)的偏移地址: ORG 100h 。從 100h處安排數(shù)據(jù)或程序 ORG $+10 。使偏移地址加 10, 即跳過 10個字節(jié)空間 MASM中 , 符號 “ $”表示當(dāng)前偏移地址值 ? EVEN 。從偶地址開始 ? ALIGN n 。從 n的整數(shù)倍地址開始 第 3章 變量和標(biāo)號的屬性 ?標(biāo)號和名字一經(jīng)定義便具有以下兩類三種屬性: ① 段值 ?標(biāo)號和名字對應(yīng)存儲單元的段地址 ② 偏移值 ?標(biāo)號和名字對應(yīng)存儲單元的偏移地址 ③ 類型 ?標(biāo)號 、 子程序名的類型可以是 NEAR( 近 )和 FAR( 遠(yuǎn) ) , 分別表示段內(nèi)或段間 ?變量名的類型可以是 BYTE( 字節(jié) ) 、WORD( 字 ) 和 DWORD( 雙字 ) 等 地址屬性 類型屬性 地址操作符 ? 取得名字或標(biāo)號的段地址和偏移地址兩個屬性 [ ] 將括起的表達(dá)式作為存儲器地址 $ 當(dāng)前偏移地址 : 采用指定的段地址寄存器 OFFSET 名字 /標(biāo)號 返回名字或標(biāo)號的偏移地址 SEG 名字 /標(biāo)號 返回名字或標(biāo)號的段地址 $+10 array db 45,45h .code mov ax,seg array mov ds,ax mov bx,offset array 。等價于 lea bx,array mov cl,array+4 。等效于 mov cl,array[4] mov ax,es:[2021h] 加 4個字節(jié)單元 類型操作符 ? 類型操作符對名字或標(biāo)號的類型屬性進(jìn)行有關(guān)設(shè)置 類型名 PTR 名字 /標(biāo)號 THIS 類型名 SHORT 標(biāo)號 TYPE 名字 /標(biāo)號 SIZEOF 變量名 LENGTHOF 變量名 PTR操作符 類型名 PTR 名字 /標(biāo)號 ? PTR操作符使名字或標(biāo)號具有指定的類型 ? 類型名可以是 BYTE/WORD/DWORD/FWORD/QWORD/TBYTE 或者是 NEAR/FAR, 還可以是由 STRUCT、 RECORD、UNION以及 TYPEDEF定義的類型 mov al,byte ptr w_var 。w_var是一個字變量 jmp far ptr n_label 。n_label是一個標(biāo)號 ? 使用 PTR操作符 , 可以臨時改變名字或標(biāo)號的類型 THIS操作符 THIS 類型名 ? 利用 THIS說明的操作數(shù)具有匯編時的當(dāng)前邏輯地址 ,但具有指定的類型 b_var equ THIS byte 。按字節(jié)訪問變量 b_var, 但與 w_var的地址相同 w_var dw 10 dup(0) 。按字訪問變量 w_var f_jump equ THIS far 。用 f_jump為段間轉(zhuǎn)移 ( f_jump label far) n_jump: mov ax,w_var 。用 n_jump為段內(nèi)近轉(zhuǎn)移 , 但兩者指向同一條指令 ? LABEL偽指令的功能等同于 “ EQU THIS” SHORT操作符 SHORT 標(biāo)名 ?指定標(biāo)號作為 128~ +127字節(jié)范圍內(nèi)的短轉(zhuǎn)移 jmp short n_jump ?當(dāng)然 , 如果標(biāo)號實(shí)際上超出了這個范圍 , 則出錯 。 對高版本 MASM已無意義 TYPE操作符 TYPE 名字 /標(biāo)名 ? 返回表明名字或標(biāo)號類型的一個字量數(shù)值 ?對字節(jié) 、 字和雙字變量依次返回 2和 4; ?對短 、 近和遠(yuǎn)轉(zhuǎn)移依次返回 ff01h、 ff02h和 ff05h mov ax,TYPE w_var 。匯編結(jié)果為 mov ax,2 mov ax,TYPE n_jump 。匯編結(jié)果為 mov ax,0ff02h( near標(biāo)號 ) ? 操作符 SIZEOF返回整個變量占用的字節(jié)數(shù) ? LENGTHOF返回整個變量的數(shù)據(jù)項數(shù) ( 即元素數(shù) ) SIZEOF = LENGTHOF TYPE .model small .stack .data v_byte equ this byte 。v_byte是字節(jié)類型 , 與變量 v_word的地址相同 v_word dw 3332h,3735h 。v_word是字類型的變量 target dw 5 dup(20h) 。分配數(shù)據(jù)空間 2 5= 10字節(jié) crlf db 0dh,0ah,39。$39。 flag db 0 n_point dw offset s_label 。取得標(biāo)號 s_label的偏移地址 例 :屬性及其 應(yīng)用- 1/5 例 :屬性及其 應(yīng)用- 2/5 .code .startup mov al,byte ptr v_word 。用 PTR改變 v_word的類型 , 否則類型不匹配 dec al mov v_byte,al 。對 v_word的頭一個字節(jié)操作 , 原為 32H、 現(xiàn)為 31H n_label: cmp flag,1 jz s_label 。flag單元為 1轉(zhuǎn)移 inc flag jmp short n_label 。進(jìn)行短轉(zhuǎn)移 例 :屬性及其 應(yīng)用- 3/5 s_label: cmp flag,2 jz next 。flag單元為 2轉(zhuǎn)移 inc flag jmp n_point 。段內(nèi)的存儲器間接尋址 , 轉(zhuǎn)移到 s_label標(biāo)號處 next: mov ax,type v_word 。匯編結(jié)果為 mov ax,2 mov cx,lengthof target 。匯編結(jié)果為 mov cx,5 例 :屬性及其 應(yīng)用- 4/5 mov si,offset target w_again: mov [si],ax 。對字單元操作 inc si 。SI指針加 2 inc si loop w_again 。循環(huán) mov cx,sizeof target 。匯編結(jié)果為 mov cx,0ah mov al,39。?39。 mov di,offset target b_again: mov [di],al 。對字節(jié)單元操作 inc di 。DI指針加 1 loop b_again 。循環(huán) 例 :屬性及其 應(yīng)用- 5/5 mov dx,offset v_word 。顯示結(jié)果: 1357?????????? mov ah,9 int 21h .exit 0 end 習(xí)題 5( p104) 第 3章 程序段的定義和屬性 ?詳述匯編語言程序格式的組成部分 首先 , 簡單了解 DOS支持的 exe程序和程序 其次 , 重點(diǎn)掌握簡化段定義格式的各條偽指令 最后 , 理解完整段定義格式所包含的各種段屬性 exe程序 ?利用程序開發(fā)工具 , 通常將生成 EXE結(jié)構(gòu)的可執(zhí)行程序 ( 擴(kuò)展名為 .EXE的文件 ) ?它可以有獨(dú)立的代碼 、 數(shù)據(jù)和堆棧段 , 還可以有多個代碼段或多個數(shù)據(jù)段 , 程序長度可以超過64KB, 執(zhí)行起始處可以任意指定 ?當(dāng) DOS裝入或執(zhí)行一個程序時 , DOS確定當(dāng)時主存最低的可用地址作為該程序的裝入起始點(diǎn) 。 此點(diǎn)以下的區(qū)域稱為程序段 。 在程序段內(nèi)偏移 0處 ,DOS為該程序建立一個程序段前綴控制塊 PSP( Program Segment Prefix) , 它占 256(
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1