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

正文內(nèi)容

第3章匯編語言程序格式-文庫吧資料

2024-10-19 13:41本頁面
  

【正文】 21H ? DOS功能調(diào)用的 4CH子功能(返回 DOS): 入口參數(shù): AH= 4CH, AL=返回數(shù)碼 27 參數(shù)、變量和標號 ? 本節(jié)詳細討論匯編語言程序語句的主要部分: 參數(shù) 變量名 標號 ? 并引出相關(guān)的偽指令和操作符 ? 本節(jié)重點掌握: – 常數(shù)的表達 – 變量定義偽指令 DB/DW/DD、 – 地址操作符和類型操作符 28 數(shù)值型參數(shù) ? 在源程序語句格式的 4個組成部分中,參數(shù)是指令的操作對象(在學習硬指令時被稱為操作數(shù)),參數(shù)之間用逗號分隔 ? 參數(shù)根據(jù)指令不同可以沒有,可以有 1個、 2個或多個 ? 匯編語言程序中,指令參數(shù)有數(shù)值型,它的主要形式是常數(shù)和數(shù)值表達式; ? 硬指令的操作數(shù)有立即數(shù);立即數(shù)就要用數(shù)值型參數(shù)表達 29 1. 常數(shù) ? 常數(shù)(常量)表示一個固定的數(shù)值 ? 它又分成多種形式: ( 1)十進制常數(shù) ( 2)十六進制常數(shù) ( 3)二進制常數(shù) ( 4)八進制常數(shù) ( 5)字符串常數(shù) ( 6)符號常數(shù) 37 2. 數(shù)值表達式 ? 數(shù)值表達式一般是指由運算符連接的各種常數(shù)所構(gòu)成的表達式 ? 匯編程序在匯編過程中計算表達式,最終得到一個數(shù)值 ? 程序運行之前,就已經(jīng)計算出了表達式;所以,程序運行速度沒有變慢,但增強程序的可讀性 ? MASM對除偽指令外各種匯編時處理的指令統(tǒng)稱為操作符( Operator) 38 運算符 ? 算術(shù)運算符 + * / MOD ? 邏輯運算符 AND OR XOR NOT ? 移位運算符 SHL SHR ? 關(guān)系運算符 EQ NE GT LT GE LE ? 高低分離符 HIGH LOW HIGHWORD LOWWORD 44 3. 運算符的優(yōu)先級 1 () [] 用 .STARTUP定義程序的初始入口點 , 并產(chǎn)生設(shè)置 DS,SS 和 SP 的代碼 。源程序的最后必須有一條 END語句。 NAME的格式: NAME 模塊名 匯編語言將以給出的”模塊名”作為模塊的名字。 (4)簡化段定義舉例 .MODEL SMALL .STACK 100H .DATA ? .CODE START:MOV AX,DATA MOV DS,AX ? MOV AX,4C00H INT 21H END START 24 格式:組名 GROUP 段名 [,段名 ,...] ? 把多個同類段合并為一個 64KB物理段,并用一個組名統(tǒng)一存取它 ? 定義段組后,段組內(nèi)各段就統(tǒng)一為一個段地址,各段定義的變量和標號的偏移地址就相對于段組基地址計算 ? offset操作符取變量和標號相對于段組的偏移地址,如果沒有段組則取得相對于段的偏移地址。如果沒有給出段名,則采用默認段名: 在 TINY、 SMALL、 COMPACT和 FLAT模式下,默認的代碼段名是: _TEXT; 在 MEDIUM、 LARGE和 HUGE模式下,默認的代碼段名是:模塊名 _TEXT。 無初值變量可以安排在另一個段中,它用 .data?偽指令創(chuàng)建,數(shù)據(jù)段名是: _BSS。常用: .STACK [大小 ] ;堆棧段開始 .DATA ;數(shù)據(jù)段開始 .CODE [段名 ] ;代碼段開始 .STACK [大小 ] 堆棧段偽指令 .STACK創(chuàng)建一個堆棧段,段名是: stack,它的參數(shù)指定堆棧段所占存儲區(qū)的字節(jié)數(shù),默認是 1KB( = 1024 = 400h字節(jié)) 22 .DATA 數(shù)據(jù)段偽指令 .data創(chuàng)建一個數(shù)據(jù)段,段名是:_DATA。 例如: .MODEL SMALL,C .MODEL LARGE,OS_DOS 21 (2)簡化的段定義偽操作 簡化段定義偽指令指明一個邏輯段的開始,同時自動結(jié)束前面的一個段。 操作系統(tǒng)選項是要說明程序運行于哪個操作系統(tǒng)之下,可用 OS_DOS或 OS_OS2來說明,默認是 OS_DOS。 20 ? Model options允許用戶指定三種選項:高級語言接口、操作系統(tǒng)和堆棧距離。 DOS下不能使用FLAT模型,而編寫 32位 Windows WindowsNT的程序時,必須采用 FLAT模型。 19 ? H uge 巨型模型與大型模型基本相同,只是靜態(tài)數(shù)據(jù)不再被限制在 64K字節(jié)之內(nèi)。數(shù)據(jù)是近訪問,而代碼可遠訪問。 ? M edium 中型模型是與緊湊模型互補的模型,適合于數(shù)據(jù)量小但代碼量大的程序。在該 模型下,代碼段被限制在一個不大于64KB的段內(nèi);而數(shù)據(jù)段則可以有多個,超過 64KB。在小型模型下,一個程序至多只能有一個代碼段和一個數(shù)據(jù)段,每段不大于 64KB。一般用于小程序。 15 例:完整的段定義偽操作 data_1 segment ? data_1 ends data_2 segment ? data_2 ends code segment assume cs:code,ds:data_1,es:data_2 start: mov ax,data_1 mov ds,ax mov ax,data_2 mov es,ax ? code ends end start 16 (1)MODEL偽操作 格式: .MODEL memory_model[,model options] ? 用來表明存儲模型,即用來說明在存儲器中是如何安放各個段的. ? 存儲模型 memory model決定一個程序的規(guī)模,確定進行子程序調(diào)用、指令轉(zhuǎn)移和數(shù)據(jù)訪問的缺省屬性 ? MASM有 7種不同的存儲模式: ① TINY ② SMALL ③ COMPACT ④ MEDIUM ⑤ LARGE ⑥ H
點擊復制文檔內(nèi)容
教學課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1