當前位置:首頁 » 編程軟體 » 編制匯編程序

編制匯編程序

發布時間: 2022-09-05 04:26:22

⑴ 一般用什麼軟體來寫匯編程

樓主你好

編寫匯編語言源程序一般用純文本編輯就可以了,擴展名採用.ASM比較大眾化。目前比較好的IDE是國內的masmplus,免費軟體,下載地址在:
http://www.aogosoft.com/masmplus/

國際上比較著名的是radasm,但一般用不到那麼高級,支持幾十種編譯器呢!

三級等級考試使用的是MASM 4.0的masm.exe和link.exe,知道怎麼用即可。

建議樓主下載masmplus來寫程序,或下載notepad++作為源碼編輯環境。

樓主應該可以搞定的

⑵ 編寫匯編語言程序

CODESEGMENT
.386
ASSUMECS:CODE
MSGDB'studentnumber:2018610801',13,10
DB'studentname:zhuzhu',13,10,'$'
MSG1DB'pressanybuttontocancel......','$'
START:PUSHCS
POPDS
PUSHCS
POPES
LEADX,MSG
MOVAH,9
INT21H

MOVAH,2AH
INT21H
MOVAX,CX
CALLDSPAX
CALLDSP1
MOVAL,DH
XORAH,AH
CALLDSPAX
CALLDSP1
MOVAL,DL
XORAH,AH
CALLDSPAX
CALLLFCR

MOVAH,2CH
INT21H
MOVAL,CH
XORAH,AH
CALLDSPAX
CALLDSP2
MOVAL,CL
XORAH,AH
CALLDSPAX
CALLDSP2
MOVAL,DH
XORAH,AH
CALLDSPAX
CALLLFCR

LEADX,MSG1
MOVAH,9
INT21H
MOVAH,1
INT21H

MOVAH,4CH
INT21H
;===============================
DSPAXPROCNEAR
PUSHAX
PUSHBX
PUSHCX
PUSHDX
PUSHF
XORCX,CX
MOVBX,10
@DSPAX1:
XORDX,DX
DIVBX
INCCX
ORDX,30H
PUSHDX
CMPAX,0
JNE@DSPAX1
MOVAH,2
@DISPAX2:
POPDX
INT21H
LOOP@DISPAX2
;MOVDL,32
;INT21H
POPF
POPDX
POPCX
POPBX
POPAX
RET
DSPAXENDP
;==================================
DSP1PROCNEAR
PUSHAX
PUSHDX
MOVDL,'-'
MOVAH,2
INT21H
POPDX
POPAX
RET
DSP1ENDP
;==================================
DSP2PROCNEAR
PUSHAX
PUSHDX
MOVDL,':'
MOVAH,2
INT21H
POPDX
POPAX
RET
DSP2ENDP
;==================================
LFCRPROCNEAR
PUSHAX
PUSHDX
MOVAH,2
MOVDL,13
INT21H
MOVDL,10
INT21H
POPDX
POPAX
RET
LFCRENDP
;====================================
CODEENDS
ENDSTART

⑶ 編寫匯編程序

第2題、
9,7,168,3,6,13這幾個數完全可以用位元組數組存放,不必用字數組。請問按無符號數還是有符號數排序?

第3題、
兩個數DATA1 ,DATA2的數據類型,位元組/字/雙字? RLT單元數據類型?

⑷ 如何用匯編編寫以下程序

一個匯編程序是由多個段組成的,這些段被用來存放代碼、數據或當作棧空間來使用。

一個有意義的匯編程序中至少要有一個段,這個段用來存放代碼。

程序結束標記

End 是一個匯編程序的結束標記,編譯器在編譯匯編程序的過程中,如果碰到了偽指令 end,就結束對源程序的編譯。

如果程序寫完了,要在結尾處加上偽指令end 。否則,編譯器在編譯程序時,無法知道程序在何處結束。

⑸ 匯編語言編寫一個程序

CODESEGMENT
ASSUMECS:CODE

ORG200H;0:200H為操作系統保護區
;所以數據區直接放在代碼中
BUFDB10DUP(?)

START:PUSHCS
POPDS
PUSHCS
POPES
LEADI,BUF
MOVAL,1
MOVCX,10
MOVDX,0
CLD
@1:
TESTAL,1
JNZ@2
STOSB
INCDX
@2:
INCAL
LOOP@1

MOVBX,0
LEASI,BUF
MOVCX,DX
@3:
LODSB
CBW
ADDBX,AX
LOOP@3
MOVAX,BX

MOVAH,4CH
INT21H
CODEENDS
ENDSTART

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

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

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

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

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

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

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

⑺ 如何編寫最簡單的匯編語言

首先明白編譯環境:以上4個exe程序必須在32機中運行,若是64位機,請參照dosbox0.74(如何在64位機中使用debug)使用方法。

了解計算機CPU原理:詳情請參照「80X86計算機組織」和「80X86的指令系統和定址方式」

首先有一道題:

求表達式Y=A*X+B-C的值,已知A、B、C分別存放在DA-1、DA-2、DA-3位元組單元,它們的值分別是:5 、 6、 7,X存放在INPUT位元組單元,結果Y放入JSJ_10位元組單元。

分析順序結構程序代碼:由記事本敲出來的

data segment da_1 db 5 da_2 db 6 da_3 db 7 input db 1 jsj_10 db 0data ends ;這一段在內存中定義了一個段,叫做data,並且其中存入了5個變數並且付入初值,db代表每個變數佔用1個位元組,若是dd則為字,為2個位元組code segment ;名字叫做code的段的定義,顯然這兒作為代碼段,當然code這個名字可以更改 assume cs:code,ds:data ;指定data為DS數據段,code為CS代碼段start: mov ax,data ;加法指令 mov ds,ax ;加法指令 mov al,da_1 ;加法指令

mov bl,input ;加法指令

mul bl ;乘法 add al,da_2 sub al,da_3 ;減法 mov jsj_10,al

exit: mov ah,4ch int 21h ;這兩行相當於ret(返回值),就像C語言中的return 0;

code ends end start

注釋: XXXX segment

.............

XXXX ends ;定義一個段

assume ds:XXXX 把XXXX段指定為ds(ds是段地址寄存器)

請先提前把masm edit debug link文件放入預定的文件夾,並把編寫的xxxx.asm代碼文件放入該文件夾,asm文件可用記事本寫成,並改格式txt為asm(有的看不到文件後綴.txt的請參照網路)

⑻ 簡述用匯編語言進行程序設計的步驟。

匯編語言程序設計步驟:
1、
分析問題,抽象出描述問題的數據模型
2、
確定問題的演算法思想
3、
畫出流程圖或結構圖
4、
分配存儲器和工作單元(寄存器)
5、
逐條編寫程序
6、
靜態檢查,上機調試

⑼ 如何編寫完整的匯編程序

data segment (segment和ends是一對,一定是成對出現的)
…… (這中間就是申明你需要的數據段,例如:mess db 1,2,3;其中mess只是一個名字,可以根據自己需要來,db表示每個字元占的存儲空間,也可以用dw,dd,db是一個位元組;後面的數據根據實際情況來)
data ends (這是數據段)
extra segment
…… (申明和數據段一樣)
extra ends (這是附加段)
code_seg segment (這是代碼段)
assume cs:code_seg,ds:data,es:extra (這個一定不能少,而且順序不能換,也就是說cs一定對應代碼段,後面也是相同的)
start: (start可以沒有,但冒號不能少)
mov ax,data (這四句是固定的,只能根據名稱不同改變data、extra的名稱,其它不能變)
mov ds,ax
mov ax,extra
mov es,ax
…… (這中間就是你說的那些代碼)
code_seg ends (這兩句也不能少)
end start

⑽ 用匯編編製程序實現二進制定點數與十進制數的ASCII碼串之間轉換,並將結果顯示在屏幕上。

用匯編編製程序。

把二進制數轉換為十進制,在屏幕上顯示。

程序如下:

熱點內容
c學生管理系統資料庫 發布:2025-02-13 14:21:41 瀏覽:122
傳奇添加會員腳本 發布:2025-02-13 14:20:50 瀏覽:205
微信開發平台源碼 發布:2025-02-13 14:14:20 瀏覽:613
安卓大屏屏幕休眠是什麼意思 發布:2025-02-13 14:13:28 瀏覽:464
腳本的參數設置 發布:2025-02-13 14:11:57 瀏覽:863
androidtexture 發布:2025-02-13 14:11:57 瀏覽:393
怎麼取消網路密碼怎麼設置 發布:2025-02-13 14:11:54 瀏覽:426
我的世界電腦手機等價科技伺服器 發布:2025-02-13 14:06:06 瀏覽:244
刪除空行linux 發布:2025-02-13 14:04:11 瀏覽:992
安卓加速播放器哪個好 發布:2025-02-13 14:02:09 瀏覽:847