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

正文內(nèi)容

[高等教育]c第4章 匯編語言程序設(shè)計-預(yù)覽頁

2025-02-12 18:26 上一頁面

下一頁面
 

【正文】 LEA DI, NEW_LOC MOV CX, 6 CLD REP MOVSB CODE ENDS 。定義附加段 NEW_LOC DB 6 DUP(?) EXTRA ENDS 。 4 匯編語言源程序 機(jī)器語言程序 (目標(biāo)代碼) 匯編(可由匯編程序完成) 高級語言源程序 編譯或解釋 (可由編譯程序完成) 從源程序獲得目標(biāo)程序的過程 ? 為了能順利完成匯編,用戶必須為匯編程序提供一些額外的、與硬件有關(guān)的信息,如:程序使用的變量應(yīng)分別存放在內(nèi)存的哪個單元、堆棧應(yīng)從內(nèi)存的什么地址開始等等。1 第四章 匯編語言程序設(shè)計 匯編語言格式 8086匯編語言常用偽指令 DOS系統(tǒng)功能調(diào)用和 BIOS中斷調(diào)用 程序設(shè)計方法 2 ? 匯編語言是一種用符號表示的 、面向 CPU指令系統(tǒng) 的程序設(shè)計語言。 ? 相對于匯編語言, 高級語言 的 編程方便快捷,通用性和移植性都較好 ,在一些涉及大量數(shù)據(jù)處理、人機(jī)界面等設(shè)計任務(wù)的應(yīng)用程序中,采用高級語言編程更為合適。數(shù)據(jù)段定義結(jié)束 EXTRA SEGMENT 。對各段進(jìn)行說明 START: MOV AX,DATA MOV DS , AX 。 一個段的開始 語句 1 語句 2 …… 段名 1 ENDS 。 另一個段的結(jié)束 。 源代碼結(jié)束 7 ? 由 ? 指令 ? 和 ? 偽指令 ? 共同構(gòu)成的。注釋 ] 例: AGAN: ADC SUM, AX 。 ? 很多情況下標(biāo)識符字段是語句中的 可選部分 ,主要為便于程序的讀寫方便而使用。每個串元素的值定義為該元素所對應(yīng)的 1字節(jié) ASCII碼值 。 ? 有三個屬性 ? 段值 ( SEGMENT):標(biāo)號所在段的段基址; ? 段內(nèi)偏移地址 ( OFFSET):標(biāo)號地址與所在段的段首址之間的偏移地址字節(jié)數(shù) ? 類型 ( TYPE):在轉(zhuǎn)移指令中標(biāo)號可轉(zhuǎn)移的距離。 ? 注釋 對匯編不起任何作用 ,不對應(yīng)于任何機(jī)器碼,僅增強源程序的可讀性。 ? 存儲器運算對象 :可以為變量名或標(biāo)號。 ? 有 : DS:、 PTR、 THIS HIGH、 LOW、 SHORT 20 ? PTR: 格式:類型 /距離 PTR 變量或標(biāo)號 例: N1 DB 15H , 36H N2 DW 1122H , 3344H MOV AX, WORD PTR N1 MOV BL, BYTE PTR N2 21 ? THIS 格式:變量 /標(biāo)號 EQU THIS 類型 /距離 功能:將右邊的類型 /距離屬性賦給左邊的變量 /標(biāo)號 ,變量或標(biāo)號的段地址和偏移地址與下一個存儲單元的地址相同。 用 A1代替存儲單元的內(nèi)容 29 ? 符號定義語句 = ;賦值 PP = 89FAH PP = PP+1 。 ?WORD:段起始地址的 最低 1位 必須為 0,即從偶地址開始。 ?PUBLIC:連接程序首先將本段與其它 同名同類別的段相鄰地連接 在一起,然后為所有這些 PUBLIC段指定一個 共同的段基址 。 ?AT表達(dá)式:連接程序把本段裝在表達(dá)式值所 指定的段地址(此方式不能指定代碼段)。 段定義的相關(guān)約定 例: STACK SEGMENT PARA STACK ?STACK? 33 段分配偽指令 ASSUME ASSUME 偽指令 僅用在 代碼段首行 代碼段名 SEGMENT [相關(guān)約定 ] ASSUME CS:段名, DS:段名, … 〈 代碼段內(nèi)定義,指令集合 〉 代碼段名 ENDS 例: ASSUME DS:DATA, SS:STACK, CS:CODE 34 四、過程定義偽指令 PROC FAR 、 ENDP —— 遠(yuǎn) 過程定義偽指令 PROC NEAR、 ENDP —— 近 過程定義偽指令 過程名 PROC FAR( NEAR) 〈 過程指令集合 〉 RET 過程名 ENDP 注:過程定義必須在代碼段內(nèi) PROC FAR 為定義遠(yuǎn)過程 PROC NEAR 為定義近過程 35 例 COD1 SEGMENT ASSUME CS: COD1, …… …… 。 SUB1結(jié)束 SUB2 PROC 。 可能定義的其它過程 COD1 ENDS 。 37 段內(nèi)定位語句 ORG ? 語句格式: ORG 表達(dá)式或常量 ? ORG語句之后段內(nèi)所有的數(shù)據(jù)或代碼均以表達(dá)式或常量的值為 起始偏移量 連續(xù)存放,除非遇到另一個 ORG語句。 調(diào)用 DOS功能輸出回車 、 換行符 MOV DL, 0AH 。 ? 與高級語言 不同 ,使用匯編語言編程時設(shè)計者需同時使用 指令 和 偽指令 。對單元計數(shù) SUM DW 0 。100字節(jié)的??臻g STACK ENDS 。DS初始化 為 DATA MOV DS, AX LEA SI, D1 。 提示輸入一個數(shù) 鍵入一個數(shù) 查表得平方值 開 始 結(jié)束 MOV AX, DATA MOV DS, AX MOV DX,OFFSET BUF MOV AH,9 INT 21H MOV AH,1 INT 21H AND AL,0FH MOV BX,OFFSET TABLE XLAT MOV AH,4CH INT 21H 54 程 序 。$39。 MOV AH,1 INT 21H 56 。 CODE ENDS END START 程序(續(xù)) 57 ? 示例:存儲器中有一串長度為 N的數(shù)據(jù)首址為 BUF,分別計算其中數(shù)字 09,大寫字母 AZ和其它字符的個數(shù),并將其存入串后的單元。 ?循環(huán)控制: 修改計數(shù)器值,判斷循環(huán)控制條件,決定 是否跳出循環(huán)。 預(yù)置取字符指針 。 統(tǒng)計字符串中字符個數(shù) NUM DB ? 。 初始化 DS 。 內(nèi)循環(huán)初始化 , 取字符同時更新指針 LOP2: CMP AL, 0 。 當(dāng)前位 不為 ? 1”, 進(jìn)入下一次內(nèi)循環(huán) INC NUM 。 外循環(huán)控制 JNZ LOP1 。 ? 為保證 主、子過程各自的數(shù)據(jù)信息和工作狀態(tài) 不會互相干擾 ,在設(shè)計程序時應(yīng)盡量使主、子過程有屬于自己的工作空間 ? PUSH amp。 A ⊕ + B C D E NOT A MOV AL, B OR AL, A MOV BL, C AND BL, D XOR AL, BL NOT AL MOV E, AL 71 程 序 。 內(nèi)務(wù)操作 MOV DS, AX MOV AX, ST1 MOV SS, AX MOV SP, TOP 。 D XOR AL, BL NOT AL MOV E, AL 。 二進(jìn)制數(shù)值 = [(千位 1000) +(百位 100) +(十位 10) ]+個位 DSEG SEGMENT BCD DW 2022H 。取 BCD 碼 的 最 高 位 (千 位 ) MOV CL, 12 SHR AX, CL 。左 移 8 位 , 百 位 在 AL 中 MOV BL, 100 MUL B
點擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1