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

正文內(nèi)容

匯編語言入門第五章:匯編語言程序結(jié)構(gòu)-資料下載頁

2024-10-04 18:22本頁面
  

【正文】 TE、 WORD、 DWORD、 NEAR和 PAR幾種,所以 PTR也可以用來建立字、雙字或段內(nèi)及段間的指令單元。 例如 : MOV [BX] , 5 指令把立即數(shù)存入 BX內(nèi)容指定的存儲單元中,但匯編程序不能分清是存入字單元還是字節(jié)單元,此時必須用 PTR操作符來說明屬性,應該寫明: MOV BYTE PTR [BX], 5 或 MOV WORD PTR [BXl, 5 * 段操作符 :用來表示一個標量、變量或地址表達式的段屬性。例如,用段前綴指定某段的地操作數(shù) MOV AX, ES: [BX+SI] 格式 段寄存器:地址表達式 * SHORT: 用來修飾 JMP指令中轉(zhuǎn)向地址的屬性,指出轉(zhuǎn)向地址是在下一條指令地址的 177。 127個字節(jié)范圍之內(nèi)。 第一章 基礎(chǔ)知識 第五章 匯編語言程序結(jié)構(gòu) * THIS: 格式為: THIS attribute 或 type 它可以象 PTR一樣建立一個指定類型 (BYTE、 WORD或 DWORD)的或指定距離 (NEAR或 FAR)的地址操作數(shù) 。 該操作數(shù)的段地址和偏移地址與下一個存儲單元地址相同 。 例如: 此時 FIRST_BYTE的偏移地址值和 WORD_TABLE完全相同,但它是字節(jié)類型的,而 WORD_TABLE則是字類型的。 又如: START EQU THIS FAR MOV CX, l00 MOV指令有一個 FAR屬性的地址 START,這就允許其它段的 JMP指令直接跳轉(zhuǎn)到 START來。 * HIGH和 LOW 稱為字節(jié)分離操作符字節(jié)。它接收一個數(shù)或地址表達式, HIGH取其高位字節(jié), LOW取其低位字節(jié)。 第一章 基礎(chǔ)知識 第五章 匯編語言程序結(jié)構(gòu) 例如: 我們知道表達式是常數(shù)、寄存器、標號、變量和操作符的組合,在計算表達式值時,應該首先計算優(yōu)先級高的操作符,然后從左到右地對優(yōu)先級相同的操作符進行計算。括號也可以改變計算次序,括號內(nèi)的表達式應優(yōu)先計算。 下面給出操作符的優(yōu)先級別 (其中有些操作符我們并未提到過,需要時可從手冊中查到 ),從高到低排列如下: 第一章 基礎(chǔ)知識 第五章 匯編語言程序結(jié)構(gòu) (六 )注釋 注釋項用來說明一段程序或一條或幾條指令的功能,它是可有可無的。但是,對于匯編語言程序來說,注釋項的作用是很明顯的,它可以使程序易于被讀懂,因此,編制程序必須寫好注釋。 根據(jù)上面介紹的內(nèi)容,這里給出一個匯編完整的例子來說明匯編語言的編程框架和結(jié)構(gòu)。 例:從鍵盤輸入字符并將輸入的字符顯示出來,如果輸入是英文字符小寫字母,將小寫字母轉(zhuǎn)換成為大寫字母。 data segment message db 39。This is a sample program of keyboard and disply39。 db 0dh,0ah,39。Please strike the key!39。,0dh,0ah,39。$39。 data ends ;定義數(shù)據(jù)段,數(shù)據(jù)段給出提示內(nèi)容。在數(shù)據(jù)段中 0dh和 0ah分別表示回車和 ;換行字符。字符‘ $’表示字符串的結(jié)束標志。如果沒有回車和換行會出現(xiàn)什 ;么顯示結(jié)果。 第一章 基礎(chǔ)知識 第五章 匯編語言程序結(jié)構(gòu) stack segment stack db 50 dup(?) stack ends ;定義堆棧段。其中 參數(shù) stack表示程序在運行過程中,該段為系統(tǒng)堆棧段中 ;的一部分。如果不加這個,將單獨對本程序建立堆棧。 code segment assume cs:code,ds:data,ss:stack ;明確段寄存器與段定義之間的關(guān)系 start: mov ax,data mov ds,ax mov ax,stack;可以省,為什么? mov ss,ax ;可以省,為什么? ;初始化段寄存器 第一章 基礎(chǔ)知識 第五章 匯編語言程序結(jié)構(gòu) mov dx,offset message mov ah,9 int 21h ;顯示字符串。調(diào)用 21H中斷(也是 DOS功能調(diào)用)的 9號功能,該功能是 ;顯示字符串,其中 DS: DX為字符串地址,‘ $’為字符串結(jié)束標志。 again: mov ah,1 int 21h;調(diào)用 21H中斷的 1號功能,將鍵盤輸入的字符 ASC碼存在 al寄存器 cmp al,1bh;和 ESC鍵輸入字符對比 je exit;如果是按下 ESC鍵,就跳轉(zhuǎn)結(jié)束 cmp al,61h;和’ a’字符對比 jc nd;產(chǎn)生借位,就是小于‘ a’字符,跳轉(zhuǎn)到 nd直接輸入結(jié)果 cmp al,7ah;和’ z’字符對比 ja nd; 沒有借位同時不為零,大于‘ z’字符,跳轉(zhuǎn)到 nd直接輸入結(jié)果 第一章 基礎(chǔ)知識 第五章 匯編語言程序結(jié)構(gòu) and al,11011111b;如果輸入字符在‘ a’與‘ z’之間,通過與運算,將小寫轉(zhuǎn) ;換為大寫。 Sub al,’ a’-’ A’也一樣 nd: mov dl,al;將字符傳入到 dl寄存器中 mov ah,2 int 21h;調(diào)用 21中斷的功能 2,將 dl寄存器的字符輸出 jmp again;循環(huán)執(zhí)行,直到按下 ESC鍵退出 exit: mov ah,4ch int 21h;調(diào)用 21中斷的 4ch功能,返回 dos code ends;代碼段結(jié)束 end start;結(jié)束匯編,程序結(jié)束 如果將主程序建立為過程 , 由 DOS調(diào)用該過程 。 進入程序后 , 首先把 DS的內(nèi)容和 0作為段地址和偏移地址入棧 , 以便在程序結(jié)束時用 RET指令返回 DOS, 這是一種較好的工作方式 。 如果在主程序開始時沒有用上面三條指令在堆棧中建立返回信息 , 則在程序結(jié)束時效不能直接用 RET返回指令 , 而應該使用編號為 4c的功能調(diào)用返回 DOD。 程序改為如下 。 第一章 基礎(chǔ)知識 第五章 匯編語言程序結(jié)構(gòu) data segment message db 39。This is a sample program of keyboard and disply39。 db 0dh,0ah,39。Please strike the key!39。,0dh,0ah,39。$39。 data ends stack segment stack db 50 dup(?) stack ends code segment assume cs:code,ds:data,ss:stack main proc far start: push ds xor ax,ax 第一章 基礎(chǔ)知識 第五章 匯編語言程序結(jié)構(gòu) push ax mov ax,data mov ds,ax mov ax,stack mov ss,ax mov dx,offset message mov ah,9 int 21h again: mov ah,1 int 21h cmp al,1bh je exit cmp al,61h 第一章 基礎(chǔ)知識 第五章 匯編語言程序結(jié)構(gòu) jc nd cmp al,7ah ja nd 。and al,11011111b sub al,39。a39。39。A39。 nd: mov dl,al mov ah,2 int 21h jmp again exit: ret main endp code ends end start 第一章 基礎(chǔ)知識 第五章 匯編語言程序結(jié)構(gòu) 匯編語言程序上機過程 實驗目的 : 掌握常用工具軟件 MASM和 LINK的使用 。 偽指令 : SEGMENT,ENDS,ASSUME,END,OFFSET,DUP。 利用的 1號功能實現(xiàn)鍵盤輸入的方法 。 用 INT 21H 4C號功能返回系統(tǒng)的方法 。 程序 : 鍵盤輸入字符并輸出 , 大寫轉(zhuǎn)換為小寫輸出 。 將字符串 ‘’ This is a program ’用十六進制顯示出來 將寄存器 BX中的數(shù)據(jù)以 ASC碼的形式顯示 實驗步驟 : 用用文字編輯工具 ( 記事本或 EDIT) 將源程序輸入 ,其擴展名為 .ASM。 用 MASM對源文件進行匯編 ,產(chǎn)生 .OBJ文件和 .LST文件 。 若匯編時提示有錯 ,用文字編輯工具修改源程序后重新匯編 ,直至通過 。 用 TYPE命令顯示 1產(chǎn)生的 .LST文件 。 用 LINK將 .OBJ文件連接成可執(zhí)行的 .EXE文件 。 在 DOS狀態(tài)下運行 LINK產(chǎn)生的。 EXE文件。 實驗報告 : 匯編 ,連接及調(diào)試時產(chǎn)生的錯誤 ,其原因及解決辦法 。 思考 : 若在源程序中把 INT 21H的 39。H39。省去 ,會產(chǎn)生什么現(xiàn)象 ?
點擊復制文檔內(nèi)容
法律信息相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1