導航:首頁 > 軟體知識 > 如何新建匯編源程序

如何新建匯編源程序

發布時間:2023-05-18 10:17:05

『壹』 匯編語言程序的開發有哪4個步驟

匯編語言程序設計的基本步驟:
1.
分析問題
先全面分析題目,看它給出了什麼條件,有什麼特點,找出規律,歸納出數學模型,也可能有些問題不用寫出數學模型或寫不出數學模型。
2.確定演算法
有了數學模型,或雖然沒有數學模型但已把題目分析清楚了,就選擇一個合適的演算法和適當的數據結構。如果沒有可供選用的現成的演算法和結構,就需要針對具體問題設計一個演算法或結構。
3.繪制流程圖
流程圖就是用圖形的方式把解決問題的演算法直觀地描述出來。對於一個比較復雜的問題,畫出流程圖,這有助於對問題的理解以及有助於編寫出正確的程序。當然,如果演算法比較簡單,也可不畫流程圖。
4.分配存儲空間和工作單元
用匯編語言編寫程序時,需要給程序中的變數指定內存單元地址或指定寄存器。
5.編寫程序
要把題目中需要處理的數據合理地根據2、3、4步的工作,選用適合的指令,並按一定的語法規則編寫相應的程序。
6.靜態檢查
靜態檢查就是用人工的方式檢查程序是否有錯誤,包括演算法錯誤和語法錯誤等,如果有錯誤,及時改正過來。
7.上機調試運行
任何程序必須經過調試,才能檢查出解題目的是否正確以及程序是否符合設計思想。

『貳』 虛擬機里的XP系統,匯編的運行,請教大神~~~

1)在D盤建立一文件夾,命名(例如101),將MASM.EXE和LINK.EXE復制到此文件夾;在此文件夾中新建文本文件,文件名改為匯編源程序名,例如:2e12.asm
用記事本打開2e12.asm,輸入源程序並保存。
源程序:
assume cs:code
code segment
mov ax,2
mov cx,11
s: add ax,ax
loop s
mov ax,4c00h
int 21h
code ends
end
2)匯編源程序
點開始菜單,點運行,輸入CMD按回車,進入命令提示符窗口;
輸入D:並回車,打開D盤,再輸入CD 101並回車,進入101文件夾;
輸入MASM 2e12並回車,一握喚路按回車,進行匯編
匯編過程的錯誤分警告錯誤(Warning Errors)和嚴重錯誤(Severe Errors)兩種。其中警告錯誤是指匯編程序認為的一般性錯誤;嚴重錯誤是指匯編程序認為無法進行正確匯編的錯誤,並給出錯誤的個數、錯誤的性質。這時,就要對錯誤進行分析,找出原因和問題,然後再調用屏幕編輯程序加以修改,修改以後再重新匯編,段隱凱一直到匯編無錯誤為止。匯編通過後,會生成目標文件2e12.obj
3)連接目標程序、
輸入LINK 2e12並回車,一路按回車
連接成功後,會生成可執行文件2e12.exe
4)跟蹤並調試可執行程序
輸入DEBUG 2e12.exe並按回車,進入DEBUG調試程序
單步運行程序,跟蹤程序,每執行一條指令,檢查相關寄存器或存儲器的數據,看看程序是否按我們的意願運行,若有出入,修改源程序,重新匯攜余編、連接、運行調試,直到成功!

這樣做就可以了

『叄』 怎樣進入編寫匯編程序

以windows XP為例:
「開始」
——>「運行」
——>鍵入「cmd」,敲回車,此時便進入了命令提示符
——>在游標處鍵入「edit」,此時便進入了編輯界面,在這個界面輸入匯編語言源程序的代碼就行了,編輯完成後記得要保存。

『肆』 匯編語言上機環境...

Subject:匯編語言上機指導及例示

Editor:admin Time:2004-3-20 20:18 Read:52369 Score:8 Print

Preface:
從如何建立源文件到進行調試作下簡要的介紹......

Content:
從如何建立源文件到進行調試作下簡要的介紹,並配例題說明。由於本人水平有限,在下文在如有錯誤及可以進一步修改的地方請大家指出
匯編語言上機過程:
一、上機前的軟體准備:
MS-DOS操作系統(雹友如:MSDOS6.22 , MSDOS7.0 等)
文本編輯器 (如:EDIT.COM , TURBO.EXE , TC.EXE , C.EXE 等)
匯編程序 (如:MASM.EXE , ASM.EXE 等)
連接程序 (如:LINK.EXE 等)
調試程序 (如:DEBUG.EXE 等)
二、匯編程序建立過程:
a.建立匯編源程序—通過———→b.編譯為目標文件— ↓┬—→d.連接為可執行文件

│ c.不通過,重新修改(語句錯誤) ↓
├——————————————————————┘ ↓
↑ f.不正確,用調試工具調試,重新修改(邏輯錯誤) ↓
└————————————————————————————←e運行
↓正確
g.完成
三、現在對(二)的每一個標有字母的過程(PROCEDURE)進行詳細說明
PROCEDURE a:建立匯編源程序(即:建立 文件名.asm)
這個過程就相當於我們在紙上編寫源程序代碼一樣,只不過是將紙變為了計算機,這個過程也稱源代碼錄入。將源程序代碼錄入計算機的方法很多,下面將介紹具體方法。
1.通過MD-DOS自帶的EDIT.EXE文本編輯器進行輸入,在DOS提示符下鍵入:EDIT回車,這時如果你系統內可調用時,EDIT的操作畫面便會出現在屏幕上,你就可在提示下進行錄入了,當錄入完畢後,選擇存檔並給你輸入的文件起一個文件名,形式:filename.asm ;(其中filename為你起的文件名,由1-8個字元組成),asm 是為匯編程序識別而必須加上去的,不可更改。存檔後在DOS下可用DOS命令DIR來查看,如果看到了所存的文件存在,就可以進行進程b。
2.如果你的系統中沒有EDIT,也可用你所熟悉的文本編輯器進行錄入、編輯,如可用c語言和pascal語言的文本編輯器來編輯,最後將文件存為filename.asm的形式即可。
PROCEDURE b:編譯目標文件(即:編譯為.obj .lst .crf文件)
這個過程計算機將把你編的正確的源代碼編譯為機器語言、程序清單及交叉引用表的目標文件。如果此時你的程序有語句錯誤,系統將報錯,並指出在第幾行,什麼類型的錯誤,你源棚槐可根據提示去逐一修改。現介紹具體過程:
在DOS提示符下鍵入MASM filename回車
(註:你系統內的匯編程序為MASM.EXE,如果你系統的匯編程序為ASM.EXE時,便將命令變為ASM filename回車。其中filename為你剛才在PROCEDURE a 中建立的文件名)
這時匯編程序的輸出文件可以有三個(分別:.obj .lst .crf),便會和蘆出現三次提問,在這可以一路回車即可。下面顯示的信息是源程序中的錯誤個數,如果為0則表示順利通過,就可進行進程c。但如果不為0就說明有錯誤,並指出錯誤出現的行,可依據這個提示去進行修改。但如果錯誤太多還未等看清就顯示過去了,可用如下命令形將錯誤信息存於一個你指定的文件,再用文本編輯器去查看。 MASM filename >filen (filen為你起的一個沒用過的文件名,用以存放出錯信息)以後可查看filen來得到出錯信息。
PROCEDURE c:編譯不通過,重新修改(錯誤類型:源程序語句不合法)
在執行過PROCEDURE b後,如有出錯信息時,就要我們自己按PROCEDURE c去做,而不能跳躍到PROCEDURE d去,如果強行執行PROCEDURE d將無任何有效結果。
現在就開現找錯吧!首先要清楚,在PROCEDURE b中檢測出的錯誤均為每一條語句的語法或用法錯誤,它並不能檢測出程序的邏輯設計(語句按排位置)錯誤,所以就要記好出錯的行號。在記錄行號後,就應再次執行PROCEDURE a,這時和操作應是打開已編好的源程序(以EDIT為例:在DOS提示符下鍵入:
EDIT filename.asm回車),依據行號進行修改並存檔,再次進行匯編,直至PROCEDURE b通過為止。便可繼續向下執行PROCEDURE d。
下面給出一些常見出錯信息,以便查對:
1、Register already defined 匯編內部出現邏輯錯誤
2、Unknown symbol type 在符號語句的類型中,有些不能識別的東西
3、Symbol is multi-defined 重復定義一個符號
4、Symbol not defined 符號沒有定義
5、Syntax error 語句的語法與任何可識別的語法不匹配
6、Symbol is reserved word
企圖非法使用一個匯編程序的保留字(例:定義add為一變數)
7、Not proper align/combine type SEGMENT參數不正確
8、One operand must be const 這是加法指令的非法使用
9、Operands must be same or 1 abs 這是減法指令的非法使用
10、Already have base register 試圖重復基地址
11、Illegal size for item 引用的項的長度是非法的,(如:雙字移位)
12、Illegal register value 指定的寄存器值不能放入「reg」 欄位
13、Must be AX or AL 某些指令只能用AX或AL
14、Improper use of segment reg 段寄存器使用不合法(如:mov ds,0)
15、Division by 0 or overflow 給出一個用0作除數的表達式
16、value is out of range 數值大於需要使用的
17、CS register illeal usage 試圖非法使用CS寄存器
18、DUP is too large for linker
DUP嵌套太長,以至於從連接程序不能得到所要的記錄
PROCEDURE d:連接為可執行文件(即:連接為.exe 或.com文件)
在這個過程中一般沒有意外,如果有也就是文件名打錯了。
形式:在DOS提示符下: LINK filename 回車
PROCEDURE e:運行編譯好的可執行文件
當PROCEDURE d通過後,會產生一個可執行文件,這時只需運行這個程序,看它是否按你所想像那樣得出結果。在試運行期間,要盡量試一些臨界狀態,看 程序是否運行穩定、結果是否正確。如一切正常,便可進入PROCEDURE g了。
可最怕的是不OK,程序產生一些莫名其妙的結果(你可不要以為是你的計算機不聽你的指揮,其實它是在一絲不苟地按照你編的程序執行。我以前總以為我的計算機出了毛病),如果是在考場上這時千萬不要慌,穩住自己的情緒,先不要看計算機,靜幾分鍾(反正時間多得是)。這時就要用到最關鍵、最常用的一步了,進行PROCEDURE f 。
PROCEDURE f:用調試工具調試,重新修改(邏輯錯誤)
在這我將介紹用DOS中自帶的調試程序DEBUG.EXE來進行程序調試、檢查錯誤.
首先我們要了解DEBUG的基本用法:
1、用於調試程序時的輸入格式:
DEBUG FILENAME.??? 回車
其中FILENAME是主文件名,???是擴展文件名,例如我們在此前已編譯好了一個文件,它的名子為:djx.exe 要對它進行調試時就在DOS提示符下
打:DEBUG djx.exe 回車,便可見到 '-' 提示符,如無任何提示說明正確,可進行調試。
2、DEBUG調試過程中用到的DEBUG命令介紹:
(註:在指令中用 [] 括起來的內容可預設)
1)D(Dump)顯示指定內存單元內容(一般用來看數據數的內容,即DS段):
格式:d[地址] 從[地址]指定的內存單元顯示128個位元組的內容
[地址]預設時,顯示上一個DUMP命令後面的內容
d 地址范圍 顯示指定范圍內的內存內容。
示例:-d100 顯示從DS段100H開始的內容(以十六進制顯示)
2)E(Enter)修改存儲單元內容(一般在DS段)
格式:e 地址 [數據] 用給定的[數據]代替指定范圍的存儲單元內容
e 地址 修改一個指定內存單元的內容
示例:-e ds:200 'djx'FF00AA 就可將DS段從200開始至205的內容替
換為64 6A 78 FF 00 AA
3)G(GO)運行命令
格式:-g [=地址][斷點地址1 [斷點地址2 ...[斷點地址10]]]
從指定[地址]開始執行程序(如地址預設從當前CS:IP開始),運行至[斷點地址1]停止,顯示所有寄存器及標志位內容與下一條指令,如後面還有斷點,可鍵入g,繼續執行。
示例:-g001a 則執行從當前cs:ip至001a的指令
注意:地址設置必須從指令的第一位元組設起。
4)T(Trace)執行一條語句
格式: -t [=地址] 從指定[地址]起執行一條語句後停下來,顯示所有寄存器內容及標志位的值與下一條指令。如[地址]預設則從當前CS:IP開始執行
-t [=地址][value] 從指定地址起執行value條指令後停止。
5)P(proceed)執行一個循環;一個軟中斷或call子過程
格式:-p [=地址][n]
示例: mov ah,02h
mov dl,41h
int 21h
此時用: -p 回車後系統將顯示一個字元A,如果在這不用P,而改用T,那麼系統將進入INT 21H的中斷調用中,出不來,這時你會誤以為你的程序編錯了,一定注意!!
6)R(register)顯示並可修改寄存器內容
格式:-r 顯示所有寄存器內容
-r 寄存器名 修改指定寄存器內容(可改:AX,BX,CX,DX,SP,
BP,SI,DI,CS,DS,ES,SS,PC,IP,F)
7)U(Unassemble)反匯編
格式:-u [地址] 從指定[地址]反匯編32個位元組,若[地址]預設則從當前地址匯編32個位元組。
-u 地址范圍 對指定范圍內的存儲單元進行反匯編
以上是在調試程序中可能用到的DEBUG命令解釋,DEBUG中還有其它命令,在檢查程序中不會用到,就不再介紹了。
PROCEDURE g:程序編好,那就一切OK!!!交卷過關了!大吃、大睡。
下面給出一個有病句的程序,希望大家和我一起調試、修改並通過:
先執行PROCEDURE a編輯源程序
實現功能:在屏幕上顯示:Hello world
My name is DJX
文件名:error.asm
行號: 源程序代碼:
1 data segment
2 out1 db 'Hello world'
3 ax db 'My name is DJX'
4 data ens
5
6 code segment
7 assume cs:code;ds:data
8 lea dx,out1
9 mov ah,2
10 int 21h
11
12 mov dl,0ah
13 mov ah,2
14 int 21h
15 mov dl,0dh
16 moo ah,2
17 int 21h
18
19 lea dx,ax
20 mov ah,
21 int 21h
22 code ends
在編輯完執行PROCEDURE b用masm進行編譯:masm error回車後顯示如下:
Microsoft (R) Macro Assembler Version 5.00
Copyright (C) Microsoft Corp 1981-1985, 1987. All rights reserved.
Object filename [error.OBJ]:
Source listing [NUL.LST]:
Cross-reference [NUL.CRF]:
End of file encountered on input file
error.ASM(23): warning A4085: End of file, no END directive
Open segments: DATA
error.ASM(3): warning A4016: Reserved word used as symbol: AX
error.ASM(4): error A2105: Expected: instruction or directive
error.ASM(16): error A2105: Expected: instruction or directive
error.ASM(19): error A2049: Illegal use of register
End of file encountered on input file
error.ASM(23): warning A4085: End of file, no END directive
51566 + 406450 Bytes symbol space free
2 Warning Errors
4 Severe Errors
說明這個程序有錯誤,並在第3,4,16,19,23行有錯,
我們再執行PROCEDURE c去逐一檢查
第三行:3 ax db 'My name is DJX'
它的錯誤在於AX不能作為變數名,更正:
3 out2 db 'My name is DJX'
注意剛才我們定義AX為變數時在後面的程序中用過'變數AX'在第19行
19 lea dx,ax
在出錯報告中也報第19行錯,因為不能將AX的有效地址賦給DX,更正:
19 lea dx,out2
這樣一下就解決了兩個錯誤
第四行:4 data ens
這行為一個段的結束,但語句漏打了字母,更正:
4 data ends
第十六行:16 moo ah,2
這行也是語句打錯,更正:
16 mov ah,2
第二十三行:
出錯信息:error.ASM(23): warning A4085: End of file, no END directive
說明本程序沒有結束偽操作,更正:
加入:在第七、八行加入地址標志: start:
原23 end start
執行PROCEDURE a將源程序修改如下:
data segment
out1 db 'Hello world'
out2 db 'My name is DJX'
data ends
code segment
assume cs:code;ds:data
start:
lea dx,out1
mov ah,2
int 21h
mov dl,0ah
mov ah,2
int 21h
mov dl,0dh
mov ah,2
int 21h
lea dx,out2
mov ah,9
int 21h
code ends
end start
再次進行PROCEDURE b進行編譯,屏幕顯示:
Microsoft (R) Macro Assembler Version 5.00
Copyright (C) Microsoft Corp 1981-1985, 1987. All rights reserved.
Object filename [error.OBJ]:
Source listing [NUL.LST]:
Cross-reference [NUL.CRF]:
51524 + 406492 Bytes symbol space free
0 Warning Errors
0 Severe Errors
本程序在語句上已無錯誤。
再執行PROCEDURE d連接為可執行文件(link error回車),屏幕顯示:
Microsoft (R) Overlay Linker Version 3.60
Copyright (C) Microsoft Corp 1983-1987. All rights reserved.
Run File [ERROR.EXE]:
List File [NUL.MAP]:
Libraries [.LIB]:
LINK : warning L4021: no stack segment
這時error.exe可執行文件已存在,可以執行PROCEDURE e來運行看一看是否正確
在dos提示符下鍵入:error回車(小心!!!)
屏幕顯示:亂碼,並死機。reset My computer!
說明程序在邏輯上有錯誤,並且嚴重。
這是就要用PROCEDURE f,用調試工具調試,查找錯誤。
在DOS提示符下鍵入:debug error.exe回車
屏幕出現 - 提示符,這時就可以用DEBUG的命令來找錯誤了,
我首先用d命令來查看數據區和內容,發展所定義的兩個字元串並不在數據段的段首,而在數據段內的100h位置上,這時才想起masm有一個不成文的規定,那就是在定義完數據段後,所定義的變數均向後100h個單元,需要我們將ds段寄存器置位,在程序的start:後面加上如下指令:(執行PROCEDURE a)
mov ax,data
mov ds,ax
再執行PROCEDURE b,PROCEDURE d,PROCEDURE e來運行程序,
屏幕顯示:
換行
My name is DJX及亂碼,並死機。(又要重新啟動!)
再次執行PROCEDURE a檢查程序,發現:
1.匯編語言有規定每個字元串應由$結尾
2.在輸出第一個串的語句中的AH子功能號應為09H
將以上兩點改正。
再執行PROCEDURE b,PROCEDURE d,PROCEDURE e來運行程序,
屏幕顯示:
Hello world
My name is DJX並死機,不能返回DOS
原因分析,在程序中沒有返回DOS的指令,更正:
用PROCEDURE a來進行編輯:
用DOS 21H中斷的4cH子功能便可返回DOS,在code ends前加:
mov ah,4ch
int 21h
再執行PROCEDURE b,PROCEDURE d,PROCEDURE e來運行程序,
屏幕顯示:
Hello word
My name is DJX
並返回DOS
成功!
這樣一個程序就調試完成,並正確。
下面是正確的源程序:
data segment
out1 db 'Hello world$'
out2 db 'My name is DJX$'
data ends
code segment
assume cs:code;ds:data
start:
mov ax,data
mov ds,ax
lea dx,out1
mov ah,9
int 21h
mov dl,0ah
mov ah,2
int 21h
mov dl,0dh
mov ah,2
int 21h
lea dx,out2
mov ah,9
int 21h
mov ah,4ch
int 21h
code ends
end start
以上這個程序很簡單,只是為了說明實現匯編語言的上機編程及調試過程,匯編語言須多練習才能掌握它的特點,以便順利通過考試

『伍』 編寫一個完整匯編語言源程序GGT.ASM 在計算機通過,需要哪幾個步驟

1。開始-運行-CMD
2。X:回車 X代表你裝MASM LINK DEBUG 等余棗文件的地方 一定要打開埋乎X盤就能看見MASM LINK DEBUG這幾個軟體
3。cd masm 回車
4。edit GGT.asm
5.編寫GGT.ASM程序
6 點擊編輯窗口左上角的下拉菜單,出現一個SAVE,點擊它,然後選下拉菜彎毀悉單的最一後項QUIT,然後回到DOS狀態。
7。masm GGT.ASM 回車
8。link GGT.OBJ 回車
9。debug GGT.EXE
第九步查看和序運行結果
如有不懂再找我

『陸』 簡述上機運行匯編語言程序的過程。

實驗操作說明
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指針即可指向程序的第一條指令。

『柒』 Keil uVision2怎麼建立匯編源程序

親, 直接保存為 .s 後綴就可以, 在該文件中就可以直接寫匯編命令。

『捌』 匯編語言程序設計的一般步驟是什麼

匯編語言程序設計的基本步驟 了解了匯編語言指令的功能和用法,了解了匯編語言程序的編寫格式,就可以編制完整的匯編語言程序了。一個程序通常具有順序、分支、循環和子程序4種結構形式。順序程序結構就是指完全按順序逐條執行的指令序列。在程序設計過程中,順序結構大量存在,屢見不鮮。但一個完整的程序只是逐條去執行指令,這非常少見。常見的程序結構,是上述4種結構的混合體。一般來說,編制一個匯編語言程序的步驟如下:(1) 分析題意,確定演算法或演算法思想。演算法是指解決問題的方法和步驟。比如現有的一些計算方法和日常生活中解決問題的邏輯思維推理方法等。(2) 根據演算法畫出流程圖,簡單的情況也可不畫。畫出描述演算法的流程圖,可以首先從圖上檢驗演算法的正確性,減少出錯的可能,使得動手編寫程序時的思路更加清晰。(3) 分配存儲空間和工作單元,合理地使用寄存器。分配存儲空間和工作單元,是指存儲空間的分段和數據定義。另外,由於寄存器的數量有限,編寫程序時經常會感到寄存器不夠用。因此,對於位元組數據,要盡量使用8位寄存器。而採用適當的定址方式,也會達到節省寄存器的目的。(4) 根據流程圖編寫程序。這是編制匯編語言程序最為重要的一步。演算法里規定的功能,是要通過一條條指令描述出來的。為了提高編程能力,對於初學者,一是要多閱讀現有的程序,以學習別人的編程經驗;而更為重要的是,必須多親自動手編寫,不要怕失敗,只有通過無數次失敗,才能從中積累自己的編程經驗。(5) 上機調試運行程序。通過匯編的源程序,只能說明它裡面不存在語法錯誤。但是它是否能達到演算法所要求的預期效果,還必須經過上機調試,用一些實驗數據來測試,才能夠真正地得出結論。可以這么說,即使是一個非常有經驗的程序員,也沒有百分之百的把握說他編寫的程序一次就成功。 用流程圖表示演算法 流程圖用一些圖形框來代表各種操作。用圖形表示演算法,直觀形象,可以用來幫助人們對演算法的理解。下圖給出了一些常用的流程圖符號。

上圖中的判斷框(菱形)用來對一個給定的條件作出判斷,以決定如何執行其後的操作。它有一個入口,兩個出口,如下圖(a)所示。

連接點(圓圈)是用來將畫在不同地方的流程線連接起來。例如在下圖(b)里,有兩個圈裡寫著數字1的圓圈,它表示是從左邊的1出來,進到右邊圖的1里(這由流程線的方向給出)。可以看出,這兩個點其實就是同一個點,只是由於畫不下而分開來畫的。用連接點,可以避免流程圖中的流程線相互交叉或過長,從而使流程圖清晰。

注釋框不是流程圖中必需的部分。在流程圖中使用它,是為了對流程圖中的某些框的操作做一些必要的說明,以便使人們能夠更好地通過流程圖來理解演算法。

處理框反映做些什麼樣的操作,如把某個單元的內容送入某個寄存器,從某個存儲單元取出數據等。它是流程圖里最為本質的、出現最多的圖形框。

輸入/輸出框反映程序的輸入和輸出情況。計算機程序無外乎接收數據,進行處理,然後加以輸出,所以輸入/輸出框是必不可少的。

閱讀全文

與如何新建匯編源程序相關的資料

熱點內容
代理商標注冊有什麼權益 瀏覽:209
數據標簽的條件格式在哪裡 瀏覽:531
女生學hr和程序員哪個好 瀏覽:444
如何分辨信息是不是法院發來的 瀏覽:523
淘寶分類怎麼加產品 瀏覽:226
商家入駐小程序要什麼資質 瀏覽:857
音聊app里的小程序碼是多少 瀏覽:811
青島手錶市場有哪些 瀏覽:406
酒代理天龍泉多少錢 瀏覽:59
通常用數據線介面是多少 瀏覽:747
電商行業開發小程序可以做什麼 瀏覽:295
為什麼文件壓縮信息不會缺失 瀏覽:147
蝦皮如何設置第二件產品半價 瀏覽:521
貴州哪裡有食品香精市場 瀏覽:19
生意數據參謀分析師如何認證 瀏覽:929
怎麼設置我的世界村民的交易 瀏覽:122
為什麼北京證券交易所現在才建立 瀏覽:949
杭州哪個花鳥市場有賣金絲熊 瀏覽:353
臨沂花茶如何代理 瀏覽:508
如何理解三元數據 瀏覽:446