1. 程式人生 > >實驗3 程式設計、編譯、連結、跟蹤

實驗3 程式設計、編譯、連結、跟蹤

本章的核心知識點在4.9節,王爽老師講的特別清楚明白,多讀幾遍,跟著多做幾遍,增加對底層的感覺;

本實驗的目的是明白4.9節所講的東西,具體點如下:

1,command,debug,t1.exe之間是什麼關係?

command呼叫debug,debug呼叫t1;t1結束時返回到debug,debug結束時返回到command;

2,debug除錯常用的命令?

t--執行當前命令,cs:ip指向下一條指令

當遇到int 21指令時,用p執行,返回到debug

當debug使用完畢要退出回到command,使用q

3,PSP的作用是什麼?

DOS用來和程式進行通訊,t1.exe在作業系統上編寫並執行彙編程式的,

作業系統管理著記憶體,它也管理著編譯連結生成的彙編程式

具體程式碼如下:

assume cs:codesg

codesg segment
mov ax, 2000h
mov ss, ax
mov sp, 0
add sp, 10
pop ax
pop bx
push ax
push bx
pop ax
pop bx

mov ax, 4c00h
int 21h

codesg ends
end


相關推薦

實驗 3 程式設計編譯,連線,跟蹤

一、實驗目的 1.  掌握組合語言源程式(8086 dos 彙編)編寫→彙編→連結→除錯的方法 2.  加深對 1-4 章基礎知識的理解   二、實驗準備 1. 結合第 4 章課件和教材,學習/複習完整彙編源程式編寫→彙編→連線→執行→除錯

實驗程式設計編譯,連線,跟蹤

實驗內容: (1)將下面的程式儲存為t1.asm檔案,將其生成可執行檔案t1.exe assume  cs:codesg codesg  segment       mov  ax , 2000H      

實驗3 程式設計編譯連結跟蹤

本章的核心知識點在4.9節,王爽老師講的特別清楚明白,多讀幾遍,跟著多做幾遍,增加對底層的感覺; 本實驗的目的是明白4.9節所講的東西,具體點如下: 1,command,debug,t1.exe之間是什麼關係? command呼叫debug,debug呼叫t1;t1結束時

實驗 3 程式設計編譯連線跟蹤

     實驗任務 練習1   第一步,編寫彙編源程式t2.asm,源程式程式碼如下圖所示。        第2步,對源程式 t1.asm 進行彙編、連線、執行、除錯   (1) 執行程式,觀察程式輸出結果是什麼?            

|實驗 3 程式設計編譯連線跟蹤

實驗 3 程式設計、編譯、連線、跟蹤 一、實驗結論 1.練習 1 對源程式 t1.asm 進行彙編、連線、執行、除錯 (1)     執行程式,觀察程式輸出結果   (2)     將 line4 和 lin

Linux下的C/C++開發基礎(編寫makefile編譯C/C++連結可執行程式)

本文重點介紹C/C++原始碼工程的編譯連結,編譯器gcc/g++的安裝配置略過... 1. 安裝配置gcc g++ 2. 建立檔案 test.h /test.c / file.h  / file.cpp  3. 編譯.o庫: gcc -c / g++ -c     連結生成靜

PHPCMS調取當前欄目的描述文章位置導航當前欄目連結當前欄目名稱

當我們填寫了欄目描述,怎麼調用出來。 使用   {$CATEGORYS[$catid][description]}就可以把欄目的描述調用出來下面三個也比較常用{catpos($catid)} 顯示文章位

Debussy在win7系統下安裝編譯xilinx庫以及基本使用方法

自從到了新公司,coding及simulate時就回到了原始社會,只用modelsim了。 modelsim對於小工程設計及模擬是夠用的,但是涉及到一些類似於程式碼追蹤時,modelsim就欠缺了,想想還是debussy(debussy算古董級別了,現在推出的都是linux

匯編語言實驗 3 編程編譯連接跟蹤

圖片 nds ascii asm code 個數 遇到 完整 -s 實驗內容 (1)第1步,編寫匯編源程序t1.asm, 源程序代碼如下:   assume cs:code   code segment         mov ah,2         mov dl,3  

實驗 3 編程編譯連接跟蹤

運行 clas int 程序 功能 class .exe ima 滿足 (1).編寫匯編源程序 t1.asm, 源程序代碼如圖所示 運行結果為3 6 (2)將 line4 和 line9 種寄存器 dl 的值分別修改為 0~9 中任何一個數字,重新匯編→連接→運行,觀

實驗3 編程編譯連接跟蹤

生成 com image 連接 成了 info alt png .com 經過重重努力,終於生成了t1.asm文件 (1) (2) (3) 實驗3 編程、編譯、連接、跟蹤

實驗3 編程編譯連接跟蹤

圖片 延伸 編譯 改變 一個數 deb font width mce 1. 練習 1 第 1 步,編寫匯編源程序 t1.asm, 源程序代碼如圖 1-1 所示。 第2步,對源程序 t1.asm 進行匯編、連接、運行、調試   (1) 運行程序,觀察程序輸出結果是什麽

實驗三】程式設計編譯連線跟蹤

四、實驗結論     1.任務一:   (1) ①用edit命令開始編輯。 ②出現如圖介面,按下回車。 ③出現此介面,按下alt鍵,選單欄的每個單詞首字母會變成白色,在鍵盤上按F鍵,展開File欄。 ④出現如圖介面,按下N鍵,新建一個檔案。 ⑤用游

實驗程式設計編譯連線跟蹤

南京資訊工程大學實驗報告 實驗名稱   實驗3 程式設計、編譯、連線、跟蹤   實驗日期  11.12             

實驗程式設計編譯連線跟蹤

實驗結論: 1、練習1 (1) (2) 將值分別都改為7之後 (3)  不滿足 PSP的頭兩個位元組不是CD 20     2、練習2 (1) (2) (3) 總結與體會: 通過本章的學習,我知道了怎麼編輯,編譯、

6.2Android程式設計權威指南(第3版)————Android版本相容最低版本目標版本編譯版本

Android SDK與版本相容 各種裝置遲緩的版本升級再加上Google定期的新版本釋出,給Android程式設計帶來了嚴重的相容性問題。對於增量版本,向下相容一般問題不大。主要版本向下相容才是大麻煩。也就是說,僅支援5.x版本的工作量不大,但需要支援到4.x的話,考慮到這麼多不同版本的

程式設計】常見概念的理解 —— inplacevanity urlvanilla(code/software)編譯連結build(delegateproxy)

inplace: 如修改一個檔案等物件時, inplace=True,不建立新的物件,直接在原始物件上盡心修改; inplace=False,在對原始物件進行修改,而會建立新的物件; vanity url:虛擬地址空間,表示某平臺下,個人申請的不會出現重名的

VC++編譯器背後的故事:編譯連結執行作業系統

MulinB按:當你在IDE裡點選build時,背後都發生了什麼?什麼是編譯錯誤(compiling error)、什麼是連結錯誤(linking error)?程式的記憶體結構是怎樣的?執行到main函式之前都發生了什麼?VC++編譯器中的眾多編譯選項該如何設定?什麼是include, lib

實驗三 編程編譯連接跟蹤

width 使用方法 運行程序 驗證 行程 實驗 exe 編譯 總結 1. 練習 1 第 1 步,編寫匯編源程序 t1.asm, 源程序代碼如圖 1-1 所示。 第 2 步,對源程序 t1.asm 進行匯編、連接、運行、調試 (1) 運行程序,觀察程序輸出結

實驗三 編程編譯連接跟蹤

字節 進行 技術 之間 debug 程序 內容 關系 嘗試 1. 練習1 第1步,編寫匯編源程序t1.asm, 源程序代碼如圖1-1所示。 第2步,對源程序 t1.asm 進行匯編、連接、運行、調試 (1) 運行程序,觀察程序輸出結果是什麽? 36 (2)