資源描述:
《指令系統(tǒng)及匯編語言程序設(shè)計(jì)ppt培訓(xùn)課件》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)。
1、第3章8086/8088指令系統(tǒng)及匯編語言程序設(shè)計(jì)3.1指令格式與尋址方式3.1.1項(xiàng)目1:認(rèn)識(shí)8086尋址方式3.1.2知識(shí)講解3.2數(shù)據(jù)傳送指令與串操作指令3.2.1項(xiàng)目2:內(nèi)存數(shù)據(jù)的移動(dòng)3.2.2知識(shí)講解3.3算術(shù)運(yùn)算指令與位操作指令3.3.1項(xiàng)目3:多字節(jié)的乘法3.3.2知識(shí)講解3.4控制轉(zhuǎn)移指令與處理器控制指令3.4.1項(xiàng)目4:計(jì)算
2、X-Y
3、3.4.2知識(shí)講解3.5匯編語言程序格式3.5.1項(xiàng)目5:把字符串顯示到屏幕上3.5.2知識(shí)講解3.6程序的基本結(jié)構(gòu)3.6.1項(xiàng)目6:折半查找3.6.2知識(shí)講解3
4、.7BIOS和DOS中斷3.7.1項(xiàng)目7:從鍵盤中接收字符3.7.2知識(shí)講解3.8子程序結(jié)構(gòu)3.8.1項(xiàng)目8:排序3.8.2知識(shí)講解3.1指令格式與尋址方式3.1.1項(xiàng)目1:認(rèn)識(shí)8086尋址方式1.項(xiàng)目要求與目的(1)項(xiàng)目要求:通過各種尋址方式操作,了解8086尋址方式。(2)項(xiàng)目目的:通過項(xiàng)目了解8086匯編指令格式以及掌握8086的尋址方式。2.項(xiàng)目程序各種尋址方式的程序代碼如下:3.單步調(diào)試過程目前常用的匯編程序有Microsoft公司推出的宏匯編程序MASM(MicrosoftAssembler)和Bo
5、rland公司推出的TASM(TurboAssembler)兩種。本書采用的是MASM6.11版本。我們不妨把MASM6.11匯編程序安裝在D盤的masm611文件夾下。這里推薦使用MasmEditor編輯器,調(diào)試過程如下所示。第1步:用Notepad++編輯以上源程序,以addrmode.asm文件名保存在D:MASM611BIN目錄下。需要注意的是匯編的源程序后綴名必須是.asm。第2步:點(diǎn)擊開始菜單→運(yùn)行→輸入“cmd”回車→輸入“D:”回車→輸入“cdmasm611/bin”回車→這時(shí)就進(jìn)入了D:
6、MASM611BIN目錄下。操作示意圖如圖3-1所示。第3步:用masm匯編程序編譯addrmode.asm源文件,用link連接程序連接目標(biāo)文件(.obj)。在圖3-1中輸入“masmaddrmode”回車→輸入“l(fā)inkaddrmode”回車→如果源程序匯編和連接沒有出錯(cuò),則會(huì)生成可執(zhí)行文件(addrmode.exe)。第4步:在命令行中輸入“cvaddrmode.exe”回車,則出現(xiàn)如下界面。及進(jìn)入單步調(diào)試狀態(tài)。在圖3-2中按F10,執(zhí)行指令MOVAX,DATA,執(zhí)行后AX=12C3H,結(jié)果如圖3-3所
7、示。繼續(xù)按F10,執(zhí)行指令MOVDS,AX。執(zhí)行后。按F10,執(zhí)行指令MOVAX,1234H,執(zhí)行后。按F10,執(zhí)行指令MOVBX,AX,執(zhí)行后。按F10,執(zhí)行指令MOVAX,VALUE(將DS段中VALUE單元的內(nèi)容送給AX),執(zhí)行后。按F10,執(zhí)行指令MOV[BX],2000H(將立即數(shù)2000H送到偏移地址以BX的存儲(chǔ)單元)。執(zhí)行后12C3:1234單元=00H,12C3:1235單元=20H,結(jié)果如下圖所示。按F10,執(zhí)行指令MOVDL,80H,執(zhí)行后,即DL=80H。按F10,執(zhí)行指令MOVSI,00
8、20H執(zhí)行后。按F10,執(zhí)行指令MOV[BX+SI],DL(將DL的內(nèi)容傳送到偏移地址為BX+SI的存儲(chǔ)單元),執(zhí)行后12C3:1254單元=80H,結(jié)果如下圖所示。按F10,執(zhí)行指令MOVTABLE[BX+SI],AL(將AX的內(nèi)容傳送到偏移地址為BX+SI+TABLE的存儲(chǔ)單元,TABLE的值等于VALUE的值加4),執(zhí)行后12C3:1258單元=78H,結(jié)果如下圖所示。接下來這兩條指令,返回DOS調(diào)用。本程序就調(diào)試到這里,下面介紹匯編語言指令格式與尋址方式。3.1.2知識(shí)講解1.指令格式(1)概述指令是指
9、計(jì)算機(jī)完成特定操作的命令,指令系統(tǒng)是計(jì)算機(jī)能夠執(zhí)行全部命令的集合,它取決于計(jì)算機(jī)的硬件設(shè)計(jì)。Intel80x86/Pentium系列CPU指令系統(tǒng)是向上兼容的,所以,針對(duì)某一型號(hào)CPU編寫的程序,在后續(xù)發(fā)展出現(xiàn)的新型號(hào)CPU上都可以運(yùn)行,本書以8086/8088典型機(jī)為代表,介紹其指令系統(tǒng)。計(jì)算機(jī)只能識(shí)別二進(jìn)制代碼,所以機(jī)器指令是由二進(jìn)制代碼組成的。為便于人們使用而采用匯編語言來編寫程序。匯編語言是一種符號(hào)語言,它用助記符來表示操作碼,用符號(hào)或符號(hào)地址來表示操作數(shù)或操作數(shù)地址,它與機(jī)器指令是一一對(duì)應(yīng)。(2)匯編
10、指令格式計(jì)算機(jī)中的指令由操作碼字段和操作數(shù)字段兩部分組成,指令的一般格式如下:操作碼操作數(shù)……操作數(shù)操作碼部分決定指令的操作類型,指令操作數(shù)部分可以是指令所需的操作數(shù),也可以是操作數(shù)的地址或關(guān)于操作數(shù)地址的其他信息。指令操作數(shù)根據(jù)不同的指令有所區(qū)別,通常一條指令包含一個(gè)或兩個(gè)操作數(shù),前者稱為單操作數(shù)指令,后者稱為雙操作數(shù)指令。雙操作數(shù)分別稱為源操作數(shù)(SRC)和目的操作數(shù)(DST)。2