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

正文內(nèi)容

第3章匯編語言程序格式-文庫吧在線文庫

2024-11-24 13:41上一頁面

下一頁面
  

【正文】 件名 .obj 連接 連接程序,如 可執(zhí)行文件:文件名 .exe 調(diào)試 調(diào)試程序,如 應(yīng)用程序 錯(cuò)誤 錯(cuò)誤 錯(cuò)誤 錯(cuò)誤 3 匯編程序的主要功能 ? 檢查源程序 ? 測(cè)出源程序中的語法錯(cuò)誤,并給出出錯(cuò)信息 ? 產(chǎn)生源程序的目標(biāo)程序,并可給出列表文件(同時(shí)列出匯編語言和機(jī)器語言的文件,稱為 LST文件) ? 展開宏指令 4 偽操作 ? 硬指令 ——使 CPU產(chǎn)生動(dòng)作、并在程序運(yùn)行期間由計(jì)算機(jī)執(zhí)行的語句。 5 匯編語言語句實(shí)例 MOV CX,0 。對(duì)數(shù)據(jù)段 ,附加段和堆棧段 ,一般是存儲(chǔ)單元的定 ... 。、 39。 MOV AX, DATA MOV DS, AX ? 如果程序中有堆棧段,也需要把地址裝入 SS中 ? 代碼段不需要這樣做,代碼段的這一操作是在程序初始化時(shí)完成的。 代碼是近訪問的,而數(shù)據(jù)則可為遠(yuǎn)訪問的。 ? DOS下編程可選擇前六種模型,一般可以選用SMALL模型, TINY模式產(chǎn)生 COM程序,其他模型產(chǎn)生 EXE程序, FLAT模型只能用于 32位程序。它用于定義具有初值的變量,當(dāng)然也允許定義無初值的變量。 TITLE的格式: TITLE 標(biāo)題 TITLE偽操作可指定列表文件中的每一頁上打印的標(biāo)題 ? END表源程序結(jié)束的偽操作,格式為: END [標(biāo)號(hào) ] 用來指示匯編程序 MASM到此結(jié)束匯編過程。a39。現(xiàn)在 Y這個(gè)字符串成為 39。 MOV AX,[0010H] MOV AX,[SI+COUNT] 。,39。 bbuf DB 12 DUP(39。等價(jià)于 lea bx,array mov cl,array+4 。 66 TYPE 名字 /標(biāo)名 ? 返回表明名字或標(biāo)號(hào)類型的一個(gè)字量數(shù)值 ?對(duì)字節(jié)、字和雙字變量依次返回 2和 4; ?對(duì)短、近和遠(yuǎn)轉(zhuǎn)移依次返回 ff01h、 ff02h和 ff05h mov ax,TYPE w_var 。取得標(biāo)號(hào) s_label的偏移地址 例:屬性及其應(yīng)用 68 .code .startup mov al,byte ptr v_word 。匯編結(jié)果為 mov cx,5 70 mov si,offset target w_again: mov [si],ax 。DI指針加 1 loop b_again 。匯編結(jié)果為 mov cx,0ah mov al,39。進(jìn)行短轉(zhuǎn)移 69 s_label: cmp flag,2 jz next 。v_word是字類型的變量 target dw 5 dup(20h) 。按字節(jié)訪問變量 b_var,但與 w_var的地址相同 w_var dw 10 dup(0) 。從 100h處安排數(shù)據(jù)或程序 ORG $+10 。 msg DB 39。 MOV BX,0010H 55 定義雙字單元偽指令 DD DD偽指令 用于分配一個(gè)或多個(gè)雙字單元,并可以將它們初始化為指定值 初值表中每個(gè)數(shù)據(jù)是一個(gè) 32位的雙字量( Double Word): 可以是有符號(hào)或無符號(hào)的 32位整數(shù) 也可以用來表達(dá) 16位段地址(高位字)和 16位的偏移地址(低位字)的遠(yuǎn)指針 vardd DD 0,?,12345678h farpoint DD 00400078h 56 其他數(shù)據(jù)單元定義偽指令 ? 定義 3字偽指令 DF——用于為一個(gè)或多個(gè) 6字節(jié)變量分配空間及初始化 6字節(jié)常用在 32位 CPU中表示一個(gè) 48位遠(yuǎn)指針( 16位段選擇器 :32位偏移地址) ? 定義 4字偽指令 DQ——用于為一個(gè)或多個(gè) 8字節(jié)變量分配空間及初始化 8字節(jié)變量可以表達(dá)一個(gè) 64位整數(shù) ? 定義 10字節(jié)偽指令 DT——用于為一個(gè)或多個(gè) 10字節(jié)變量分配空間及初始化 10字節(jié)變量可以表達(dá)擴(kuò)展精度浮點(diǎn)數(shù) 57 例 :數(shù)據(jù)定義綜合應(yīng)用 .model small .stack .data bvar DB 16 wvar DW 4*3 dvar DD 4294967295 。 maxint equ 64h number dw maxint array dw maxint dup(0) data ends 54 字變量和字常量的定義: WNUM EQU 5678H 。此處 X表示它的第 1個(gè)數(shù)據(jù), 故 AL←39。 如果程序采用了 .startup偽指令就不需要再用 “ end 標(biāo)號(hào) ” 指明開始執(zhí)行點(diǎn) , 但還要有 end偽指令 ? .EXIT用來產(chǎn)生退出程序并返回操作系統(tǒng)的代碼 ,其格式: .EXIT [返回參數(shù) ] 可選參數(shù)是一個(gè)返回的數(shù)碼,通常用 0表示沒有錯(cuò)誤。 23 (3)與簡化段定義有關(guān)的預(yù)定義符號(hào) 使用簡化段定義,各段名稱和其他用戶所需的信息可以使用 MASM預(yù)定義符號(hào),例如: data表示由 .data等定義的數(shù)據(jù)段的段名。 堆棧距離選項(xiàng)可用 NEARSTACK或FARSTACK來說明,基中 NEARSTACK是指堆棧段和數(shù)據(jù)段組合到一個(gè) DGROUP段中,而FARSTACK是指堆棧段和數(shù)據(jù)段并不合并。 ? L arge 大型模式允許的代碼段和數(shù)據(jù)段都有多個(gè),都可以超過 64KB;但全部的靜態(tài)數(shù)據(jù)(不能改變的數(shù)據(jù))仍限制在 64K字節(jié)內(nèi) .數(shù)據(jù)和代碼都可以遠(yuǎn)訪問。 ? S mall 小型模型是最常用的一種模型。 格式: ASSUME 段寄存器:段名 [,段寄存器名:段名 , ...] 作用 : ? 通知 MASM用指定的段寄存器來尋址對(duì)應(yīng)的邏輯段,即建立段寄存器與段的缺省關(guān)系 ? 在明確了程序中各段與段寄存器之間的關(guān)系后,匯編程序會(huì)根據(jù)數(shù)據(jù)所在的邏輯段,在需要時(shí)自動(dòng)插入段超越前綴。這是簡化段定義偽指令默認(rèn)的段組合 STACK 本段是堆棧的一部分,連接程序?qū)⑺?STACK段按照與 PUBLIC段的同樣方式進(jìn)行合并。數(shù)據(jù)定義偽指令,在主存中開辟 7個(gè)連續(xù)的字節(jié)單元,初值依次為
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1