导航:首页 > 编程语言 > 汇编语言编程实例

汇编语言编程实例

发布时间:2022-02-14 20:03:57

① 用汇编语言编程

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显示器不支持汉字字符的显示,我试过,汉字显示的是乱码。。。

阅读全文

与汇编语言编程实例相关的资料

热点内容
oa安卓系统叫什么 浏览:845
两用u盘加密 浏览:118
文件如何解压再压缩 浏览:622
使用编译命令导入库 浏览:118
app一般用什么服务器 浏览:821
手机端java编译 浏览:147
电脑文件夹一右键就卡 浏览:196
javalistforeach 浏览:28
奇葩解压笔 浏览:335
php判断字符串开头 浏览:270
多个pdf合并成一个pdf 浏览:735
linuxc获取mac 浏览:966
linux线程运行时间 浏览:381
机器人逆运算算法 浏览:304
腰椎压缩性骨折属于几级伤残 浏览:829
phonegapjavajs 浏览:329
设计一个简单遗传算法 浏览:179
单片机的直流电机的pwm控制 浏览:450
cc在线编译教程 浏览:375
Linux服务器如何安装win 浏览:591