匯編筆記4(跳轉(zhuǎn))

第9章(轉(zhuǎn)移指令):

8086轉(zhuǎn)移指令:

無(wú)條件轉(zhuǎn)移指令祸憋,條件轉(zhuǎn)移指令,循環(huán)指令肖卧,過(guò)程蚯窥,中斷

offset(偽指令):取得標(biāo)號(hào)偏移地址(也就是要配合標(biāo)號(hào)使用))取得值相當(dāng)于一個(gè)常數(shù)(不能直接給段寄存器)

jmp(無(wú)條件跳轉(zhuǎn)):可以修改ip也可以修改cs和ip

?????? (基于偏移) jmp short 標(biāo)號(hào):修改ip機(jī)器指令不包含目的地址,包含偏移地址

??????????????? short 8位的轉(zhuǎn)移(-128~127)塞帐,near ptr 16位的轉(zhuǎn)移(-32769~32767)

?????? (基于目的地址)jmp far ptr 標(biāo)號(hào)

??????? (基于寄存器)jmp? 16位寄存器(存有轉(zhuǎn)移目的地址)

???????? (基于內(nèi)存)jmp word ptr 內(nèi)存單元地址(存有轉(zhuǎn)移目的地址)

???????????????? word段內(nèi)轉(zhuǎn)移 拦赠,dword段間轉(zhuǎn)移

jcxz(有條件跳轉(zhuǎn)指令)(都是短轉(zhuǎn)移(基于偏移(-127~128)))

???????? jcxz 標(biāo)號(hào)(若cx=0則轉(zhuǎn)移到標(biāo)號(hào)處)

loop(短轉(zhuǎn)移)循環(huán)cx次 loop會(huì)先對(duì)cx-1再判斷cx與0的關(guān)系(基于偏移(-127~128))

短跳轉(zhuǎn)越界會(huì)報(bào)錯(cuò)。

實(shí)際操作暴露的問(wèn)題:

??????? 1.32位方式cs在后葵姥,ip在前

???????? 2.不同數(shù)據(jù)段偏移地址互不影響

? ? ? ? 3.數(shù)據(jù)不能直接賦給內(nèi)存

? ? ? ? 4.實(shí)驗(yàn)8原理荷鼠,標(biāo)號(hào)代表的是偏移地址,在執(zhí)行之前得到并轉(zhuǎn)化榔幸,所以向上跳允乐。

實(shí)驗(yàn)9(彩色打印):

B8000H~BFFFFH為顯示緩沖區(qū)削咆,分8頁(yè)牍疏,默認(rèn)顯示第一頁(yè)(B8000H~B8F9FH)

??????? 一行共160個(gè)字節(jié),兩個(gè)字節(jié)表示一個(gè)字符(偶地址放ascii拨齐,奇地址放屬性各1字節(jié))(從0到159)

??????? 屬性: ? ? ? |? 7 ? ? ? ?? |? 6? |? 5? |? 4? | ? ? ? 3 ? ? ? |? 2? |? 1? |? 0? |

????????????????????????? BL??? ??? ? ? ? R??? G???? B?? ? ? ? I???? ? ?? R???? G?? B

??????????????????????? 閃爍??????????? 背景???????????????? 高亮??????? 前景

編程暴露的問(wèn)題:1.ss,cs值不能直接改變鳞陨,不能有像mov ss,ax這種

? ? ? ? ? ? ? ? ? 2.初始化應(yīng)在入棧,循環(huán)(標(biāo)號(hào))前

????????????????? 3.注意一個(gè)字占兩個(gè)內(nèi)存單元瞻惋,add bx,2而不是inc bx

第10章(call和ret):

ret指令:用棧中命令修改ip(出棧)(ip先正常加再被覆蓋)

retf指令:依次出棧ip和cs

call指令:將當(dāng)前ip(call指令下一個(gè)指令開(kāi)始地址)或cs和ip入棧厦滤,轉(zhuǎn)移(非短轉(zhuǎn)移)

??????? 基于標(biāo)號(hào): (段內(nèi))call 標(biāo)號(hào):ip入棧后到標(biāo)號(hào)處執(zhí)行

? ? ? ?? ? ? ? ? ? ? ? ? ?? (段間)call far ptr 標(biāo)號(hào) :cs入棧援岩,ip入棧后到標(biāo)號(hào)處執(zhí)行

???????? 基于寄存器:(段內(nèi)) ???? call 16位寄存器

??????? 基于內(nèi)存:(段內(nèi))call word ptr 內(nèi)存單元地址(ip入棧后執(zhí)行內(nèi)存單元中的地址)

?????????????????????????? (段間)call dword ptr 內(nèi)存單元地址(存放順序cs ip)(csip入棧后執(zhí)行內(nèi)存單元中的地址)

call+ret實(shí)現(xiàn)子程序:call和ret配對(duì)

???????? call到mov ax,4c00h int 21h后,再用ret返回回來(lái)就可以實(shí)現(xiàn)子程序調(diào)用

???????????? 子程序參數(shù)和結(jié)果需要寄存器較少時(shí)存放在寄存器中(參數(shù)寄存器掏导,結(jié)果寄存器)

????????????????????? 參數(shù)和結(jié)果較多時(shí)將批量數(shù)據(jù)存在內(nèi)存中或棧中享怀,首地址放在寄存器中

發(fā)生寄存器沖突(不同操作依賴同一寄存器)使用棧push pop來(lái)避免沖突

mul:乘法命令(mul 寄存器;mul byte ptr 內(nèi)存地址碘菜;mul word存在 ptr 內(nèi)存地址)

??????????????????????? 8位*8位(結(jié)果放入ax)默認(rèn)al*

?????????????????? ? ? 16位*16位(結(jié)果放入dx+ax)默認(rèn)ax*

實(shí)驗(yàn)代碼不難凹蜈,魚(yú)c論壇上都有(判斷0用cx+jcxz的方法)

檢測(cè)點(diǎn)暴露的問(wèn)題:1.sp和bp默認(rèn)段寄存器都是ss

??????????????????????????? 2.0B8000h部分是顯卡地址是動(dòng)態(tài)變化的,debug跟蹤會(huì)有問(wèn)題

?????????????????????????? 3.子程序設(shè)計(jì)時(shí)開(kāi)始入棧忍啸,ret出棧以提高通用性

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末仰坦,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子计雌,更是在濱河造成了極大的恐慌悄晃,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,723評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件凿滤,死亡現(xiàn)場(chǎng)離奇詭異妈橄,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)翁脆,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,485評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門眷蚓,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人反番,你說(shuō)我怎么就攤上這事沙热。” “怎么了罢缸?”我有些...
    開(kāi)封第一講書(shū)人閱讀 152,998評(píng)論 0 344
  • 文/不壞的土叔 我叫張陵篙贸,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我枫疆,道長(zhǎng)爵川,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 55,323評(píng)論 1 279
  • 正文 為了忘掉前任息楔,我火速辦了婚禮寝贡,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘钞螟。我一直安慰自己兔甘,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,355評(píng)論 5 374
  • 文/花漫 我一把揭開(kāi)白布鳞滨。 她就那樣靜靜地躺著洞焙,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上澡匪,一...
    開(kāi)封第一講書(shū)人閱讀 49,079評(píng)論 1 285
  • 那天熔任,我揣著相機(jī)與錄音,去河邊找鬼唁情。 笑死疑苔,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的甸鸟。 我是一名探鬼主播惦费,決...
    沈念sama閱讀 38,389評(píng)論 3 400
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼抢韭!你這毒婦竟也來(lái)了薪贫?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 37,019評(píng)論 0 259
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤刻恭,失蹤者是張志新(化名)和其女友劉穎瞧省,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體鳍贾,經(jīng)...
    沈念sama閱讀 43,519評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡鞍匾,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,971評(píng)論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了骑科。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片橡淑。...
    茶點(diǎn)故事閱讀 38,100評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖咆爽,靈堂內(nèi)的尸體忽然破棺而出梳码,到底是詐尸還是另有隱情,我是刑警寧澤伍掀,帶...
    沈念sama閱讀 33,738評(píng)論 4 324
  • 正文 年R本政府宣布,位于F島的核電站暇藏,受9級(jí)特大地震影響蜜笤,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜盐碱,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,293評(píng)論 3 307
  • 文/蒙蒙 一把兔、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧瓮顽,春花似錦县好、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,289評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至,卻和暖如春晾咪,著一層夾襖步出監(jiān)牢的瞬間收擦,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,517評(píng)論 1 262
  • 我被黑心中介騙來(lái)泰國(guó)打工谍倦, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留塞赂,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 45,547評(píng)論 2 354
  • 正文 我出身青樓昼蛀,卻偏偏與公主長(zhǎng)得像宴猾,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子叼旋,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,834評(píng)論 2 345

推薦閱讀更多精彩內(nèi)容

  • 8086匯編 本筆記是筆者觀看小甲魚(yú)老師(魚(yú)C論壇)《零基礎(chǔ)入門學(xué)習(xí)匯編語(yǔ)言》系列視頻的筆記衫冻,在此感謝他和像他一樣...
    Gibbs基閱讀 37,115評(píng)論 8 114
  • 王爽匯編全書(shū)知識(shí)點(diǎn)大綱 第一章 基礎(chǔ)知識(shí) 機(jī)器語(yǔ)言 匯編語(yǔ)言的產(chǎn)生 匯編語(yǔ)言的組成 存儲(chǔ)器 cpu對(duì)存儲(chǔ)器的讀寫(xiě) ...
    2c3ba901516f閱讀 2,407評(píng)論 0 1
  • 一、基礎(chǔ)知識(shí) mov ax,bx把BX內(nèi)容送到AX中谒出。匯編語(yǔ)言有3類指令隅俘,匯編指令、偽指令笤喳,其他符號(hào)为居。CPU通過(guò)地...
    赤果_b4a7閱讀 1,836評(píng)論 0 1
  • [ ]內(nèi)部的元素不需要轉(zhuǎn)義 圖片需要保存URL的二進(jìn)制內(nèi)容 常用代碼塊
    趙照zz閱讀 258評(píng)論 0 0
  • 殘忍的五月在慢慢吞噬著我蒙畴, 把我逼到死亡的邊界, 身體的創(chuàng)傷呜象,心靈的畏懼 無(wú)時(shí)無(wú)刻不在捧著心臟 死容易膳凝,想死很難
    INTERESTING12閱讀 64評(píng)論 0 1