导航:首页 > 文档加密 > 汇编语言程序设计pdf

汇编语言程序设计pdf

发布时间:2025-02-27 17:02:38

❶ 汇编语言程序设计

; 本程序通过编译,运行正确
Code Segment
Assume CS:Code,DS:Code
; -----------------------------------------
; 功能:显示指定地址(Str_Addr)的字符串
; 入口:
; Str_Addr=字符串地址(要求在数据段)
; 用法: Output Str_Addr
; 用法举例:Output PromptStr
Output MACRO Str_Addr
lea dx,Str_Addr
mov ah,9
int 21h
EndM
; -----------------------------------------
; 功能:输出回车换行
Output_CTLF proc Near
push ax
push dx
mov ah,02h
mov dl,0dh
int 21h
mov dl,0ah
int 21h
pop dx
pop ax
ret
Output_CTLF endp
; -----------------------------------------
; 功能:把AX中的二进制无符号数转换成显式的十进制ASCII码,并送显示屏显示
; 入口:AX=二进制数
; 出口:在当前光标位置显示转换后的ASCII码数字
Dec_ASCII Proc Near
push dx
push bx
push di
mov bx,10
lea di,@@Temp_Save[6]
mov byte ptr [di],'$'
dec di
cld
@@Divide: xor dx,dx
div bx
or dl,30h
mov [di],dl
dec di
test ax,0ffffh
jnz @@Divide
inc di
push di
pop dx
mov ah,9
int 21h
pop di
pop bx
pop dx
ret
@@Temp_Save db 7 p(?)
Dec_ASCII EndP
; -----------------------------------------
; 功能:在N个字节数组中查找字符CHAR,并记录该字符出现的次数。
; 入口参数:
; si=一个N字节数的字符串TABLE首地址
; cx=字符串长度,N
; ah=要查找的字符
; 出口参数:bl=该字符出现的次数
Find_Chr Proc Near
@@Find_Chr: lodsb
cmp al,ah ;是指定的字符?
jnz $+4 ;不是
inc bl ;是,计数
loop Find_Chr ;判断下一个字符
ret
Find_Chr EndP
; -----------------------------------------
Prompt_Str db 'Please input a string: $' ;输入字符串提示信息
No_String db 'The string is null.$' ;空字符串提示信息
Prompt_Chr db 'Please input a charactor: $' ;输入字符提示信息
Prompt_CNT db 'The specified charactor in th string TABLE: $' ;指定字符出现次数提示信息
Start: push cs
pop ds
push cs
pop es ;使数据段、附加段与代码段同段
cld
Input_Str: Output Prompt_Str ;提示输入字符串
lea dx,TABLE ;字符串缓冲区地址
mov ah,0ah
int 21h
call Output_CTLF ;输出一个回车、换行
lea si,TABLE[1] ;实际输入的字符串长度地址
lodsb ;读入这个长度N
test al,0ffh ;N=0?
jnz Read_Chr ;否,转去输入一个字符
Output No_String ;空字符串提示信息
jmp Input_Str ;重新输入字符串
Read_Chr: Output Prompt_Chr ;提示输入字符
mov ah,1 ;从键盘输入一个字符
int 21h
cmp al,1bh
jz Exit_Proc ;若按键为Esc,则结束程序
cmp al,20h ;控制及通讯字符?
jb Read_Chr ;重新输入字符
call Output_CTLF ;输出一个回车、换行
call Output_CTLF ;输出一个回车、换行
push ax
Output Prompt_CNT ;提示指定字符出现次数提示
pop ax
mov ah,al ;指定的字符送ah保存
lea si,TABLE[1] ;实际输入的字符串长度地址
lodsb ;读入这个长度N
mov cl,al
xor ch,ch ;N=cx
xor bl,bl ;计数器,计数指定字符在字符串中出现的次数
call Find_Chr ;在N个字节数组中查找字符CHAR,并记录该字符出现的次数
mov al,bl
xor ah,ah
call Dec_ASCII ;把AX中的二进制无符号数转换成显式的十进制ASCII码,并送显示屏显示
Exit_Proc: mov ah,4ch ;结束程序
int 21h
TABLE db 255 ; 字符串缓冲区
Code ENDS
END Start ;编译到此结束

阅读全文

与汇编语言程序设计pdf相关的资料

热点内容
自动化专业英语pdf 浏览:722
数组中不重复元素算法 浏览:566
移动流量app专属流量是什么 浏览:381
pythonwol 浏览:92
电子服务器怎么写 浏览:799
javaexcel文件读取的内容 浏览:313
ios用什么反编译 浏览:385
python360pdf教程 浏览:249
女程序员做直播 浏览:631
楼梯立方怎么算法 浏览:878
塔罗pdf 浏览:766
程序员跳槽银行七天就离职 浏览:998
winrar命令行解压 浏览:477
怎么连接天翼云服务器 浏览:204
pythonget中文乱码 浏览:311
foxmail企业邮箱服务器地址怎么设置 浏览:757
androidhtml5开发实例 浏览:583
php导出excel功能 浏览:47
忏悔录pdf奥古斯丁 浏览:1001
php判断字符串url 浏览:772