0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

用機(jī)器指令和匯編指令編程

冬至子 ? 來源:一口吃成大胖紙 ? 作者:一口吃成大胖紙 ? 2023-09-20 14:43 ? 次閱讀

預(yù)備知識: Debug的使用

命令的快捷使用方式

d ds : 0   ;查看ds:0開始的內(nèi)存區(qū)間中的內(nèi)容


d cs : 0   ;查看當(dāng)前代碼段中的指令代碼


d ss : 0   ;查看當(dāng)前棧中的內(nèi)容


;以上方式同樣可以用 E, A, U 命令實(shí)現(xiàn).

中斷機(jī)制

1.暫不分析.
2. 了解: Debug的 T 命令再執(zhí)行修改寄存器 SS 的指令時(shí), 緊接著的下一條指令 會被自動執(zhí)行 .

實(shí)驗(yàn)任務(wù)

任務(wù)一

圖片

1.寫入指令
2.設(shè)置 CS:IP 地址

圖片

3.r 命令寄存器狀態(tài), 并使用 t 命令執(zhí)行

圖片

4.查看地址單元 ds : 0 8區(qū)間的數(shù)據(jù)

圖片

5.操作ax, bx寄存器部分結(jié)果

圖片

6.查看棧空間的內(nèi)存數(shù)據(jù)

圖片

7.操作??臻g部分結(jié)果1. 內(nèi)存部分截圖丟失.

圖片

8.操作棧空間部分結(jié)果2.
圖片

任務(wù)二

圖片

圖片

1.分析后發(fā)現(xiàn)當(dāng)前程序執(zhí)行了前三條指令.(Debug的 T 命令再執(zhí)行修改寄存器 SS 的指令時(shí), 緊接著的下一條指令 會被自動執(zhí)行 .)

圖片

2.為什么命名沒有操作棧, ??臻g的內(nèi)存發(fā)生了變化?
查閱資料發(fā)現(xiàn): t 命令實(shí)際是引發(fā)了 單步中斷 ,執(zhí)行中斷例程時(shí),CPU會將一些中斷例程使用的的寄存器變量自動壓棧到棧中。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • 寄存器
    +關(guān)注

    關(guān)注

    31

    文章

    5294

    瀏覽量

    119816
  • DEBUG命令
    +關(guān)注

    關(guān)注

    0

    文章

    4

    瀏覽量

    5197
收藏 人收藏

    評論

    相關(guān)推薦

    基本邏輯指令編程實(shí)驗(yàn)

    基本邏輯指令編程實(shí)驗(yàn) 一、實(shí)驗(yàn)?zāi)康? 1、掌握FX2系列PLC基本邏輯指令
    發(fā)表于 12-26 22:35 ?4130次閱讀
    基本邏輯<b class='flag-5'>指令</b>的<b class='flag-5'>編程</b>實(shí)驗(yàn)

    單片機(jī)編程匯編語言基礎(chǔ)-PIC單片機(jī)匯編指令

    PIC單片機(jī)匯編語言編程教程,其中PIC單片機(jī)的兩條偽指令為:EQU(標(biāo)號賦值偽指令)ORG(地址定義偽指令),還有其他的PIC單片機(jī)
    發(fā)表于 07-26 11:32 ?3052次閱讀

    請問匯編指令對應(yīng)的機(jī)器周期是多少?

    編寫了一段匯編程序,想知道每條匯編指令對應(yīng)的機(jī)器周期是多少,然后確定一段匯編程序總共需要用多少機(jī)器
    發(fā)表于 10-31 15:01

    匯編指令和DSP機(jī)器指令的關(guān)系是什么?

    如圖所示;C語言反匯編后的程序,想問的是 一條匯編語言就是一個(gè)指令嗎?一條匯編指令運(yùn)行時(shí)間是否是一個(gè)指令
    發(fā)表于 08-19 08:09

    ARM匯編指令集與偽指令說明

    嵌入式知識-學(xué)習(xí)筆記(2):ARM匯編指令集與偽指令首先說明一下指令和偽指令的區(qū)別:指令:是CP
    發(fā)表于 12-14 06:50

    淺談匯編指令與偽指令

    匯編指令與偽指令指令是cpu機(jī)器指令的助記符,通過編譯會得到
    發(fā)表于 12-20 07:58

    arm匯編指令詳解

    arm匯編指令詳解
    發(fā)表于 02-11 10:51 ?215次下載
    arm<b class='flag-5'>匯編</b><b class='flag-5'>指令</b>詳解

    51匯編指令

    51匯編指令指令是對匯編起某種控制作用的特殊命令,其格式與通常的操作指令一樣,
    發(fā)表于 08-01 10:59 ?2914次閱讀

    指令、宏指令

    指令匯編語言程序的語句除指令外還包括偽指令和宏指令,偽指令又稱為偽操作,它不象
    發(fā)表于 06-30 10:47 ?1901次閱讀

    ARM匯編指令

    其他常用的偽指令 還有一些其他的偽指令,在匯編程序中經(jīng)常會被使用,包括以下幾條: AREA ALIGN CODE16 、CODE32 ENTRY END EQU EXPORT (或GLOBAL ) IMPORT EXTERN G
    發(fā)表于 06-07 17:08 ?78次下載
    ARM<b class='flag-5'>匯編</b>偽<b class='flag-5'>指令</b>

    單片機(jī)匯編指令大全

    單片機(jī)匯編指令大全 單片機(jī)匯編指令大全 單片機(jī)匯編指令大全
    發(fā)表于 11-24 15:14 ?14次下載

    16位和32位微處理器指令系統(tǒng)與匯編語言編程

    16位和32位微處理器指令系統(tǒng)與匯編語言編程, 本章學(xué)習(xí)要點(diǎn) 8086CPu指令系統(tǒng)的尋址方式 8086CPU指令及其應(yīng)用
    發(fā)表于 12-31 10:41 ?0次下載

    DSP匯編指令-典型指令

    輕松學(xué)會DSP——DSP匯編指令。很不錯(cuò)的教程
    發(fā)表于 06-17 14:59 ?23次下載

    匯編語言中常用的偽指令

    匯編語言中除常用指令外,還有一些用來對“匯編”過程進(jìn)行控制、或者對符號、標(biāo)號賦值的指令。在匯編過程中,這些
    發(fā)表于 11-11 10:03 ?7762次閱讀
    <b class='flag-5'>匯編</b>語言中常用的偽<b class='flag-5'>指令</b>

    ARM匯編指令:異常產(chǎn)生指令和偽代碼

    。 2、【BKPT指令】 BKPT 16 位的立即數(shù) BKPT指令產(chǎn)生軟件斷點(diǎn)中斷,可用于程序的調(diào)試。 偽代碼 1.【AREA】 一個(gè)匯編程序至少要包含一個(gè)段,當(dāng)程序太長時(shí),也可以將程序分為多個(gè)代碼段和數(shù)
    的頭像 發(fā)表于 10-07 14:29 ?936次閱讀