日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

用机器指令和汇编指令编程(修改版)

發(fā)布時(shí)間:2024/7/19 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 用机器指令和汇编指令编程(修改版) 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
  • 實(shí)驗(yàn)名稱 用機(jī)器指令和匯編指令編程(1)
  • 實(shí)驗(yàn)日期? ?2018.10.22? ?
  • 學(xué)院:計(jì)軟院? ?
  • 專業(yè):計(jì)算機(jī)科學(xué)與技術(shù)?
  • 年級(jí):2017級(jí)
  • 班次:5班?
  • 姓名:陳奕明? ?
  • 學(xué)號(hào) 20171308194


一、實(shí)驗(yàn)?zāi)康?/strong>?
1. 掌握使用debug工具編寫和調(diào)試匯編命令的方法

2. 掌握第1-2章所學(xué)的關(guān)于CPU、寄存器、內(nèi)存的基礎(chǔ)知識(shí)

3. 掌握第1-2章涉及的幾條指令mov, add, sub, jmp的用法


二、實(shí)驗(yàn)準(zhǔn)備?
1. 復(fù)習(xí)教材第1~2章內(nèi)容,完成教材內(nèi)相關(guān)檢測(cè)點(diǎn)

2. 結(jié)合教材實(shí)驗(yàn)1 (P35)及公郵文件中心→實(shí)驗(yàn)下的 “實(shí)驗(yàn)1輔助文檔.pdf”學(xué)習(xí)debug 工具用法。


三、實(shí)驗(yàn)內(nèi)容?
1. 教材實(shí)驗(yàn)1(P35)

(1)練習(xí)教材 P35-45「預(yù)備知識(shí):Debug 的使用」,學(xué)習(xí) debug 啟動(dòng)、退出及常用指 令用法;

(2)在練習(xí)基礎(chǔ)上,完成「2. 實(shí)驗(yàn)任務(wù)」?

Tips: 「2. 實(shí)驗(yàn)任務(wù)」中每一項(xiàng)任務(wù)都可以在教材前序內(nèi)容或練習(xí)中找到提示線索。建議先 完成「二、實(shí)驗(yàn)準(zhǔn)備」中要求的內(nèi)容及實(shí)驗(yàn)內(nèi)容的第(1)項(xiàng),這樣完成「2. 實(shí)驗(yàn)任務(wù)」時(shí)會(huì) 很容易完成。比如: 實(shí)驗(yàn)任務(wù)(1)可參照教材P41-43的(7)完成; 實(shí)驗(yàn)任務(wù)(2)與教材 P20的檢測(cè)點(diǎn)(2)相似且相關(guān);


四、實(shí)驗(yàn)結(jié)論?
任務(wù)一:

把如下的程序段寫入內(nèi)存,逐條執(zhí)行,觀察每條指令執(zhí)行后CPU中相關(guān)寄存器中內(nèi)容的變化。

首先使用e指令按題目要求的寫入機(jī)器碼指令(隨便找了個(gè)地址1000:0):

到達(dá)文本輸入限制后沒(méi)辦法,只能先執(zhí)行了...執(zhí)行完后,看一下已經(jīng)寫入數(shù)據(jù)的內(nèi)存單元的情況...嗯...數(shù)據(jù)是對(duì)的

繼續(xù)輸入并執(zhí)行,執(zhí)行完全部代碼后,使用u指令反匯編機(jī)器碼命令:

跟書上寫明的匯編命令相符。

然后輸入?yún)R編命令:

中間又把1和字母l分不清了,出了個(gè)error。。。

命令輸入完畢,-t命令單步執(zhí)行:

和上課聽(tīng)講的一樣,對(duì)指定的寄存器進(jìn)行數(shù)據(jù)的改寫操作。

后面的命令行有點(diǎn)多就用-t+數(shù)字=執(zhí)行往后的幾條命令全部執(zhí)行了:

最后的結(jié)果:

任務(wù)二:將下面三條指令寫入從2000:0開(kāi)始的內(nèi)存單元中,利用這3條指令計(jì)算2的8次方。

mov ax,1

add ax,ax

jmp 2000:0003

解題思路:2的三次方就是8,再看下題目給我們的三條命令。執(zhí)行完第一條后ax的值為1,執(zhí)行完第二條命令后ax的值為2,那么就需要我們?cè)賵?zhí)行這條語(yǔ)句7次了,所以就要使用jmp命令,通過(guò)改變CS和IP寄存器的值來(lái)使得CPU繼續(xù)反復(fù)執(zhí)行這條命令,所以往下又寫了七句jmp 2000:0003使得CPU再反復(fù)執(zhí)行其次該語(yǔ)句,從而使得AX中的值變?yōu)槎陌舜畏健?。。。這是最終結(jié)果。

最終實(shí)驗(yàn)截圖

第三題

PC主板上的ROM中寫有一個(gè)生產(chǎn)日期,在內(nèi)存FFF00H~FFFFFH的某幾個(gè)單元中,請(qǐng)找到這個(gè)生產(chǎn)日期并且試圖改變它。

實(shí)驗(yàn)截圖如下:

試圖修改但是失敗了,看來(lái)是因?yàn)镽OM的關(guān)系,無(wú)法修改。

第四題

向內(nèi)存B8100H開(kāi)始的單元中填寫數(shù)據(jù),如:

-e B810:0000 01 01 02 02 03 03 04 04

這是進(jìn)行了一系列實(shí)驗(yàn)過(guò)后的結(jié)果:

有這么些結(jié)果和感悟:

再向寄存器寫入數(shù)據(jù)時(shí),每多兩個(gè)字節(jié)的數(shù)據(jù)就會(huì)產(chǎn)生一個(gè)新的顏色區(qū)域,而且寫入?yún)^(qū)域的CS碼每產(chǎn)生一次進(jìn)位,就會(huì)使得產(chǎn)生的色塊區(qū)域產(chǎn)生換行,最終得到了這么些結(jié)果。


五、實(shí)驗(yàn)心得與感悟
這次實(shí)驗(yàn)主要實(shí)驗(yàn)了R命令(用于查看、修改寄存器中的內(nèi)容)、D命令(查看內(nèi)存中的內(nèi)容)、E命令(修改內(nèi)存中的內(nèi)容)、U命令(反匯編命令)、T命令(執(zhí)行代碼行命令)

第四題經(jīng)過(guò)這么多次的實(shí)驗(yàn)測(cè)試,看來(lái)這一段內(nèi)存空間是顯存。

我的電腦屏幕運(yùn)行Dosbox窗口極小,最后查到按Alt+Enter可以進(jìn)入全屏模式進(jìn)行操作。

當(dāng)初安裝Dosbox時(shí)經(jīng)歷過(guò),千萬(wàn)別把程序裝在系統(tǒng)盤,否則會(huì)有權(quán)限問(wèn)題。

暫時(shí)就這樣把,肯定還有許多要學(xué)的,要完善的,好好學(xué)習(xí)匯編!!

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?2018-10-27??21:28:25于宿

轉(zhuǎn)載于:https://www.cnblogs.com/cymwn-com/p/9867855.html

總結(jié)

以上是生活随笔為你收集整理的用机器指令和汇编指令编程(修改版)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。