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

正文內(nèi)容

匯編語(yǔ)言學(xué)習(xí)筆記-文庫(kù)吧

2025-03-25 01:50 本頁(yè)面


【正文】 章節(jié)會(huì)隨著編程的算法和調(diào)試一起講解。:順序程序設(shè)計(jì)匯編語(yǔ)言的順序編程比較好理解,就是在編程的時(shí)候沒(méi)有跳轉(zhuǎn),沒(méi)有循環(huán),看看例子:例 :輸入三角形的邊長(zhǎng),求三角形的面積。我假設(shè)輸入的三邊長(zhǎng)都是能構(gòu)成三角形的,求三角形面積的公式為214。()(()。().這里要用到浮點(diǎn)指令,那就先回顧下浮點(diǎn)指令的用法:這里要加減乘除和平方根五種指令,由于的浮點(diǎn)數(shù)據(jù)寄存器是種堆棧結(jié)構(gòu),我們要記住這一點(diǎn)。先看看數(shù)據(jù)傳送指令和,: 源操作數(shù),源操作數(shù)可以是浮點(diǎn)寄存器和內(nèi)存,這個(gè)指令主要是把源操作數(shù)壓入浮點(diǎn)寄存器堆棧(其實(shí)就是),如果源操作數(shù)是整數(shù),那就用。和是把()浮點(diǎn)寄存器中的數(shù)彈出到目的操作數(shù)中,目的操作數(shù)可以為浮點(diǎn)寄存器和內(nèi)存。加減法指令:,,第一種形式: 目的操作數(shù),源操作數(shù)。其中目的操作數(shù),源操作數(shù)可以為浮點(diǎn)寄存器和內(nèi)存。第二種形式: 源操作數(shù),我本人比較喜歡這種,它不會(huì)把我腦海里的浮點(diǎn)寄存器的順序弄亂,這種形式的源操作數(shù)只能是內(nèi)存。減法指令同加法指令,就不多說(shuō)了。乘除法指令:,浮點(diǎn)的乘除法是不區(qū)分有符號(hào)和無(wú)符號(hào)數(shù)的,他們也有兩種形式:目的操作數(shù),源操作數(shù) 和 源操作數(shù)這兩種形式,第一種 操作數(shù)和源操作數(shù)可以為浮點(diǎn)寄存器和內(nèi)存,但第二種 源操作數(shù) 值能為內(nèi)存。平方根指令:這個(gè)指令就一種形式就是,就是把第個(gè)浮點(diǎn)寄存器 的值變成平方根值然后存在中。再回到例題中,我們應(yīng)該先算值,然后再算平方根下面的值然后求平方根就行了。值是三邊長(zhǎng)除以,轉(zhuǎn)換成浮點(diǎn)指令就是: ;先把值放到浮點(diǎn)寄存器中 再就是 ;這個(gè)就是,結(jié)果存在中 然后 ;同上,結(jié)果存在中現(xiàn)在算出了三邊長(zhǎng)的和,在除以就了 ;結(jié)果在中,最后把里面的值用 存到中就把值算出來(lái)了。再來(lái)算根號(hào)下面的值,這里有乘法和減法,我們先算減法: ,;這個(gè)就是,結(jié)果在里 再 ;這個(gè)結(jié)果還是在里,但是上面那個(gè)已經(jīng)被推到()這個(gè)浮點(diǎn)堆棧了啊,記住了。 再 ;這個(gè)結(jié)果還是在里,那么被推到()了,被推到()了,的值在()中,這里千萬(wàn)不能及亂了啊,下一步算乘法,先算*(), ;果在 (),()這一步是算*()*() 最后算*()*()*() (),(),然后把*()*()*()的結(jié)果再求平方根 再把這個(gè)平方根的值彈出到中。這是按照上面的想法寫(xiě)出的程序: ARG : () () 編譯運(yùn)行:下面是結(jié)果:但是出乎意料哦,錯(cuò)了,怎么辦呢?你發(fā)現(xiàn)什么問(wèn)題了沒(méi)?那只有調(diào)試看看了,用 :\\\\\打開(kāi)程序然后逐步調(diào)試看看,當(dāng)跟蹤到下面這句是就發(fā)現(xiàn)有問(wèn)題了:就是,也就是 [] ,然后發(fā)現(xiàn)中的值被彈走了,但緊接著又用()用與下一步進(jìn)行計(jì)算了,先推出調(diào)試,改動(dòng)下再運(yùn)行看看對(duì)不對(duì),但結(jié)果還是錯(cuò)的:那還得繼續(xù)調(diào)試了,發(fā)現(xiàn)我對(duì)指令理解錯(cuò)了,原來(lái)這個(gè)指令執(zhí)行完之后它不把結(jié)果推到下一個(gè)浮點(diǎn)堆棧:那只能用了,改動(dòng)如下: () () () 。然后改成這種了但結(jié)果還是錯(cuò)的,一看到這句 想一下“高低原則”,改成 編譯運(yùn)行,哈哈,了:最后正確的代碼: ARG : 。這里是變量定義 。這里是提示輸入三個(gè)邊長(zhǎng) 。這里是調(diào)用庫(kù)函數(shù) 這一句其實(shí)是有問(wèn)題的,你可以調(diào)試看看 。改成這句 。經(jīng)調(diào)試發(fā)現(xiàn)這三句都是錯(cuò)的 () () () 。然后改成這種了 () () 。這一段是計(jì)算值,我的文檔上有詳細(xì)解釋 。打印結(jié)果 呵呵,定義的時(shí)候用了,因?yàn)槭菂R編里面的關(guān)鍵字,所以我就改了下,你可能會(huì)說(shuō),你怎么不優(yōu)化一下呢?呵呵,先把程序?qū)憣?duì)了,把指令理解透了再去優(yōu)化也不晚。練習(xí):求下面和的值:(214。*), ( 214。*), 由鍵盤輸入。提示下真確運(yùn)行結(jié)果:,.選擇分支結(jié)構(gòu)程序設(shè)計(jì)前面我們看到的程序都是從上到下這樣執(zhí)行的,程序的執(zhí)行流程沒(méi)有跳轉(zhuǎn)和循環(huán),為我們實(shí)現(xiàn)程序的跳轉(zhuǎn)提供了硬件環(huán)境和一些指令,首先它有個(gè)處理器狀態(tài)寄存器,跳轉(zhuǎn)指令就是無(wú)條件跳轉(zhuǎn)和有條件跳轉(zhuǎn)指令(里面包含了很多種形式的),總的來(lái)說(shuō)就是你在你寫(xiě)的程序里面用跳轉(zhuǎn)指令讓取改變程序的執(zhí)行流程,會(huì)根據(jù)那個(gè)狀態(tài)寄存器的一個(gè)或多個(gè)值的改變來(lái)執(zhí)行程序,我們先來(lái)看個(gè)例子:例 :輸入個(gè)整數(shù),,請(qǐng)輸出其中最大的數(shù)。我們只要一次把這三個(gè)數(shù)比較一次,在每次比較中,把那個(gè)大值繼續(xù)和下一個(gè)數(shù)來(lái)做比較,然后再輸出那個(gè)最大值就行了。代碼如下: : 。提示用戶輸入三個(gè)整型數(shù) 。跳轉(zhuǎn)到將與比較 。到這里三個(gè)數(shù)已經(jīng)全部比較完,跳轉(zhuǎn)到打印最最大值 : 。到這里三個(gè)數(shù)已經(jīng)全部比較完,跳轉(zhuǎn)到打印最最大值 : 。到這里三個(gè)數(shù)已經(jīng)全部比較完,跳轉(zhuǎn)到打印最最大值 : 運(yùn)行結(jié)果:無(wú)論是整數(shù)還是負(fù)數(shù),結(jié)果都是正確的。這里的指令相當(dāng)于減法,只是它不保存運(yùn)算結(jié)果,而是改變前面說(shuō)的狀態(tài)寄存器,具體的就是狀態(tài)寄存器的符號(hào)位,零標(biāo)志位,溢出標(biāo)志位和進(jìn)位位,然后那個(gè)條件跳轉(zhuǎn)指令就會(huì)根據(jù)上面那些狀態(tài)位來(lái)確定怎么跳轉(zhuǎn),這里的即使指令就是根據(jù)符號(hào)位和零標(biāo)志位來(lái)確定跳轉(zhuǎn)的,你可以用驗(yàn)證一下。在分支程序設(shè)計(jì)中,在前面有比較,比較完之后看當(dāng)前情況滿足哪種情況,然后用跳轉(zhuǎn)指令跳取即可,前面這個(gè)判斷中是個(gè)最簡(jiǎn)單的判斷,下面我們來(lái)看看比較復(fù)雜的情況,先看例子:例 輸入一個(gè)年份,判斷是否閏年。在判斷是否是閏年時(shí),我們可以用一個(gè)復(fù)雜的判斷表達(dá)式來(lái)包含所有的閏年條件,也就是當(dāng)輸入的年份(?。﹦t輸出這個(gè)年份是閏年,否則輸出不是,現(xiàn)在的問(wèn)題就是怎么把上面的那個(gè)復(fù)雜的判斷用匯編語(yǔ)言來(lái)正確的表達(dá),下面是代碼: : 。到這里是輸出提示信息 。這幾句是調(diào)用輸入函數(shù)把輸入的年份存到變量里 。這里先測(cè)試年份除以,如果滿足就直接跳轉(zhuǎn)到打印是閏年的代碼處
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1