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

正文內(nèi)容

第3章匯編語言程序格式(留存版)

2024-12-10 13:41上一頁面

下一頁面
  

【正文】 一個(gè)字量數(shù)值 ?對(duì)字節(jié)、字和雙字變量依次返回 2和 4; ?對(duì)短、近和遠(yuǎn)轉(zhuǎn)移依次返回 ff01h、 ff02h和 ff05h mov ax,TYPE w_var 。 bbuf DB 12 DUP(39。 MOV AX,[0010H] MOV AX,[SI+COUNT] 。a39。它用于定義具有初值的變量,當(dāng)然也允許定義無初值的變量。 代碼是近訪問的,而數(shù)據(jù)則可為遠(yuǎn)訪問的。、 39。 5 匯編語言語句實(shí)例 MOV CX,0 。為此需要用段定義偽操作,格式如下: 段名 SEGMENT [定位 ] [組合 ] [使用 ] [39。這是 ASSUME偽指令的主要功能。 19 ? H uge 巨型模型與大型模型基本相同,只是靜態(tài)數(shù)據(jù)不再被限制在 64K字節(jié)之內(nèi)。 (4)簡化段定義舉例 .MODEL SMALL .STACK 100H .DATA ? .CODE START:MOV AX,DATA MOV DS,AX ? MOV AX,4C00H INT 21H END START 24 格式:組名 GROUP 段名 [,段名 ,...] ? 把多個(gè)同類段合并為一個(gè) 64KB物理段,并用一個(gè)組名統(tǒng)一存取它 ? 定義段組后,段組內(nèi)各段就統(tǒng)一為一個(gè)段地址,各段定義的變量和標(biāo)號(hào)的偏移地址就相對(duì)于段組基地址計(jì)算 ? offset操作符取變量和標(biāo)號(hào)相對(duì)于段組的偏移地址,如果沒有段組則取得相對(duì)于段的偏移地址。a39。= 232- 1 qvar DQ ? DB 1,2,3,4,5 tvar DT 2345 。使偏移地址加 10,即跳過 10個(gè)字節(jié)空間 MASM中,符號(hào) “ $”表示當(dāng)前偏移地址值 ? EVEN 。分配數(shù)據(jù)空間 2 5= 10字節(jié) crlf db 0dh,0ah,39。?39。匯編結(jié)果為 mov ax,2 mov cx,lengthof target 。用 n_jump為段內(nèi)近轉(zhuǎn)移,但兩者指向同一條指令 ? LABEL偽指令的功能等同于“ EQU THIS” 65 SHORT 標(biāo)名 ? 指定標(biāo)號(hào)作為 128~ +127字節(jié)范圍內(nèi)的短轉(zhuǎn)移 jmp short n_jump ? 當(dāng)然,如果標(biāo)號(hào)實(shí)際上超出了這個(gè)范圍,則出錯(cuò)。$39。 MOV AX,[BX+SI+5678H] MOV AX,COUNT 。這種情況,匯編程序?qū)⒅苯訛槌踔当矸峙淇臻g,無符號(hào)地址 ? 設(shè)置變量名是為了方便存取它指示的存儲(chǔ)單元 48 初值表 ? 初值表是用逗號(hào)分隔的參數(shù) ? 主要由數(shù)值常數(shù)、表達(dá)式或?、 DUP組成 ? ——表示初值不確定,即未賦初值; DUP——表示重復(fù)初值 DUP的格式為: 重復(fù)次數(shù) DUP(重復(fù)初值參數(shù) ) 49 變量定義偽指令助記符 ? 變量定義偽指令根據(jù)申請(qǐng)的主存空間單位分類 ? DB——定義字節(jié)偽指令 ? DW——定義字偽指令 ? DD——定義雙字偽指令 ? DF——定義 3字偽指令 ? DQ——定義 4字偽指令 ? DT——定義 10字節(jié)偽指令 ? 還有定位偽指令 50 定義字節(jié)單元偽指令 DB DB偽指令用于分配一個(gè)或多個(gè)字節(jié)單元,并可以將它們初始化為指定值 初值表中每個(gè)數(shù)據(jù)一定是字節(jié)量( Byte),存放一個(gè) 8位數(shù)據(jù): 可以是 0~255的無符號(hào)數(shù) 或是- 128~+ 127帶符號(hào)數(shù) 也可以是字符串常數(shù) 51 data segment;數(shù)據(jù)段 X db 39。常用: .STACK [大小 ] ;堆棧段開始 .DATA ;數(shù)據(jù)段開始 .CODE [段名 ] ;代碼段開始 .STACK [大小 ] 堆棧段偽指令 .STACK創(chuàng)建一個(gè)堆棧段,段名是: stack,它的參數(shù)指定堆棧段所占存儲(chǔ)區(qū)的字節(jié)數(shù),默認(rèn)是 1KB( = 1024 = 400h字節(jié)) 22 .DATA 數(shù)據(jù)段偽指令 .data創(chuàng)建一個(gè)數(shù)據(jù)段,段名是:_DATA。在該 模型下,代碼段被限制在一個(gè)不大于64KB的段內(nèi);而數(shù)據(jù)段則可以有多個(gè),超過 64KB。code39。 ? 偽指令與具體的處理器類型無關(guān),但與匯編程序的版本有關(guān)。類別 39。 14 ? ASSUME偽指令并不為段寄存器設(shè)定初值,所以在代碼段中還必須把段地址裝入相應(yīng)的段寄存器中。 ? F lat 平展模型用于創(chuàng)建一個(gè) 32位的程序,它只能運(yùn)行在 32位 x86 CPU上。offset后可以跟段組中的某個(gè)段名,表示該段最后一個(gè)字節(jié)后面字節(jié)相對(duì)于段組的偏移地址 25 程序開始和結(jié)束偽操作 ? 程序開始可用 Name和T ITLE作為模塊的名字。 inc X+1 。定義了 BCD碼 2345H abc DB 39。從偶地址開始 ? ALIGN n 。$39。 mov di,offset target b_again: mov [di],al 。段內(nèi)的存儲(chǔ)器間接尋址,轉(zhuǎn)移到 s_label標(biāo)號(hào)處 next: mov ax,type v_word 。用 f_jump為段間轉(zhuǎn)移( f_jump label far) n_jump: mov ax,w_var 。,13,10,39。定義 COUNT變量,假設(shè)在數(shù)據(jù)段的偏移地址為 10H 字變量和字常量的應(yīng)用: MOV AX,[BX+SI+WNUM] 。 LENGTH SIZE WIDTH MASK 2 PTR OFFSET SEG TPYE THIS : 3 HIGE LOW 4 * / MOD SHL SHR 5 + 6 EQ NE GT LT GE LE 7 NOT 8 AND 9 OR XOR 10 SHORT 建議采用圓括號(hào) “ ( ) ” 顯式表達(dá) , 它可以極大地提高程序的可閱讀性 45 ? 匯編語言程序中,指令參數(shù)還有地址型,它的主要形式是標(biāo)號(hào)和名字(變量名、段名、過程名等) ? 硬指令的操作數(shù)有存儲(chǔ)單元;存儲(chǔ)單元就應(yīng)該用地址型參數(shù)(存儲(chǔ)器操作數(shù))表達(dá)
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1