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

正文內(nèi)容

[工學(xué)]匯編語(yǔ)言(1)-資料下載頁(yè)

2024-10-19 00:07本頁(yè)面
  

【正文】 ,ax ... 。在代碼段填入指令序列 mov ax,4c00h int 21h ... 。子程序代碼 code ends end start 完整段定義格式 MASM 完整段定義偽指令 段名 segment 定位 組合 段字 39。類(lèi)別 39。 ... 。語(yǔ)句序列 段名 ends ? 完整段定義由 SEGMENT和 ENDS這一對(duì)偽指令實(shí)現(xiàn) ,SEGMENT偽指令定義一個(gè)邏輯段的開(kāi)始 , ENDS偽指令表示一個(gè)段的結(jié)束 ? 段定義指令后的 4個(gè)關(guān)鍵字用于確定段的各種屬性 ,堆棧段要采用 stack組合類(lèi)型 , 代碼段應(yīng)具有 ‘ code’類(lèi)別 , 其他為可選屬性參數(shù) ? 如果不指定 , 則采用默認(rèn)參數(shù);但如果指定 , 注意要按照上列次序 段定位 ( align) 屬性 ?指定邏輯段在主存儲(chǔ)器中的邊界 , 可為: BYTE 段開(kāi)始為下一個(gè)可用的字節(jié)地址 ( xxxx xxxxb) WORD 段開(kāi)始為下一個(gè)可用的偶數(shù)地址 ( xxxx xxx0b) DWORD 段開(kāi)始為下一個(gè)可用的 4倍數(shù)地址 ( xxxxxx00b) PARA 段開(kāi)始為下一個(gè)可用的節(jié)地址 ( xxxx 0000b) PAGE 段開(kāi)始為下一個(gè)可用的頁(yè)地址 ( 0000 0000b) ?簡(jiǎn)化段定義偽指令的代碼和數(shù)據(jù)段默認(rèn)采用 WORD定位 , 堆棧段默認(rèn)采用 PARA定位 ?完整段定義偽指令的默認(rèn)定位屬性是 PARA, 其低4位已經(jīng)是 0, 所以默認(rèn)情況下數(shù)據(jù)段的偏移地址從0開(kāi)始 段組合 ( bine) 屬性 ?指定多個(gè)邏輯段之間的關(guān)系 , 可為: PRIVATE 本段與其他段沒(méi)有邏輯關(guān)系 , 不與其他段合并 , 每段都有自己的段地址 。 這是完整段定義偽指令默認(rèn)的段組合方式 PUBLIC 連接程序把本段與所有同名同類(lèi)型的其他段 相鄰地連接在一起 , 然后為所有這些段指定一個(gè)共同的段地址 , 也就是 合成一個(gè)物理段 。 這是 簡(jiǎn)化段定義偽指令默認(rèn)的段組合 STACK 本段是堆棧的一部分 , 連接程序?qū)⑺?STACK段按照與 PUBLIC段的同樣方式進(jìn)行合并 。 這是 堆棧段必須具有的段組合 段字 ( use) 屬性 ?為支持 32位段而設(shè)置的屬性 ?對(duì)于 16位 x86 CPU來(lái)說(shuō) , 它默認(rèn)是 16位段 , 即 USE16 而對(duì)于匯編 32位 x86 CPU指令時(shí) , 它默認(rèn)采用 32位段 , 即 USE32;但可以使用 USE16指定標(biāo)準(zhǔn)的 16位段 ?編寫(xiě)運(yùn)行于實(shí)地址方式 ( 8086工作方式 ) 的匯編語(yǔ)言程序 , 必須采用 16位段 段類(lèi)別 ( class) 屬性 ?當(dāng)連接程序組織段時(shí) , 將所有的同類(lèi)別段相鄰分配 ?段類(lèi)別可以是任意名稱(chēng) , 但必須位于單引號(hào)中 ?大多數(shù) MASM程序使用 39。code39。、 39。data39。和 39。stack’來(lái)分別指名代碼段 、 數(shù)據(jù)段和堆棧段 , 以保持所有代碼和數(shù)據(jù)的連續(xù) 指定段寄存器偽指令 ASSUME 段寄存器:段名 [,段寄存器名:段名 , ...] ? 通知 MASM用指定的段寄存器來(lái)尋址對(duì)應(yīng)的邏輯段 , 即建立段寄存器與段的缺省關(guān)系 ? 在明確了程序中各段與段寄存器之間的關(guān)系后 ,匯編程序會(huì)根據(jù)數(shù)據(jù)所在的邏輯段 , 在需要時(shí)自動(dòng)插入段超越前綴 。 這是 ASSUME偽指令的主要功能 ? ASSUME偽指令并不為段寄存器設(shè)定初值 , 連接程序 LINK將正確設(shè)置 CS : IP和 SS : SP 由于數(shù)據(jù)段通常都需要 , 所以在樣板源程序中 ,首先為 DS賦值;如果使用附加段 , 還要賦值 ES 段組偽指令 組名 GROUP 段名 [,段名 ,...] ? 把多個(gè)同類(lèi)段合并為一個(gè) 64KB物理段 , 并用一個(gè)組名統(tǒng)一存取它 ? 定義段組后 , 段組內(nèi)各段就統(tǒng)一為一個(gè)段地址 ,各段定義的變量和標(biāo)號(hào)的偏移地址就相對(duì)于段組基地址計(jì)算 ? offset操作符取變量和標(biāo)號(hào)相對(duì)于段組的偏移地址 , 如果沒(méi)有段組則取得相對(duì)于段的偏移地址 offset后可以跟段組中的某個(gè)段名 , 表示該段最后一個(gè)字節(jié)后面字節(jié)相對(duì)于段組的偏移地址 stackseg segment stack db 256 dup(?) stackseg ends data1 segment word public 39。const39。 const1 dw 100 data1 ends data2 segment word public 39。vars39。 var1 dw ? data2 ends datagroup group data1,data2 。進(jìn)行段組合 codeseg segment para public 39。code39。 assume cs:codeseg,ds:datagroup,ss:stackseg 例題 - 1/3 start: mov ax,datagroup mov ds,ax 。對(duì)段組尋址 mov ax,const1 。ax=100 mov var1,ax 。var1=100 mov ax,offset var1 。ax=2 mov ax,offset data1 。ax=2 mov ax,offset data2 。ax=4 例題 - 2/3 assume ds:data2 mov ax,data2 mov ds,ax mov ax,var1 。ax=100 mov ax,offset var1 。ax=2 mov ax,4c00h int 21h codeseg ends end start 例題 - 3/3 段順序偽指令 .SEG 。按照源程序的各段順序 .DOSSEG 。按照微軟使用的標(biāo)準(zhǔn) DOS規(guī)定 .ALPHA 。按照段名的字母順序 ? 段順序偽指令確定各邏輯段在主存的前后位置 ? 完整段定義格式中 , 默認(rèn)按照源程序各段的書(shū)寫(xiě)順序安排 ( 即 .seg) ? 采用 .model偽指令的簡(jiǎn)化段定義格式 , 則是規(guī)定的標(biāo)準(zhǔn) DOS程序順序 ( 即 .dosseg ) : 代碼段 → 數(shù)據(jù)段 → 堆棧段 主存地址低端 高端 dseg segment word public 39。data39。 100h 。設(shè)定堆棧段起始段內(nèi)偏移地址 dw 200 dup(?) topsp equ this word 。定義棧頂指針 array dw 100 dup(5868h) dseg ends cseg segment 39。code39。 assume cs:cseg,ds:dseg,ss:dseg 。dseg既是數(shù)據(jù)段又是堆棧段 例題 - 1/2 start: mov ax,dseg mov ds,ax mov ss,ax 。數(shù)據(jù)段與堆棧段具有相同的段地址 mov sp,offset topsp mov cx,100 xor si,si again: push array[si] inc si inc si loop again mov ah,4ch int 21h cseg ends end start 例題 - 2/2 第 3章 簡(jiǎn)化段定義格式的段屬性 ?采用簡(jiǎn)化段定義格式的源程序 , 同樣具有段定位 、 組合 、 類(lèi)別以及段組等屬性 ( 表 ) , 具有默認(rèn)的屬性 ?.MODEL偽指令除了設(shè)置程序采用的存儲(chǔ)模式外 , 還具有如下語(yǔ)句的作用: dgroup GROUP _data,_bss,stack assume cs:_TEXT,ds:dgroup,ss:dgroup 第 3章 教學(xué)要求 ( 1) 1. 掌握匯編語(yǔ)言語(yǔ)句格式 2. 掌握簡(jiǎn)化段定義 ( 或完整段定義 ) 源程序格式 3. 掌握常量表達(dá) 、 變量定義及應(yīng)用 , 變量 、 標(biāo)號(hào)和邏輯段的屬性 4. 了解數(shù)值表達(dá)式和 DOS的程序結(jié)構(gòu) 5. 掌握匯編語(yǔ)言源程序的編輯 、 匯編 、 連接和調(diào)試的開(kāi)發(fā)方法 第 3章 教學(xué)要求 ( 2) 6. 掌握基本偽指令和操作符: EQU/= 、 +- */、 DB/ DW/ DD、 ? / DUP ORG/ $、 OFFSET/ SEG/ PTR .MODEL/ .STACK/ .DATA/ .CODE/ END SEGMENT/ENDS 第 3章 教學(xué)要求 ( 3) 7. 了解不常使用偽指令和操作符: .RADIX;邏輯 、 移位和關(guān)系運(yùn)算符; DF/ DQ/ DT; EVEN/ ALIGN; THIS/ SHORT/ TYPE/ SIZEOF/ LENGTHOF; ASSUME/ GROUP; .SEG/ .DOSSEG/ .ALPHA 8. 習(xí)題 6( p106) Take a Break
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1