㈠ 匯編語言中的指令應該在計算機的什麼地方編寫,如何運行
主要是CPU的作用,但是匯編語言的運行是在內存中,既是在片內程序存儲器中取程序,然後在CPU的控制器和運算器下完成。指令的編寫一般情況下都是編寫在片內程序存儲器中,當然當片內存儲空間不夠用時,就需要外擴片外程序存儲器了,而數據存儲器就是在指令中數據的存儲位置了。呵呵,我作為一個局外人,奉勸一句,要想把單片機學好,應該把單片機的結構和原理弄清楚,其中包括它的存儲空間,也許一開始有點困難,但弄明白後就簡單多了,對於指令可以找一些技巧去記,比如說加法和減法指令相對,記住一個就行,而他們大多都是一累加器A作為目的操作數的,同樣可以記住那些邏輯指令,對於其他的,也有規律,看你怎麼記了。說了不少,對你有用的話,就採取,沒有用就算了。
㈡ 簡述上機運行匯編語言程序的過程。
實驗操作說明
Keil
軟體調試方式分為:軟體模擬方式和硬體調試兩種。
軟體模擬實驗上機操作步驟:
1、進入Keil,點擊桌面上「Keil
μVersion
3」圖標,進入Keil系統窗口;
2、新建工程:
1)打開「工程」菜單中的新建,在彈出的對話框中,鍵入自己定義的工程名;
2)在進一步打開的對話框中,選擇CPU的類型,為Intel公司的8032AH,確定;
3)存入D:\keil
文件夾中。(在大機房,安裝在C盤,改為C:\keil)
3、打開「視圖」菜單中的「工程窗口」;
4、在「工程窗口」中,右擊「目標1」,為工程設置參數;
1)在彈出的快捷菜單中選擇「為目標「目標1」設置選項」;
2)在彈出的對話框中選擇「項目」選項卡,設置時鍾為「12Mhz」;
3)選擇「調試」選項卡,在單選框選擇「軟體模擬方式」;
4)確定,即完成了「軟體模擬方式」的設置。
5、新建文件
1)打開「文件」菜單,選擇「新建」;
2)系統打開一個文本窗口,你可在窗口的編輯區輸入要調試的匯編語言源程序;
3)存檔,命名文件名和擴展名,文件名任起,擴展名必須是.asm,存入D:\keil
文件夾中(在大機房,安裝在C盤,改為C:\keil);例如:a.asm。
6、將剛建的新文件添入當前的工程中
1)在「工程窗口」中,「目標1」的+號處打開,顯示「源代碼組1」;
2)右擊「源代碼組1」,在快捷菜單中選擇「為「源代碼組1」添加文件」,彈出一個對話框;
3)在對話框中選擇「文件類型」為*.*;
4)
選擇文件所在路徑,同時找到剛鍵入的a.asm文件,點擊「add」按鈕,然後點擊「close」按鈕;
5)
在「工程窗口」點擊「源代碼組1」左側的+號,顯示添加的a.asm文件,添加成功。
7、匯編
1)在「工程窗口」點擊「源代碼組1」的a.asm文件;
2)打開「a.asm」文件編輯窗口;
3)點擊工具按鈕中的「重建所有的目標文件」,進行匯編;
4)在「輸出窗口」顯示匯編是否有錯,無錯,進入調試;
有錯,在編輯窗口修改程序,改後,再次匯編,直至無錯後進入調試;
8、調試程序
1)點擊「開始/停止調試」按鈕,進入調試界面;
2)在程序窗口中有一個黃箭頭指向程序的第一條可執行指令的開頭;
3)選擇調試方式進行調試;
①
在「調試」菜單中選擇:跟蹤、單步、運行、斷點等方式;
②
或按單步或跟蹤命令按鈕,按一次單步,執行一條指令,pc指針指向下一條要被執
行的指令;
③
檢查運行結果
Ⅰ打開「視圖」菜單,選擇「存儲器窗口」,彈出存儲器對話框;
Ⅱ在存儲器對話框的下方選擇memory1在地址欄中鍵入「C:0X0000」回車,建立程序存儲器的觀察窗口;
Ⅲ選擇memory2在地址欄中鍵入「D:0X00」回車,建立內部數據存儲器的觀察窗口;
Ⅳ選擇memory3在地址欄中鍵入「X:0X0000」回車,建立外部數據存儲器的觀察窗口;
Ⅴ在「project
workspace」窗口中觀察r0-r7,a,pc,dptr,psw,要觀察各個標志位,打開psw左側的+號;
9、設置PC指針
當程序的首地址不是0000H時,匯編結束後,PC指針仍然指向0000H的地方,在調試程序前,一定要將PC設置到你的程序首地址處,方法為:
1)將游標移到程序的第一條指令處,擊滑鼠右鍵;
2)在快捷菜單中選擇「Set
Program
Counter」命令,PC指針即可指向程序的第一條指令。
㈢ 怎麼運行匯編語言
匯編語言源程序運行方法:
1、找到一段起始地址為sa:0000(即起始地址的偏移地址為0)的容量足夠的空閑內存區。
2、在這段內存區的前256個位元組中,創建一個稱為程序段前綴(psp)的數據區,dos利用psp來和被載入程序進行通信。
3、從這段內存區的256位元組處開始(在psp的後面),將程序裝入,程序的地址被設為sa+10h:0;空閑內存區從sa:0開始,0~255位元組為psp,從256位元組處開始存放程序,為更好地區分psp和程序,dos將劃分到不同的段中,如下這樣的地址安排:
空閑內存區:sa:0
psp區:sa:0
程序區:sa+10h:0
注意:psp區和程序區雖然物理地址連續,卻有不同的段地址。
4、將該內存區的段地址(sa)存入ds中,初始化其它相關寄存器後,設置cs:ip指向程序的入口(sa+10h:0)。
㈣ 怎麼用電腦的命令符窗口進行匯編程序
詳細步驟如下:
1.
將寫好的匯編代碼保存為1.asm
2.
將1.asm復制到c盤下
3.
點開始(即左下標那個windows圖標),找到運行,或(附件中的命令提示符)
4.
找到運行後,輸入cmd
或
command
5.
進入後輸入cd
c:\
6.
輸入masm
1;(1後面有分號),然後回車
7.
輸入link
1;然後回車
8.
cls清屏然後回車
9.
輸入1.exe,然後回車
10.
完成
如果你需要debug,步驟如下:
1
-
8步同上
9. 輸入debug
1.exe,然後回車
10
完成
通過以上步驟你便可以通過命令符窗口進行匯編程序。
匯編語言(assembly
language)是一種用於電子計算機、微處理器、微控制器或其他可編程器件的低級語言,亦稱為符號語言。在匯編語言中,用助記符(Mnemonics)代替機器指令的操作碼,用地址符號(Symbol)或標號(Label)代替指令或操作數的地址。在不同的設備中,匯編語言對應著不同的機器語言指令集,通過匯編過程轉換成機器指令。普遍地說,特定的匯編語言和特定的機器語言指令集是一一對應的,不同平台之間不可直接移植。
㈤ 匯編程序從哪裡開始執行
如果你看過PE頭,就明白了。編譯生成後的EXE格式的文件,程序執行時,會由Windows解析PE頭並載入到內存,由PE頭決定程序的執行地址。PE頭是系統默認的數值,當然,我們也可以修改。你所說的0000h其實就是一個虛擬地址里的開頭部分,在真正的物理內存里,它可不是這個值,這個值由Windows根據PE頭信息進行確定。如果你針對的是程序代碼的執行,程序是從start處開始執行,在編譯程序時,遇到宏調用的地方,編譯過程中系統會將宏的代碼插入到調用處,之後再進行編譯,而不是像函數調用那樣。對於子程序,就是一種函數調用,開始調用子程序時,系統會將當前執行的地址等信息保存在棧中,之後去調用子程序,子程序完成後,系統會將先前保存在棧中的信息進行出棧,恢復到原來的狀態,接著繼續向下執行程序。
㈥ 匯編語言源程序怎樣運行
匯編語言源程序運行方法:
1、找到一段起始地址為SA:0000(即起始地址的偏移地址為0)的容量足夠的空閑內存區。
2、在這段內存區的前256個位元組中,創建一個稱為程序段前綴(PSP)的數據區,DOS利用PSP來和被載入程序進行通信。
3、從這段內存區的256位元組處開始(在PSP的後面),將程序裝入,程序的地址被設為SA+10H:0;空閑內存區從SA:0開始,0~255位元組為PSP,從256位元組處開始存放程序,為更好地區分PSP和程序,DOS將劃分到不同的段中,如下這樣的地址安排:
空閑內存區:SA:0
PSP區:SA:0
程序區:SA+10H:0
注意:PSP區和程序區雖然物理地址連續,卻有不同的段地址。
4、將該內存區的段地址(SA)存入DS中,初始化其它相關寄存器後,設置CS:IP指向程序的入口(SA+10H:0)。
㈦ 如何在DOS環境下運行匯編程序
匯編後的程序是EXE的,你在「開始」-「運行」-「cmd」打開命令提示符。把你的程序復制到C根目錄下。讓提示符也轉到C根目錄下,直接輸入程序名字就行了。或者先在「edit」編輯一個源程序後再「link」源程序,最後是調試「debug」+程序名.exe。就能運行。但是匯編程序可移植性差需要反復修改。祝你好運!
㈧ 完整的匯編程序在哪裡實現運行
在dos里運行。即打開命令提示符或在開始-運行里輸入cmd。再打開的窗口中輸入程序的地址就可以運行了
㈨ 如何運行匯編程序
要運行匯編程序,可以有很多的方法,也可以用一些專門的軟體,但眾所周知,匯編的話,是即使用記事本也是可以寫出來然後在DOS環境下運行的,只要有MASM.EXE和LINK.EXE即可,當我們在記事本里寫好匯編程序時,應把它保存成.asm的格式,如sort.asm,然後在開始->運行中輸入cmd,轉到你存放程序的文件夾,最好所有的文件都是用英文命名,如我的是在D盤的huibian文件夾中
㈩ 匯編語言中如何運行指令
1、點擊開始->運行, 輸入 cmd ,打開命令提示符;
4、在debug模式中,就可以輸入自己想運行的匯編指令了。