彙編語言怎麼寫
彙編語言(Assembly Language)是面向機器的程式語言.彙編語言是一種功能很強的程式語言,也是利用計算機所有硬件特性並能直接控制硬件的語言。
在彙編語言中,用助記符(Memoni)代替操作碼,用地址符號(Symbol)或標號(Label)代替地址碼。這樣用符號代替機器語言的二進制碼,就把機器語言變成了彙編語言。
因此彙編語言亦稱為符號語言。 使用匯編語言編寫的程序,機器不能直接識別,要由一種程序將彙編語言翻譯成機器語言,這種起翻譯作用的程序叫彙編程序,彙編程序是系統軟件中語言處理系統軟件。
彙編語言把彙編程序翻譯成機器語言的過程稱為彙編。 彙編語言比機器語言易於讀寫、調試和修改,同時具有機器語言全部優點。
但在編寫複雜程序時,相對高級語言代碼量較大,而且彙編語言依賴於具體的處理器體系結構,不能通用,因此不能直接在不同處理器體系結構之間移植。 彙編語言的特點: 1.面向機器的低級語言,通常是為特定的計算機或系列計算機專門設計的。
2.保持了機器語言的優點,具有直接和簡捷的特點。 3.可有效地訪問、控制計算機的各種硬件設備,如磁盤、存儲器、CPU、I/O端口等。
4.目標代碼簡短,佔用內存少,執行速度快,是高效的程式語言。 5.經常與高級語言配合使用,應用十分廣泛。
彙編語言的應用: 1.70%以上的系統軟件是用匯編語言編寫的。 2.某些快速處理、位處理、訪問硬件設備等高效程序是用匯編語言編寫的。
3.某些高級繪圖程序、視頻遊戲程序是用匯編語言編寫的。 學習彙編語言和別的程序語言一樣,都需要有耐心,推薦看看清華大學出版社的一本彙編教材《IBM-PC彙編語言程序設計(第2版)》,不過相對與CC++之類的程序語言來説,彙編的學習稍困難一些。
2. 彙編語言程序怎麼寫啊assume cs:code
code segment
s1: db 'Press any key when you ready.',0dh,0ah,'$'
s2: db 'Input your password','$'
start:
mov ax,cs
mov ds,ax
mov dx,offset s1 ;ds:dx指向字符串開頭
mov ah,9 ;int 21h的9號子程序,從光標位置開始顯示
int 21h
mov ah,0
int 16h
mov dx,offset s2
mov ah,9
int 21h
mov ax,4c00h
int 21h
code ends
end start
3. 用匯編語言怎麼寫標題看你用什麼彙編了。用WIN32的話..應該是在
CreateWindowExA proto dwExStyle:DWORD,
lpClassName:DWORD,
lpWindowName:DWORD, ;;;;;;;;;在這兒設程序名稱
dwStyle:DWORD,
X:DWORD,
Y:DWORD,
nWidth:DWORD,
nHeight:DWORD,
hWndParent:DWORD ,
hMenu:DWORD,
hInstance:DWORD,
lpParam:DWORD
4. 彙編語言怎麼用,寫的界面在哪,語法呢.我初學彙編一般用到Debug調試
可以這樣:操作系統的開始→運行→輸入"cmd"(沒有引號,下同)按回車,如果寫些簡單的,就可以直接在彈出的Dos命令界面中輸入"debug",按回車。
可以直接輸入命令了,比如a,編寫彙編程序(只限於簡單的);t,查看各寄存器的存儲情況;u,查看彙編程序,其他命令可以自己學。
如果要寫些複雜的,可以在Dos界面中寫"edit",在跳出來的藍色屏幕編輯器中寫程序,寫完了保存(格式為.asm),然後用LINK和MASM進行連接編譯(這部分你要查一下用法,只要自己動手過一遍就清楚)。生成exe就可以直接運行啦。
語法三言兩語不大好説吧?這是我原來學的時候寫的一個很簡單的程序:
assume cs:code,ds:data,ss:stack
data segment
dw 0123h,0456h,0789,0abch,0defh,0fedh,0cbah,0987h
data ends
stack segment
dw 0,0,0,0,0,0,0,0
stack ends
code segment
start:mov ax,stack
mov ss,ax
mov sp,16
mov ax,data
mov ds,ax
push ds:[0]
push ds:[2]
pop ds:[2]
pop ds:[0]
mov ax,4c00h
int 21h
code ends
end start
如果你想學的話,推薦一本非常好的書:
書名:彙編語言
作者:王爽
出版社:郵電出版社
補充:
1.開始→運行→輸入"cmd"(沒有引號,下同)按回車即可進入Dos
2.在寫字板裏寫完程序以後,以".asm"保存,比如保存為“text.asm”,而不是“text.txt”。
3.假設你的MASM保存在D盤的MASM文件夾下。
在DOS中鍵入如下命令:
c:>d:(敲完前面這幾個字符按回車,下同)[命令解釋:進入D根目錄]
d:>cd masm[打開D盤下的MASM文件夾]
d:masm>masm text.asm[用MASM對前面寫好的程序text.asm進行編譯]
然後會出現:Object filename [text.OBJ]:並等待輸入,在後面輸入將要生成的OBJ文件名就可,比如text.obj
接着會出現:Source listing [NUL.LST]:此處為中間文件,一般用不到,所以不用輸入,直接按回車
然後會出現:Cross-reference [NUL.CRF]:中間文件,直接回車
然後會出現:50536+415656 Bytes symbol space free
0 Warning Errors
0 Severe Errors
D:masm>
這就説明已經編譯好了,在masm文件夾下會新生成一個文件:TEXT.OBJ
接着在 D:masm>;處繼續輸入:
D:masm>link text.obj
會出現:Run File [TEXT.EXE]:並等待輸入,在後面輸入將要生成的EXE文件名就可,比如text.exe,按回車
然後會出現:List File [NUL.MAP]:中間文件,直接回車
接着會出現:Libraries [.LIB]:直接回車
至此,如果程序沒有寫錯的話,就會能生成正確的EXE文件了。
5. 大小寫轉換 彙編語言怎麼寫原發布者:※123456
實驗1彙編語言選擇結構程序設計班級xxxxx學號xxxxx姓名xxxxxx實驗題目:完善例子:要求連續將鍵盤輸入的小寫字母轉為大寫字母,字母之間用“-”號間隔;若輸入大寫字母則直接輸出,其他字符則不處理和輸出,提示重新輸入。實驗目的:1.掌握選擇結構程序設計;2.掌握跳轉類指令的使用;4.掌握MASM、LINK、DEBUG等工具的使用。實驗設備:硬件:PC機軟件:DOS操作系統、編輯軟件、MASM5.0實驗內容:1.程序代碼DATASEGMENTSTRDB'Wrongword!Pleaseinputagain:$'DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVAH,01HINT21HMOVBL,AL;保存在BL中MOVDL,'-';送‘-’號到DLMOVAH,02H;顯示‘-’INT21H;取回輸入的字符MOVAL,BLCMPAL,'a';與'a'比較JBA;小於'a'轉ACMPAL,'z';與'z'比較JAEXIT;大於'z'轉到EXITSUBAL,20H;取大寫字母MOVDL,AL;輸出MOVAH,02HINT21HC:MOVDL,0AH;輸出換行MOVAH,02HINT21HMOVDL,0DH;輸出回車MOVAH,02HINT21HJMPSTART;無條件轉A:CMPAL,'A'JAEBJBD
6. 用匯編語言怎麼寫標題看你用什麼彙編了。
用WIN32的話..應該是在CreateWindowExA proto dwExStyle:DWORD,lpClassName:DWORD,lpWindowName:DWORD, ;;;;;;;;;在這兒設程序名稱dwStyle:DWORD,X:DWORD,Y:DWORD,nWidth:DWORD,nHeight:DWORD,hWndParent:DWORD ,hMenu:DWORD, hInstance:DWORD,lpParam:DWORD。
7. 彙編語言怎麼寫1到100的累加和DSEG SEGMENT
RESULT DW ?;存放和
DSEG ENDS
CSEG SEGMENT
ASSUME CS:CSEG,DS:DSEG
START:
MOV AX,DSEG
MOV DS,AX
MOV AX,1;從1開始加
MOV RESULT,0;和的初值賦0
MOV CX,100;循環100次
NEXT:
ADD RESULT,AX;每次向和中累加AX
INC AX;然後AX加1
LOOP NEXT
MOV AX,4C00H;結束程序
INT 21H
CSEG ENDS
END START