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

正文內(nèi)容

第3章匯編語言程序設(shè)計(jì)-預(yù)覽頁

2025-08-13 10:15 上一頁面

下一頁面
 

【正文】 名 [ , 段名 ] ? 功能: 將指定的所有段分配在同一個(gè)物理存儲(chǔ)器內(nèi) , 使用同一個(gè)組名 ,使用同一個(gè) DS內(nèi)容 。 COMPUTER SCIENCE AND TECHNOLOGY COMPUTER SCIENCE AND TECHNOLOGY 四、地址計(jì)數(shù)器偽指令 1. 地址計(jì)數(shù)器 $ ? 功能: 指出匯編地址 , 是偏移量 , 記載下一個(gè)變量或指令在當(dāng)前段中的偏移量 。 2. ORG 起始地址定義 ? 格式: ORG 表達(dá)式 ? 功能: 定義指令或數(shù)據(jù)的起始地址 , 把表達(dá)式的值送給 $( 地址計(jì)數(shù)器 ) 3. EVEN 偶數(shù)地址定義 ? 功能: 使下一個(gè)變量或指令從偶數(shù)地址開始 , 便于字存儲(chǔ)對(duì)準(zhǔn)( EVEN在代碼段中可能多出一個(gè) NOP語句 ) 。 ? 操作符: DB: 一個(gè)操作數(shù)占有 1個(gè)字節(jié)單元 ( 8位 ) , 定義的變量為字節(jié)變量 。 DQ: 一個(gè)操作數(shù)占有 1個(gè)四字單元 ( 64位 ) , 定義的變量為四字變量 。 2. EXTRN ? 格式: EXTRN 符號(hào) 1:類型 [ , 符號(hào) 2:類型 , … ] ? 功能: 外部引用 , 說明其他模塊定義 , 而本模塊引用的共享信息 。 ? EXTRN說明的信息應(yīng)是在 PUBLIC中已經(jīng)定義的 , 否則出錯(cuò) 。 ? 基數(shù)控制偽指令: 改變基數(shù)默認(rèn)值 ( 原默認(rèn)值為十進(jìn)制 ) 。 COMPUTER SCIENCE AND TECHNOLOGY COMPUTER SCIENCE AND TECHNOLOGY 一、常數(shù)( 2) 3. 符號(hào)常數(shù) ? 包括: EQU和= ( 1) EQU賦值偽指令 ? 格式: 符號(hào)常數(shù)名 EQU 表達(dá)式 ? 功能: 將表達(dá)式的值賦給符號(hào)常數(shù) 。 ? =定義的一個(gè)符號(hào)常數(shù)名在程序中可以重復(fù)定義多次 。 ( 1) 算術(shù)運(yùn)算符 ? 算術(shù)運(yùn)算符: 有 5個(gè) , 加 ( + ) 、 減 ( - ) 、 乘( ) 、 除 ( /) 和取余 ( MOD) 。 (AL)=00011011B MOV CL, BL SHL 6 。 (AX)=0FFFFH COMPUTER SCIENCE AND TECHNOLOGY COMPUTER SCIENCE AND TECHNOLOGY 二、表達(dá)式 ( 3) ( 5) 返回值運(yùn)算符 ? 返回值運(yùn)算符: 5個(gè) , 返回變量或標(biāo)號(hào)的段地址 ( SEG) 、 返回變量或標(biāo)號(hào)的偏移地址 ( OFFSET) 、 返回變量或標(biāo)號(hào)的類型值( TYPE) 、 返回變量的單元數(shù) ( LENGTH) 、 返回變量的字節(jié)數(shù)( SIZE) 。 ? 說明: 如果是變量,則匯編程序?qū)⒏鶕?jù)變量對(duì)應(yīng)的數(shù)據(jù)定義偽指令回送類型值(即變量類型代表的字節(jié)數(shù)): DB為 1, DW為 2, DD為 4, DF為 6, DQ為 8, DT為 10。 ? 說明: 1返回一次數(shù)據(jù)定義的第一個(gè)元素的長(zhǎng)度 , DUP時(shí)返回重復(fù)次數(shù) , 其他情況返回 1。 ⑤ SIZE返回變量的字節(jié)數(shù)運(yùn)算符 ? 格式: 操作數(shù) SIZE 變量 ? 功能: 將代表變量的字節(jié)數(shù)賦給操作數(shù) 。 COMPUTER SCIENCE AND TECHNOLOGY COMPUTER SCIENCE AND TECHNOLOGY 吉林大學(xué)遠(yuǎn)程教育學(xué)院 微機(jī)原理及匯編語言 主講人: 趙宏偉 教授 總學(xué)時(shí): 80 吉林大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院 第 二十三 講 COMPUTER SCIENCE AND TECHNOLOGY COMPUTER SCIENCE AND TECHNOLOGY 二、表達(dá)式 ( 5) 例: DATA SEGMENT AT 1000H ORG 3000H AA1 DW 100 DUP(0) BB1 DW 1,2 CC1 DB ‘ABCD’ DD1 DW 1000 DUP(2,3) EE1 DB 50 DUP(5,6) FF1 DW 1,2,100 DUP(?) GG1 DD 5 DUP(6 DUP(?)) DATA ENDS CODE SEGMENT ASSUME CS:CODE, DS:DATA HH1: MOV AX, DATA 。 CL=2, 字類型 MOV CH, TYPE CC1 。 AX=200, 元素個(gè)數(shù) 類型 MOV DX, LENGTH BB1 。 AX=1 MOV DX, LENGTH DD1 。 AX=50 MOV DX, LENGTH FF1 。 AX=20 … MOV AH, 4CH INT 21H CODE ENDS END HH1 COMPUTER SCIENCE AND TECHNOLOGY COMPUTER SCIENCE AND TECHNOLOGY 二、表達(dá)式 ( 7) ( 6) 屬性運(yùn)算符 ? 屬性運(yùn)算符: 3個(gè) , 臨時(shí)改變類型屬性運(yùn)算符 PTR、 指定類型屬性運(yùn)算符 THIS、 定義類型屬性運(yùn)算符 LABEL。 ? 說明: THIS指定的變量或標(biāo)號(hào)本身并不分配存儲(chǔ)單元 , 它與緊跟其后的變量或標(biāo)號(hào)只有類型不同 ,而段地址和偏移量均相同 。 MOV AX, DATA2 。 THIS指定類型與 PTR相同 。 運(yùn)算符可以是算術(shù)運(yùn)算符 、 邏輯運(yùn)算符 、 移位運(yùn)算符 、 關(guān)系運(yùn)算符 、 返回值運(yùn)算符 , 但結(jié)果必須是常數(shù) 。 ? 變量的五種屬性: 段地址 ( SEG返回值 ) 、 偏移量( OFFSET返回值 ) 、 類型 ( TYPE返回值 ) 、 單元數(shù)( LENGTH返回值 ) 、 字節(jié)數(shù) ( SIZE返回值 ) 5. 地址表達(dá)式 ? 地址表達(dá)式: 存儲(chǔ)器地址,即 EA的計(jì)算。解決同一個(gè)問題可以有不同的算法。所以,確定合適的算法是很重要的。 ? 5. 根據(jù)流程圖 編制程序 。本書中的流程圖,采用以下一些慣用的畫法。它有一個(gè)入口和幾個(gè)出口 , 各用箭頭表示 。 ? 帶箭頭的直線。其 原理如圖 所示。置段寄存器初值 lea bx, mulnum mulu32: mov ax, [bx ] 。B D mov [bx+8],ax 。部分積 2的一部分與部分積 1的相應(yīng)部分相加 mov [bx+0ah],ax mov [bx+0ch],dx 。與部分積 3的相應(yīng)部分相加 adc dx,[bx+0ch] COMPUTER SCIENCE AND TECHNOLOGY COMPUTER SCIENCE AND TECHNOLOGY 算術(shù)運(yùn)算程序設(shè)計(jì)( 4) mov [bx+0ah],ax mov [bx+0ch],dx pushf 。與部分積 4的相加部分相加 adc dx,0 mov [bx+0ch],ax mov [bx+0eh],dx ret start endp code ends end begin COMPUTER SCIENCE AND TECHNOLOGY COMPUTER SCIENCE AND TECHNOLOGY 吉林大學(xué)遠(yuǎn)程教育學(xué)院 微機(jī)原理及匯編語言 主講人: 趙宏偉 教授 總學(xué)時(shí): 80 吉林大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院 第 二十五 講 COMPUTER SCIENCE AND TECHNOLOGY COMPUTER SCIENCE AND TECHNOLOGY 算術(shù)運(yùn)算程序設(shè)計(jì)( 5) ? 例 2: 32位符號(hào)數(shù)乘法 ? 在 32位無符號(hào)數(shù)乘法程序的基礎(chǔ)上很容易實(shí)現(xiàn)32位帶符號(hào)數(shù)的乘法。 把被乘數(shù),乘數(shù) 取至寄存器中 乘數(shù)取補(bǔ) 設(shè)乘積標(biāo)志為 0 被乘數(shù)取補(bǔ) 返回 被乘數(shù) 0 ? 乘數(shù)標(biāo)志 = 0 ? 調(diào)用 32 位無符號(hào)數(shù)乘法程序 乘積標(biāo)志取反 乘數(shù) 0 ? 乘數(shù)標(biāo)志取反 乘數(shù)取補(bǔ) COMPUTER SCIENCE AND TECHNOLOGY COMPUTER SCIENCE AND TECHNOLOGY 算術(shù)運(yùn)算程序設(shè)計(jì)( 6) 相應(yīng)的程序?yàn)? name signed 32 bit mulpty data segment sign db ? mulnum dw 0X1,X2,Y1,4 dup(?) data ends stack segment para stack ‘stack’ db 100 dup(?) stack ends code segment assume cs:code, ds:data, ss:stack 。置符號(hào)為初值 lea bx, mulnum mov ax, [bx] 。CDI cmp dx, 0 。改變符號(hào)位 mov [bx], ax mov [bx+2], dx 。為負(fù)則取補(bǔ) not sign ;實(shí)現(xiàn)符號(hào)運(yùn)算 gomul: call mulu32 。乘積取補(bǔ) done: ret start endp COMPUTER SCIENCE AND TECHNOLOGY COMPUTER SCIENCE AND TECHNOLOGY 算術(shù)運(yùn)算程序設(shè)計(jì)( 9) 。若否,再判斷是否小于零,若是,則令 y= 1。 COMPUTER SCIENCE AND TECHNOLOGY COMPUTER SCIENCE AND TECHNOLOGY 分支程序設(shè)計(jì)( 4) 根據(jù)流程圖可以寫出下程序: NAME BRANCH_PROG DATA SEGMENT BRTAB DW R11 。一個(gè)循環(huán)結(jié)構(gòu)由以下幾部分組成: : 就是要求重復(fù)執(zhí)行的程序段部分 。 常見的循環(huán)是計(jì)數(shù)循環(huán) ,當(dāng)循環(huán)了一定次數(shù)后就結(jié)束循環(huán) .在微型機(jī)中 ,常用一個(gè)內(nèi)部寄存器 (或寄存器對(duì) )作為計(jì)數(shù)器 , 通常這個(gè)計(jì)數(shù)器的初值置以循環(huán)次數(shù) ,每循環(huán)一次令其減 1,當(dāng)計(jì)數(shù)器減為 0時(shí) ,就停止循環(huán) 。循環(huán)初態(tài)又可以分成兩部分 ,一是循環(huán)工作部分初態(tài) ,另一是結(jié)束條件的初態(tài),例如 ,要設(shè)地址指針 ,要使某些寄存器清零 ,或設(shè)某些標(biāo)志等等。 循環(huán) ? 這是一種最常用也是最普通的循環(huán)控制循環(huán)的方法 ? 例 1:在一串給定個(gè)數(shù)的數(shù)中尋找最大值(或最小值 ),放至指定的存儲(chǔ)單元。 DB 64 DUP (?) TOP EQU $STACK STACK ENDS CODE SEGMENT START PROC FAR ASSUME CS: CODE, DS: DATA, SS: STACK BEGIN: PUSH DS MOV AX, 0 PUSH AX MOV AX, DATA MOV DS, AX
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1