版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
2022年12月13日12022年12月13日1
2022年12月13日1第6章帶符號數(shù)、字符串和表*1DECHEXBIN
6600000110
匯編語言與接口技術(shù)2022年12月12日12022年12月12日12022年第6章帶符號數(shù)、字符串和表學(xué)習(xí)本章后:1、會進行帶符號數(shù)的運算程序設(shè)計
正數(shù)、負數(shù)、正負數(shù)2、會進行字符串的運算程序設(shè)計
數(shù)據(jù)串、字符串、字串、字節(jié)串3、會進行查表運算程序設(shè)計
例如:函數(shù)表Y=f(x),Y=x22022年12月13日2第6章帶符號數(shù)、字符串和表學(xué)習(xí)本章后:2022年12月第6章帶符號數(shù)、字符串和表本章的主要內(nèi)容:6.1帶符號數(shù)的運算
6.1.1帶符號數(shù)的概念 6.1.2帶符號數(shù)的補碼表示
6.1.3帶符號數(shù)的運算 6.1.4帶符號數(shù)的加減運算的溢出問題6.1.5帶符號數(shù)的乘除、移位、比較運算6.2字符串和表操作 6.2.1字符串操作 6.2.2XLAT指令和查表2022年12月13日3第6章帶符號數(shù)、字符串和表本章的主要內(nèi)容:2022年16.1帶符號數(shù)的算術(shù)運算6.1.1帶符號數(shù)的概念
日常生活中使用的數(shù)字有正、有負(例如溫度等),計算機就必須能夠處理這樣的數(shù)值。計算機處理數(shù)據(jù)主要包括:數(shù)據(jù)表示和數(shù)據(jù)運算。計算機只能存儲0,1兩種符號。
數(shù)據(jù)表示的目的是存儲和顯示數(shù)據(jù),存儲要解決將帶符號數(shù)中的“符號”數(shù)字化后才能存儲在計算機中。
數(shù)據(jù)運算是使用計算機語言提供的指令,取得運算的源操作數(shù),將運算結(jié)果存儲在計算機中,且須判斷計算機運算結(jié)果的正確性。2022年12月13日46.1帶符號數(shù)的算術(shù)運算6.1.1帶符號數(shù)的概念20226.1帶符號數(shù)的算術(shù)運算6.1.2帶符號數(shù)的補碼表示正數(shù)的補碼表示:
將數(shù)的真值形式中的正號,用代碼0來表示,數(shù)值部分用二進制數(shù)來表示。
負數(shù)的補碼表示:將數(shù)的真值形式中的負號,用代碼1來表示,將用二進制數(shù)表示的數(shù)值部分按位取反且在最低位加1形成。2022年12月13日56.1帶符號數(shù)的算術(shù)運算6.1.2帶符號數(shù)的補碼表示206.1帶符號數(shù)的算術(shù)運算字長:n位補碼表示一個數(shù)時,最高位為符號位。符號數(shù)字化:
0---正數(shù)
1---負數(shù)數(shù)的補碼表示:(1)符號位為0時,表示的數(shù)為正數(shù),其后面的n-1位為數(shù)值部分。(2)符號位為1時,表示的數(shù)為負數(shù),其后面的n-1位按位取反且最低位加1為數(shù)值部分。n位二進制補碼表示范圍:
-2n-1-
-
-
(2n-1-1)參看p154-p1556.1帶符號數(shù)的算術(shù)運算字長:n位6.1帶符號數(shù)的算術(shù)運算6.1.3帶符號數(shù)的運算
運算:算術(shù)運算、邏輯運算
算術(shù)運算:加、減、乘、除、比較
邏輯運算:移位運算
本節(jié)中約定參加運算的數(shù)字長:8位,16位;對應(yīng)數(shù)的表示范圍。若字長確定則數(shù)的表示范圍隨之確定;若運算結(jié)果超出數(shù)的表示范圍,則應(yīng)進行溢出處理。2022年12月13日76.1帶符號數(shù)的算術(shù)運算6.1.3帶符號數(shù)的運算20226.1帶符號數(shù)的算術(shù)運算6.1.3帶符號數(shù)的運算(續(xù))數(shù)的運算分類:
加法: 加法指令 ADD
減法: 減法指令 SUB
乘法: 乘法指令 IMUL
除法: 除法指令 IDIV
移位: 移位指令 SAR、SAL、SHL
比較: 比較指令 CMP簡單舉例說明運算結(jié)果可表示,結(jié)果溢出的情況(DEBUG下演示)6.1帶符號數(shù)的算術(shù)運算6.1.3帶符號數(shù)的運算(續(xù))6.1帶符號數(shù)的算術(shù)運算6.1.4帶符號數(shù)的加減運算的溢出問題嚴重問題:帶符號數(shù)的溢出問題。CPU報告溢出:產(chǎn)生溢出時,CPU將標(biāo)志位OF置為1。程序員處理:程序檢測,若OF=1則溢出,轉(zhuǎn)向溢出處理。例如:如下例子產(chǎn)生溢出的情況(DEBUG下演示,注意加減運算對符號位的影響,特別是對OF標(biāo)志的影響)P155例子6.496+70p156例子6.5(-128)+(-2)P157例子6.86.1帶符號數(shù)的算術(shù)運算6.1.4帶符號數(shù)的加減運算的溢6.1帶符號數(shù)的算術(shù)運算6.1.4帶符號數(shù)的加減運算的溢出問題(續(xù))避免結(jié)果溢出的產(chǎn)生:擴大數(shù)據(jù)位數(shù)方法:CBW---把字節(jié)轉(zhuǎn)換為字,把AL的D7復(fù)制到AH的所有位。CWD---把字轉(zhuǎn)換為雙字,把AX的D15復(fù)制到DX的所有位。參看P158程序6.16.1帶符號數(shù)的算術(shù)運算6.1.4帶符號數(shù)的加減運算的溢6.1帶符號數(shù)的算術(shù)運算6.1.5帶符號數(shù)的乘除、移位、比較運算
(1)乘法
指令格式:IMUL寄存器/內(nèi)存 隱含操作數(shù)1:字節(jié)---AL,字---AX
(2)除法
指令格式:
IDIV 寄存器/內(nèi)存
隱含操作數(shù)1:字節(jié)---AX,字---DX:AX2022年12月13日116.1帶符號數(shù)的算術(shù)運算6.1.5帶符號數(shù)的乘除、移位、6.1帶符號數(shù)的算術(shù)運算(3)算術(shù)右移
指令格式:SAR目的,移位的次數(shù)
算術(shù)移位方法:目的操作數(shù)的各位右移1位,最低位進入進位位,空出的位用符號位填充。
(適用于帶符號數(shù),其余同第三章介紹的移位指令)
簡單舉例6.1帶符號數(shù)的算術(shù)運算(3)算術(shù)右移6.1帶符號數(shù)的算術(shù)運算(4)帶符號數(shù)的比較
指令格式:
CMP目的操作數(shù),源操作數(shù)帶符號數(shù)比較后檢查標(biāo)志:OF、ZF、SF
用來檢查上述條件的助記符如下:
JE JGJGEJLJLE參看P161例子6.122022年12月13日136.1帶符號數(shù)的算術(shù)運算(4)帶符號數(shù)的比較2022年122022年12月13日14第6章帶符號數(shù)、字符串和表6.1帶符號數(shù)的運算
6.1.1帶符號數(shù)的概念 6.1.2帶符號數(shù)的補碼表示
6.1.3帶符號數(shù)的運算 6.1.4帶符號數(shù)的加減運算的溢出問題6.1.5帶符號數(shù)的乘除、移位、比較運算6.2字符串和表操作 6.2.1字符串操作 6.2.2XLAT指令和查表2022年12月13日142022年12月12日14第6章帶符號數(shù)、字符串和表66.2字符串和表操作6.2.1字符串操作串處理指令處理存放在存儲器里的數(shù)據(jù)串,串指令可以處理字節(jié)或字,386及后繼機型還可以處理雙字。
串處理指令包括:
MOVS串傳送 CMPS串比較
SCAS串掃描 LODS從串取
STOS存入串
INS串輸入(從I/O端口輸入)
OUTS串輸出(向I/O端口輸出)2022年12月13日156.2字符串和表操作6.2.1字符串操作2022年12月6.2字符串和表操作6.2.1字符串操作
使用的寄存器: DS、SI、ES、DI、CX DS:SI---指向源操作數(shù) ES:DI---指向目的操作數(shù) CX:重復(fù)執(zhí)行的次數(shù)
方向標(biāo)志的使用: DF:指字符串指令自動使指針SI、DI遞增或者遞減 DF=0自動增量,DF=1自動減量 指令CLD;DF=0 指令STD;DF=16.2字符串和表操作6.2.1字符串操作6.2字符串和表操作6.2.1字符串操作串指令只能處理一個字符/字、雙字。而串指令加上重復(fù)前綴即可方便的處理一個字符串。
串處理指令使用的重復(fù)前綴如下:
REP 重復(fù) REPE/REPZ 相等/為零則重復(fù) REPNE/REPNZ 不相等/不為零則重復(fù)6.2字符串和表操作6.2.1字符串操作6.2字符串和表操作1)與REP相配合工作
MOVS,STOS,LODS,INS和OUTS指令(1)格式:REP串指令
執(zhí)行的操作①若(countreg)=0,則退出REP,否則繼續(xù)執(zhí)行。②(countreg)=(countreg)-1③執(zhí)行其后的串指令④重復(fù)①-③其中計數(shù)長度為16位時,用CX作為countreg,計數(shù)長度為32位時,用ECX作為countreg。2022年12月13日186.2字符串和表操作1)與REP相配合工作2022年16.2字符串和表操作(2) MOVS串傳送指令
MOVS DST,SRC MOVSB(字節(jié)) MOVSW(字)
MOVSD(雙字)(386及后繼機型可用)
功能:把源變址指向的寄存器數(shù)據(jù)段中的內(nèi)容傳送到目的變址寄存器指向的附加段中去。
執(zhí)行該指令前的準(zhǔn)備工作:①數(shù)據(jù)段中源串首地址②附加段中目的串首地址③數(shù)據(jù)串長度④方向標(biāo)志:建立方向標(biāo)志的指令CLDSTD
參看x86-P164-el.asm2022年12月13日196.2字符串和表操作(2) MOVS串傳送指令2022年16.2字符串和表操作(3)STOS指令
STOSDSTSTOSB(字節(jié))STOSW(字)
STOSD(雙字)功能:把累加器中的內(nèi)容存入由目的變址寄存器指向的附加段的單元中。
STOS指令在初始化某一緩沖區(qū)時很有用。參看x86-P165-el.asm2022年12月13日206.2字符串和表操作(3)STOS指令2022年12月16.2字符串和表操作(4)LODS指令
LODSSRCLODSB(字節(jié))LODSW(字)
LODSD(雙字)功能:把由源變址寄存器指向的數(shù)據(jù)段的單元中內(nèi)容存入累加器中。
LODS指令用于將緩沖區(qū)中的一串字符逐次取出來測試。2022年12月13日216.2字符串和表操作(4)LODS指令2022年12月126.2字符串和表操作2)與REPE/REPZ和REPNE/REPNZ聯(lián)合工作的CMPS和SCAS指令
(1)REPE/REPZ重復(fù)串操作格式:REPE/REPZ串指令執(zhí)行的操作:①若(countreg)=0或ZF=0時則退出,否則往下繼續(xù)執(zhí)行。②(countreg)=(countreg)-1③執(zhí)行其后的串指令④重復(fù)①-③2022年12月13日226.2字符串和表操作2)與REPE/REPZ和REPNE6.2字符串和表操作(2)REPNE/REPNZ執(zhí)行的操作格式:REPNE/REPNZ串指令執(zhí)行的操作:①若(countreg)=0或ZF=1時則退出,否則往下繼續(xù)執(zhí)行。②(countreg)=(countreg)-1③執(zhí)行其后的串指令④重復(fù)①-③6.2字符串和表操作(2)REPNE/REPNZ執(zhí)行的操6.2字符串和表操作(3)CMPS指令
CMPSDST,SRC CMPSB(字節(jié)) CMPSW(字)
CMPSD(雙字)(386及后繼機型可用)
功能:把源變址指向的寄存器數(shù)據(jù)段中的內(nèi)容與目的變址寄存器指向的附加段的內(nèi)容相減,但不存結(jié)果,只根據(jù)條件置條件碼。
用來比較兩個數(shù)據(jù)串。6.2字符串和表操作(3)CMPS指令6.2字符串和表操作(4)SCAS指令
SCASDST SCASB(字節(jié)) SCASW(字)
SCASD(雙字)(386及后繼機型可用)
功能:把累加器中的內(nèi)容與目的變址寄存器指向的附加段的內(nèi)容進行比較,并不存結(jié)果,只根據(jù)條件置條件碼。 從一個串中查找一個指定的字符。參看x86-P165-el.asm6.2字符串和表操作(4)SCAS指令6.2字符串和表操作6.2.2查表和XLAT指令1.查表在計算機中往往需要用表保存一些重要信息。例如:平方表、函數(shù)表等?如何用查表(1)已知表首址tab(2)已知待查數(shù)據(jù)x(表中的偏移地址)(3)
結(jié)果地址=tab+x(4)Y=(tab+x)0149…81tab+0表1.
Y=f(x)是一平方表tab+96.2字符串和表操作6.2.2查表和XLAT指令0149…6.2字符串和表操作2.XLAT(translate) 換碼
指令格式:XLATOPR指令的功能:
16位指令:(AL)←((BX)+(AL))
32位指令:(AL)←((EBX)+(AL))
換碼指令常用于把一種代碼轉(zhuǎn)換為另一種代碼。6.2字符串和表操作2.XLAT(transla6.2字符串和表操作3.平方表查表實戰(zhàn)舉例(1)數(shù)據(jù)段定義平方表(2)編程序查表提示查表的主要指令段:
MOVBX,OFFSETTABMOVAL,XXLAT6.2字符串和表操作3.平方表查表實戰(zhàn)舉例本章實戰(zhàn)練習(xí)
假設(shè)數(shù)據(jù)段中NUM開始的200字節(jié)單元中的帶符號數(shù),其他條件自設(shè)。完成如下工作:1.分別統(tǒng)計這串?dāng)?shù)中的正數(shù)個數(shù)和負數(shù)個數(shù)2.將原數(shù)據(jù)串中的前100個數(shù)據(jù)傳送到附加段ENUM開始的單元中3.求出ENUM單元的100個數(shù)中的最大數(shù)
2022年12月13日29本章實戰(zhàn)練習(xí)假設(shè)數(shù)據(jù)段中NUM開始的200字節(jié)單元中的2022年12月13日302022年12月13日302022年12月13日302022年12月13日302022年12月13日30復(fù)習(xí)題及作業(yè)題復(fù)習(xí)題1.各節(jié)后復(fù)習(xí)題自己獨立完成2.對照章后復(fù)習(xí)答案作業(yè)題
編程題目
P1698、11、12要求:須上機調(diào)試,作業(yè)本上給出運行結(jié)果。
*302022年12月12日302022年12月12日3020222022年12月13日312022年12月13日31
2022年12月13日31第6章帶符號數(shù)、字符串和表*31DECHEXBIN
6600000110
匯編語言與接口技術(shù)2022年12月12日12022年12月12日12022年第6章帶符號數(shù)、字符串和表學(xué)習(xí)本章后:1、會進行帶符號數(shù)的運算程序設(shè)計
正數(shù)、負數(shù)、正負數(shù)2、會進行字符串的運算程序設(shè)計
數(shù)據(jù)串、字符串、字串、字節(jié)串3、會進行查表運算程序設(shè)計
例如:函數(shù)表Y=f(x),Y=x22022年12月13日32第6章帶符號數(shù)、字符串和表學(xué)習(xí)本章后:2022年12月第6章帶符號數(shù)、字符串和表本章的主要內(nèi)容:6.1帶符號數(shù)的運算
6.1.1帶符號數(shù)的概念 6.1.2帶符號數(shù)的補碼表示
6.1.3帶符號數(shù)的運算 6.1.4帶符號數(shù)的加減運算的溢出問題6.1.5帶符號數(shù)的乘除、移位、比較運算6.2字符串和表操作 6.2.1字符串操作 6.2.2XLAT指令和查表2022年12月13日33第6章帶符號數(shù)、字符串和表本章的主要內(nèi)容:2022年16.1帶符號數(shù)的算術(shù)運算6.1.1帶符號數(shù)的概念
日常生活中使用的數(shù)字有正、有負(例如溫度等),計算機就必須能夠處理這樣的數(shù)值。計算機處理數(shù)據(jù)主要包括:數(shù)據(jù)表示和數(shù)據(jù)運算。計算機只能存儲0,1兩種符號。
數(shù)據(jù)表示的目的是存儲和顯示數(shù)據(jù),存儲要解決將帶符號數(shù)中的“符號”數(shù)字化后才能存儲在計算機中。
數(shù)據(jù)運算是使用計算機語言提供的指令,取得運算的源操作數(shù),將運算結(jié)果存儲在計算機中,且須判斷計算機運算結(jié)果的正確性。2022年12月13日346.1帶符號數(shù)的算術(shù)運算6.1.1帶符號數(shù)的概念20226.1帶符號數(shù)的算術(shù)運算6.1.2帶符號數(shù)的補碼表示正數(shù)的補碼表示:
將數(shù)的真值形式中的正號,用代碼0來表示,數(shù)值部分用二進制數(shù)來表示。
負數(shù)的補碼表示:將數(shù)的真值形式中的負號,用代碼1來表示,將用二進制數(shù)表示的數(shù)值部分按位取反且在最低位加1形成。2022年12月13日356.1帶符號數(shù)的算術(shù)運算6.1.2帶符號數(shù)的補碼表示206.1帶符號數(shù)的算術(shù)運算字長:n位補碼表示一個數(shù)時,最高位為符號位。符號數(shù)字化:
0---正數(shù)
1---負數(shù)數(shù)的補碼表示:(1)符號位為0時,表示的數(shù)為正數(shù),其后面的n-1位為數(shù)值部分。(2)符號位為1時,表示的數(shù)為負數(shù),其后面的n-1位按位取反且最低位加1為數(shù)值部分。n位二進制補碼表示范圍:
-2n-1-
-
-
(2n-1-1)參看p154-p1556.1帶符號數(shù)的算術(shù)運算字長:n位6.1帶符號數(shù)的算術(shù)運算6.1.3帶符號數(shù)的運算
運算:算術(shù)運算、邏輯運算
算術(shù)運算:加、減、乘、除、比較
邏輯運算:移位運算
本節(jié)中約定參加運算的數(shù)字長:8位,16位;對應(yīng)數(shù)的表示范圍。若字長確定則數(shù)的表示范圍隨之確定;若運算結(jié)果超出數(shù)的表示范圍,則應(yīng)進行溢出處理。2022年12月13日376.1帶符號數(shù)的算術(shù)運算6.1.3帶符號數(shù)的運算20226.1帶符號數(shù)的算術(shù)運算6.1.3帶符號數(shù)的運算(續(xù))數(shù)的運算分類:
加法: 加法指令 ADD
減法: 減法指令 SUB
乘法: 乘法指令 IMUL
除法: 除法指令 IDIV
移位: 移位指令 SAR、SAL、SHL
比較: 比較指令 CMP簡單舉例說明運算結(jié)果可表示,結(jié)果溢出的情況(DEBUG下演示)6.1帶符號數(shù)的算術(shù)運算6.1.3帶符號數(shù)的運算(續(xù))6.1帶符號數(shù)的算術(shù)運算6.1.4帶符號數(shù)的加減運算的溢出問題嚴重問題:帶符號數(shù)的溢出問題。CPU報告溢出:產(chǎn)生溢出時,CPU將標(biāo)志位OF置為1。程序員處理:程序檢測,若OF=1則溢出,轉(zhuǎn)向溢出處理。例如:如下例子產(chǎn)生溢出的情況(DEBUG下演示,注意加減運算對符號位的影響,特別是對OF標(biāo)志的影響)P155例子6.496+70p156例子6.5(-128)+(-2)P157例子6.86.1帶符號數(shù)的算術(shù)運算6.1.4帶符號數(shù)的加減運算的溢6.1帶符號數(shù)的算術(shù)運算6.1.4帶符號數(shù)的加減運算的溢出問題(續(xù))避免結(jié)果溢出的產(chǎn)生:擴大數(shù)據(jù)位數(shù)方法:CBW---把字節(jié)轉(zhuǎn)換為字,把AL的D7復(fù)制到AH的所有位。CWD---把字轉(zhuǎn)換為雙字,把AX的D15復(fù)制到DX的所有位。參看P158程序6.16.1帶符號數(shù)的算術(shù)運算6.1.4帶符號數(shù)的加減運算的溢6.1帶符號數(shù)的算術(shù)運算6.1.5帶符號數(shù)的乘除、移位、比較運算
(1)乘法
指令格式:IMUL寄存器/內(nèi)存 隱含操作數(shù)1:字節(jié)---AL,字---AX
(2)除法
指令格式:
IDIV 寄存器/內(nèi)存
隱含操作數(shù)1:字節(jié)---AX,字---DX:AX2022年12月13日416.1帶符號數(shù)的算術(shù)運算6.1.5帶符號數(shù)的乘除、移位、6.1帶符號數(shù)的算術(shù)運算(3)算術(shù)右移
指令格式:SAR目的,移位的次數(shù)
算術(shù)移位方法:目的操作數(shù)的各位右移1位,最低位進入進位位,空出的位用符號位填充。
(適用于帶符號數(shù),其余同第三章介紹的移位指令)
簡單舉例6.1帶符號數(shù)的算術(shù)運算(3)算術(shù)右移6.1帶符號數(shù)的算術(shù)運算(4)帶符號數(shù)的比較
指令格式:
CMP目的操作數(shù),源操作數(shù)帶符號數(shù)比較后檢查標(biāo)志:OF、ZF、SF
用來檢查上述條件的助記符如下:
JE JGJGEJLJLE參看P161例子6.122022年12月13日436.1帶符號數(shù)的算術(shù)運算(4)帶符號數(shù)的比較2022年122022年12月13日44第6章帶符號數(shù)、字符串和表6.1帶符號數(shù)的運算
6.1.1帶符號數(shù)的概念 6.1.2帶符號數(shù)的補碼表示
6.1.3帶符號數(shù)的運算 6.1.4帶符號數(shù)的加減運算的溢出問題6.1.5帶符號數(shù)的乘除、移位、比較運算6.2字符串和表操作 6.2.1字符串操作 6.2.2XLAT指令和查表2022年12月13日442022年12月12日14第6章帶符號數(shù)、字符串和表66.2字符串和表操作6.2.1字符串操作串處理指令處理存放在存儲器里的數(shù)據(jù)串,串指令可以處理字節(jié)或字,386及后繼機型還可以處理雙字。
串處理指令包括:
MOVS串傳送 CMPS串比較
SCAS串掃描 LODS從串取
STOS存入串
INS串輸入(從I/O端口輸入)
OUTS串輸出(向I/O端口輸出)2022年12月13日456.2字符串和表操作6.2.1字符串操作2022年12月6.2字符串和表操作6.2.1字符串操作
使用的寄存器: DS、SI、ES、DI、CX DS:SI---指向源操作數(shù) ES:DI---指向目的操作數(shù) CX:重復(fù)執(zhí)行的次數(shù)
方向標(biāo)志的使用: DF:指字符串指令自動使指針SI、DI遞增或者遞減 DF=0自動增量,DF=1自動減量 指令CLD;DF=0 指令STD;DF=16.2字符串和表操作6.2.1字符串操作6.2字符串和表操作6.2.1字符串操作串指令只能處理一個字符/字、雙字。而串指令加上重復(fù)前綴即可方便的處理一個字符串。
串處理指令使用的重復(fù)前綴如下:
REP 重復(fù) REPE/REPZ 相等/為零則重復(fù) REPNE/REPNZ 不相等/不為零則重復(fù)6.2字符串和表操作6.2.1字符串操作6.2字符串和表操作1)與REP相配合工作
MOVS,STOS,LODS,INS和OUTS指令(1)格式:REP串指令
執(zhí)行的操作①若(countreg)=0,則退出REP,否則繼續(xù)執(zhí)行。②(countreg)=(countreg)-1③執(zhí)行其后的串指令④重復(fù)①-③其中計數(shù)長度為16位時,用CX作為countreg,計數(shù)長度為32位時,用ECX作為countreg。2022年12月13日486.2字符串和表操作1)與REP相配合工作2022年16.2字符串和表操作(2) MOVS串傳送指令
MOVS DST,SRC MOVSB(字節(jié)) MOVSW(字)
MOVSD(雙字)(386及后繼機型可用)
功能:把源變址指向的寄存器數(shù)據(jù)段中的內(nèi)容傳送到目的變址寄存器指向的附加段中去。
執(zhí)行該指令前的準(zhǔn)備工作:①數(shù)據(jù)段中源串首地址②附加段中目的串首地址③數(shù)據(jù)串長度④方向標(biāo)志:建立方向標(biāo)志的指令CLDSTD
參看x86-P164-el.asm2022年12月13日496.2字符串和表操作(2) MOVS串傳送指令2022年16.2字符串和表操作(3)STOS指令
STOSDSTSTOSB(字節(jié))STOSW(字)
STOSD(雙字)功能:把累加器中的內(nèi)容存入由目的變址寄存器指向的附加段的單元中。
STOS指令在初始化某一緩沖區(qū)時很有用。參看x86-P165-el.asm2022年12月13日506.2字符串和表操作(3)STOS指令2022年12月16.2字符串和表操作(4)LODS指令
LODSSRCLODSB(字節(jié))LODSW(字)
LODSD(雙字)功能:把由源變址寄存器指向的數(shù)據(jù)段的單元中內(nèi)容存入累加器中。
LODS指令用于將緩沖區(qū)中的一串字符逐次取出來測試。2022年12月13日516.2字符串和表操作(4)LODS指令2022年12月126.2字符串和表操作2)與REPE/REPZ和REPNE/REPNZ聯(lián)合工作的CMPS和SCAS指令
(1)REPE/REPZ重復(fù)串操作格式:REPE/REPZ串指令執(zhí)行的操作:①若(countreg)=0或ZF=0時則退出,否則往下繼續(xù)執(zhí)行。②(countreg)=(countreg)-1③執(zhí)行其后的串指令④重復(fù)①-③2022年12月13日526.2字符串和表操作2)與REPE/REPZ和REPNE6.2字符串和表操作(2)REPNE/REPNZ執(zhí)行的操作格式:REPNE/REPNZ串指令執(zhí)行的操作:①若(countreg)=0或ZF=1時則退出,否則往下繼續(xù)執(zhí)行。②(countreg)=(countreg)-1③執(zhí)行其后的串指令④重復(fù)①-③6.2字符串和表操作(2)REPNE/REPNZ執(zhí)行的操6.2字符串和表操作(3)CMPS指令
CMPSDST,SR
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年度年福建省高校教師資格證之高等教育心理學(xué)通關(guān)題庫(附帶答案)
- 2024年度山西省高校教師資格證之高等教育法規(guī)題庫練習(xí)試卷A卷附答案
- 2024年度年福建省高校教師資格證之高等教育學(xué)能力測試試卷B卷附答案
- 2024年企業(yè)金融項目投資申請報告代可行性研究報告
- 2024年防霧涂料項目投資申請報告代可行性研究報告
- 山東省臨沂一中2024-2025學(xué)年高三11月測試語文試題含答案
- 第六章 社區(qū)營養(yǎng)管理和營養(yǎng)干預(yù)課件
- 五年級數(shù)學(xué)(小數(shù)除法)計算題專項練習(xí)及答案
- 2024年期房屋建筑施工協(xié)議范例大全
- 2024電力供應(yīng)與消費合規(guī)協(xié)議樣式
- 《變壓器有載分接開關(guān)振動聲學(xué)現(xiàn)場測試方法》
- 管桁架施工方案
- 全國高考物理高考題說題比賽一等獎?wù)n件物理說題李煥景
- 華為MA5800配置及調(diào)試手冊
- 汽車坡道玻璃雨棚施工方案
- 二輪復(fù)習(xí)微專題湖泊專題
- 2024年德陽發(fā)展控股集團有限公司招聘筆試參考題庫附帶答案詳解
- 餐前檢查表(標(biāo)準(zhǔn)模版)
- 重大風(fēng)險管控方案及措施客運站
- 陜西方言的文化價值與保護策略
- (2024年)剪映入門教程課件
評論
0/150
提交評論