① 用匯編語言編程
1.
-------------------------------
CSEG SEGMENT
ASSUME CS:CSEG
START: MOV SI,400H
MOV CX,100H
MOV BL,0FFH
NEXT: MOV BYTE PTR [SI],BL
DEC BL
INC SI
LOOP NEXT
MOV AH,4CH
INT 21H
CSEG ENDS
END START
-----------------------------
2.
-----------------------------
MOV AX,[500H]
MOV DX,[502H]
ADD AX,[504H]
ADC DX,[506H]
MOV [508H],AX
MOV [50AH],DX
② 匯編語言編程:
54H 76H 40H 00H 23H 20H 00H 00H
③ 匯編語言程序的匯編語言程序實例
用匯編語言對4位10進制數加密。密碼是0123456789對應為9082746315。 DATA SEGMENT TABLE DB 39H,30H,38H,32H,37H,34H,36H,33H,31H,35H;密碼表 RESULT DB 4 DUP(?);四位十進制數對應的密碼 DATA ENDS CODE SEGMENT ASSUME DS:DATA,CS:CODE MAIN PROC FAR MOV AX,DATA MOV DS,AX MOV ES,AX LEA BX,TABLE LEA DI,RESULT MOV AX,1234;已知的四位十進制數,以下分別求四位十進制數位,並將密碼存入RESULT中 MOV SI,1000 CALL NUMBER MOV SI,100 CALL NUMBER MOV SI,10 CALL NUMBER MOV SI,1 CALL NUMBER LEA DI,RESULT;在屏幕上依次顯示四位加密後的十進制數 MOV CX,4 NEXT: MOV DL,[DI] MOV AH,2H INT 21H INC DI LOOP NEXT ;按任意鍵退出 mov ah,1 int 21h MOV AX,4C00H INT 21H MAIN ENDP NUMBER PROC NEAR MOV DX,0 DIV SI MOV SI,DX XLAT STOSB MOV AX,SI RET NUMBER ENDP CODE ENDS END MAIN.
④ 求一個匯編語言程序實例(MASM for windows環境下)
;統計BUF中正數的個數
;分析:每個元素是一個8位有符號二進制數,因此要判斷其是否為正數,
;需選擇帶符號數條件轉移指令進行判斷轉移(例如JG,JNG,JL,JNL)。
;由於共有n個元素,因此整個程序的結構就是對以上判斷重復n次.
ASSUMECS:CODE,DS:DATA
DATASEGMENT
BUFDB1,2,3,4,5,6,7,-8,-9,0
NEQU$-BUF ;計算BUF中元素的個數
COUNTDW?
DATAENDS
CODESEGMENT
START:
MOVAX,DATA
MOVDS,AX
LEABX,BUF ;取BUF的偏移地址,然後賦值給BX
MOVCX,N ;BUF中元素的個數,賦值給CX
MOVAX,0 ;AX存放正數的個數
NEXT:CMPbyteptr[BX],0
JNGLESS0 ;小於或等於0,跳轉
INCAX
LESS0:
INCBX ;指向下一個元素
LOOPNEXT
MOVCOUNT,AX
MOVAX,4C00H
INT21H
CODEENDS
ENDSTART
流程圖:
⑤ AVR單片機匯編語言程序實例
;範例 快速生成位序列校驗碼/或對接收位序列進行循環冗餘檢測子程序 ;100位元組位序列m0,m1,m2,m3,m4,...m98,m99在發送方以遞推方式生成CRC校驗碼子程序 ;或在接收方對該序列進行CRC檢測之子程序 ;在發送方,本程序為CRC校驗碼生成子程序。將此位序列除以生成多項式P(X) ;=X16+X15+X2+1,將生成的CRC校驗碼(即余式)裝入位序列的最低兩位位元組 ;(沖掉m0,m1),將最終處理的位序列發送出去。 ;在接收方,本程序為CRC檢測子程序。將接收到的位序列除以生成多項式P(X) ;=X16+X15+X2+1,若將原位序列最低兩位位元組m0,m1恢復(即除得的余式R15R14 ;與原始位序列最高兩位位元組相等),則為正確接收。 ;本程序中循環次數為98,比位序列位元組數少2。因為位序列最低兩個位元組m0,m1直 ;接作為(第一個)余式,不對它們查取CRC校驗碼。 ;X為按位元組定址位序列指針 ;定址CRC校驗碼表格先按字計算地址指針,將其增倍後變為按位元組定址。 CRCOUT:LDI XH,$1 ;THE BIT SEQUENCE IS IN $100---$163 CLR XL ;TOTAL 100 BYTES LDI R16,$62 ;THE DATA BLOCK LENGTH IS 98(=100-2) LD R14,X+ ;m0 LD R15,X+ ;m1CRCO1:LD R13,X+ ;fetch m2 at the first! LDI ZH,HIGH(DATA5) LDI ZL,LOW(DATA5) ADD R30,R13 CLR R13 ADC R31,R13 LSL R30 ROL R31 ;point to the CRC CODE! LPM EOR R14,R0 ADIW R30,1 LPM EOR R15,R0 ;CRC CODE IN R14&R15(HIGH)! DEC R16 BRNE CRCO1 STS $101,R15 STS $100,R14 ;將生成的CRC校驗碼放在位序列的最低兩位位元組中 RET ;或將原始位序列的最低兩位位元組恢復DATA5:.DB $00,$00,$80,$05 ;THE CRC CODE TABLE .DB $80,$0F,$00,$0A ;與範例101中SRAM$100--$2FF單元內容完全相同! .DB $80,$1B,$00,$1E ;.................... ;其餘略 end 我這有很多!我發到你郵箱里吧!
⑥ 匯編語言編程
很顯然不是,最低級的語言應該是機器語言,都是0或1的機器碼。匯編語言也算是低級語言,高級語言包括C語言、C++、VB、VC++、java等,匯編語言效率抄很高,學習微機原理時匯編語言是必須要學習的,執行的時候需要進行匯編,所謂匯編,就是把匯編語言翻譯成計算機能夠看懂的語襲言,也就是機器語言。同理,像您用C語言編的程序就需要編譯也是這個道理。不過匯編語言比較繁瑣,知你編的程序另外一個人不大可能看懂,但高級語言別人是能夠很快看明白的,道所以安全性只是相對的,很多應用軟體的源代碼你是看不到的,也就無所謂安全不安全了
⑦ 匯編語言編程
DATA SEGMENT
STR1 DB 0AH,0DH,'3-7 age: ','$'
STR2 DB 0AH,0DH,'7-18 age: ','$'
STR3 DB 0AH,0DH,'3-18 age: ','$'
SUM DW ?,?
DATA ENDS
STACK SEGMENT STACK
DB 200 DUP(?)
STACK ENDS
CODE SEGMENT
ASSUME DS:DATA,CS:CODE,SS:STACK
START: MOV AX,DATA
MOV DS,AX
MOV DX,OFFSET STR1
MOV AH,9
INT 21H
AND DX,0
MOV AX,(7-3)*12
MOV BX,300
MUL BX ;3-7月一共多少錢
MOV SUM,AX
MOV SUM+2,DX
CALL DISPLAY ;顯示3-7總共花的錢
MOV DX,OFFSET STR2
MOV AH,9
INT 21H
AND DX,0
MOV AX,(18-7)*12
MOV BX,500
MUL BX ; 7-18總共花費多少錢
ADD SUM,AX
ADC SUM+2,DX
CALL DISPLAY ;顯示7-18歲共花費的錢
MOV DX,OFFSET STR3
MOV AH,9
INT 21H
MOV AX,SUM
MOV DX,SUM+2
CALL DISPLAY ;顯求3-18歲共花費的錢
MOV AH,4CH
INT 21H
;子程序名:DISPLAY
;子程序功能:十進制顯示
;入口參數:DX,AX
;出口參數:
;使用寄存器:DI,BX,CX,DX
DISPLAY PROC
MOV DI,OFFSET STR1 ;將DI指向BUF的下一單元
MOV BX,10 ;准備除以10
MOV CX,0 ;准備統計余數的個數
CHANGE10:DEC DI ;准備存放余數,往前倒存
INC CX
DIV BX ;DX,AX除以BX (BX=10)
ADD DL,30H ;余數變為ASCII碼值
MOV BYTE PTR[DI],DL ;存儲十進制數
MOV DX,0
CMP AX,0 ;是否為0?
JNZ CHANGE10 ;不為0轉CHANGE10
CHANGE11:MOV DL,BYTE PTR[DI] ;取出存放在BUF中的十進制數到DL供顯示
MOV AH,2 ;顯示1個字元
INT 21H
INC DI
LOOP CHANGE11
MOV DL,0AH
INT 21H
MOV DL,0DH
INT 21H
RET
DISPLAY ENDP
CODE ENDS
END START
改好了。
⑧ 利用匯編語言編程
剛學匯編不是很久,這個程序也是臨時編的,還沒調試,自個兒去調一下,如果有錯的話修改一下。希望不會錯的很離譜
DATA SEGMENT
MESS1 DB 'Welcome Mr.ABC','$'
MESS2 DB 'Welcome Mr.XYZ','$'
NAME1 DB 'Mr.ABC','$'
NAME2 DB 'Mr.XYZ','$'
BUF DB 10
DB ?
DB 15 DUP (?)
DATA ENDS
STACK SEGMENT PARA STACK 'STACK'
DB 100 DUP (?)
STACK ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA,SS:STACK
MAIN PROC FAR
PUSH DS
MOV AX,0
PUSH AX
MOV AX,DATA
MOV DS,AX
MOV DX,OFFSET BUF
MOV AH,0AH
INT 21H
LEA BX,NAME1
CMP DX,BX
JE L1
LEA BX,NAME2
CMP DX,BX
JE L2
L1:MOV DX,OFFSET MESS1
MOV AH,9
INT 21H
JMP EXIT
L2:MOV DX,OFFSET MESS2
MOV AH,9
INT 21H
EXIT:MOV AH,4CH
INT 21H
CODE ENDS
END MAIN
⑨ 匯編語言程序設計的例子
匯編語言程序
那可以的找
看對
⑩ 匯編語言如何編程
向顯卡的緩存區內寫入數據就行了。你看過王爽的匯編了應該知道啊,實驗9就是說這個的,只要想相應的地址內寫入數據就可以了。顯示漢字要麻煩些,好像80*25顯示器不支持漢字字元的顯示,我試過,漢字顯示的是亂碼。。。