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

正文內(nèi)容

微機原理課件-第4章-展示頁

2024-10-28 18:06本頁面
  

【正文】 a stack ‘stack’ …… Stack ends 該段是堆棧段,段名為 stack; segment指明堆棧段開始; para說明該段必須從能被 16整除的地址邊界開始; stack指明組合類型; ‘ stack’指明類別是堆棧類。 = 可以對一個符號重復(fù)定義: FACTOR=10H … FACTOR=25H 22 段定義偽指令 segment 和 ends段定義偽指令,定義源程序中的邏輯段; 指令格式: 段名 SEGMENT [定位類型 ][組合類型 ][‘類別 ’ ] …… 段名 ENDS [定位類型 ]:說明該段對起始地址的要求;有四種選擇 PARA, BYTE, WORD, PAGE PARA表示段必須從能被 16整除的地址開始; [組合類型 ]:在具有多個模塊的程序中,它指示在匯編后進行連接時,該段是否和其它的段進行組合,如果一個程序不需要和其他程序組合,也可省略該項。 21 例如: XYZ EQU CX LOAD EQU MOV P8 EQU DS:[BP+5] 注意: 不能重復(fù)定義同一個符號。一般格式為: [變量名 ] 偽操作助記符 操作數(shù) 1 [,操作數(shù) 2, …] 操作數(shù)可以是常數(shù)、字符或字符串、表達式、 ? 常用的數(shù)據(jù)定義偽操作有 5種: DB: 定義字節(jié)類型的變量 如: DELY1 DB 11H,22H,33H,44H DELY2 DB ‘HELLO’ DATA1 DB ?,? DW:定義字類型的變量 DATA2 DW 100H,200H NUM DW 100 5+88 11H 22H 33H 44H … ‘H’ ‘E’ ‘L’ ‘L’ ‘O’ DELY1 DELY2 19 DD:定義雙字類型的變量 如: DATA3 DD 35F87123H DQ:定義四字類型的變量 DT:定義十字節(jié)類型的變量,每個操作數(shù) 為 10個字節(jié)的壓縮 BCD碼; SUM DQ 0011223344556677H 如果一個變量的操作數(shù)有多個,而且都一樣; 可以使用重復(fù)操作符 DUP 來定義: DATA1 DB 20 DUP(?) DATA2 DB 20 DUP(30) 23H 71H F8H 35H … 77H 66H 55H 44H 33H 22H 11H 00H … DATA3 SUM 20 符號定義偽指令 符號定義偽指令 EQU用于給一個表達式賦予一個名字; 指令格式: 符號名 EQU 表達式 表達式可以是常數(shù)、符號、數(shù)值表達式、地址表達式、甚至是一個指令助記符。 例: MOV AX,SEG BUFFER MOV AX,OFFSET BUFFER ? PTR是類型運算符: CALL DWORD PTR[BX] MOV AL,BYTE PTR[SI] 17 偽指令 偽指令由編譯程序執(zhí)行,不參與程序的運行;功能:定義數(shù)據(jù)、存儲區(qū)分配、定義段、定義過程等。如果表達式成立,則運算結(jié)果為真 TRUE,輸出結(jié)果為全 1;若表達式不成立,則表示結(jié)果為假 FALSE,輸出為全 0。 例: AND AL,0ADH AND 0CCH 注意:邏輯運算符與邏輯運算指令在形式上相同,但是邏輯運算指令出現(xiàn)在指令碼段,邏輯運算符出現(xiàn)在操作數(shù)段。 表達式常用運算符有: 1) 算術(shù)運算符 : +、 、 *、 /和 MOD(取余數(shù)) 2) 邏輯運算符 : AND、 OR、 XOR、 NOT 3) 關(guān)系運算符: EQ(等于 )、 NE(不等于)、 LT(小于 )、GT(大于 )、 LE(小于等于)、 GE(大于等于) 4) 取值運算符 :OFFSET、 SEG 5) 屬性運算符: PTR 6) 其他運算符: [ ]、: 14 表達式中的運算符 算術(shù)運算符: +、 、 *、 /、求余 (MOD)、它們運算的結(jié)果都取整數(shù)。表達式不是指令,本身不能執(zhí)行。 變量名與標(biāo)號名的區(qū)別: 變量名是變量的符號地址,標(biāo)號是指令的符號地址。 例如: NUM DB 11H,22H,33H DATA2 DW 100H,200H 長度 LENGTH:變量的個數(shù)。 B:二進制 D:十進制,可以省略 H:十六進制(以字母開始的 16進制數(shù),要在前面加一個 0) 字符串常數(shù)用 ‘’ 單引號括起來,編譯程序?qū)⑵浞g成 ASCII碼。而數(shù)據(jù)項又可以是常量、標(biāo)號、變量或表達式。 7 匯編語言語句類型 語句類型:指令性語句、指示性語句 指令性語句由指令組成、 CPU可以執(zhí)行; 指示性語句用來告訴編譯程序 MASM如何對源程序進行匯編,它不生成目標(biāo)代碼,不由 CPU執(zhí)行,所以常稱為 偽操作指令; 例如: START: MOV AX,DATA DATA DB 11H,12H,13H 區(qū)別: START是指令性語句的標(biāo)號,它是指令的符號地址 ,后邊通常加上 “ : ” ; DATA是指示性語句的名字,名字通常表示變量名、段名和過程名,后邊不加 “ : ” 指示性語句中的操作數(shù)可以有多個,相互之間用逗號分開; 8 數(shù)據(jù)項及表達式 操作數(shù)可以是寄存器、存儲器單元或數(shù)據(jù)項。 注釋域:說明。 操作數(shù)域:操作數(shù)以逗號間隔。 2 匯編語言指令到機器指令的示意圖 3 匯編語言源程序的結(jié)構(gòu) 數(shù)據(jù)段名 SEGMENT …… 數(shù)據(jù)段名 ENDS 附加數(shù)據(jù)段名 SEGMENT …… 附加數(shù)據(jù)段名 ENDS 堆棧段名 SEGMENT …… 堆棧段名 ENDS 代碼段名 SEGMENT …… 代碼段名 ENDS END 每段以 SEGMENT 語句開始 整個程序以 END 語句結(jié)束 以 ENDS 語句結(jié)束 下面舉例來加以說明: 這是一個兩個字相加的程序 DSEG SEGMENT ; 定義數(shù)據(jù)段 DATA1 DW 0F865H ; 定義被加數(shù) DATA2 DW 360CH ; 定義加數(shù) DSEG ENDS ; 數(shù)據(jù)段結(jié)束 ESEG SEGMENT ; 定義附加段 SUM DW 2 DUP(?) ; 定義存放結(jié)果區(qū) ESEG ENDS ; 附加段結(jié)束 CSEG SEGMENT ; 定義代碼段 ASSUME CS: CSEG, DS: DSEG, ES: ESEG START: MOV AX, DSEG MOV DS, AX ;初始化 DS MOV AX, ESEG MOV ES, AX ;初始化 ES LEA SI, SUM ;存放結(jié)果的偏移地址送 SI MOV AX, DATA1 ;取被加數(shù) ADD AX, DATA2 ;兩數(shù)相加 MOV ES: [SI], AX ;和送附加段的 SUM單元中 HLT CSEG ENDS
點擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1