admin 管理员组文章数量: 887053
2024年1月25日发(作者:matlab开源代码下载网站)
汇编语言程序实例
第一份:用汇编语言对4位10进制数加密。密码是对应为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
第二份:设有100个学生的成绩存放在RECORD为首地址的字节数据区中,试编写分支程序分别统计成绩为60~69分,70~79分,80~89分,90~99分,100分的人数(假设成绩都及格),分别存放在G6,G7,G8,G9,G10单元中.
data segment
record db 100 dub (?)
g6 db 0
g7 db 0
g8 db 0
g9 db 0
g10 db 0
data ends
code segment
assume cs:code,ds:data
start:
mov ax,data
mov ds,ax
lea si,record
mov cx,100
next:
mov al,[si]
cmp al,60
jb nextn
cmp al,70
jnb next7
inc g6
jmp nextn
next7:
cmp al,80
jnb next8
inc g7
jmp nextn
next8:
cmp al,90
jnb next9
inc g8
jmp nextn
next9:
cmp al,100
jnb next10
inc g9
jmp nextn
next10:
jne nextn
inc g10
nextn:
inc si
loop next
mov ah,1
int 21h
mov ax,4c00h
int 21h
code ends
end start
第三份:若自BLOCK开始的内存缓冲区中,有100个带符号的十六进制数,希望找到其中最大的一个值,并将它放到MAX单元中
解:程序流程图如图所示。
MOV BX,OFFSET BLOCK
MOV AX,[BX]
INC BX
INC BX
MOV CX,99
AGAIN: JG NWXT
MOV AXNEXT: INC BX
DEC CX
JNE AGAIN
MOV MAX HLT
CMP AX,[BX]
,[BX]
,AX
INC BX
版权声明:本文标题:汇编语言程序实例 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/jishu/1706186041h503461.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论