汇编语言课程设计

发布 2022-10-01 07:32:28 阅读 2718

datarea ends

code segment**段定义。

assume cs:code,ds:datareamain proc far

start: push ds

sub ax,ax

push ax

mov ax,datarea

mov ds,ax

lea dx,message2 ;提示用户操作种类,以便输入。

mov ah,9

int 21h

call crlf回车换行。

mov ah,1

int 21h

cmp al,'a若输入a,则执行大写字母转换成小写字母。

je l1cmp al,'b若输入b,则执行小写字母转换成大写字母。

je l2cmp al,'c若输入c,则执行十六进制转换成二进制。

je l3

cmp al,'d若输入d,则执行二进制转换成十六进制。

je l4cmp al,'e若输入e,则执行十六进制转换成十进制。

je l5cmp al,'q若输入q,则退出程序。

je exited

lea dx,message1 ;若条件都不满足,则输入错误,重新输入。

mov ah,9

int 21h

call crlf回车换行,以免覆盖原来输入值。

jmp start

l1: call crlf

call first调用大写字母转换成小写字母。

jmp start

l2: call crlf

call second调用小写字母转换成大写字母。

jmp start

l3: call crlf

call third调用十六进制转换成二进制。

jmp start

l4: call crlf

call forth调用二进制转换成十六进制。

jmp start

l5: call crlf

call fifth调用十六进制转换成十进制。

jmp start

exited: ret

main endp

first proc near大写字母转换成小写字母。

mov bx,0

begin1:

mov ah,1输入需要转换的字符。

int 21h

cmp al,41h若字符小于a的ascii码,退出。

jl exity

cmp al,5ah若字符大于z的ascii码,退出。

ja exity

add al,20h开始转换。

mov dl,al

mov ah,2

int 21h

call crlf

exity: ret

first endp

second proc near小写字母转换成大写字母。

mov bx,0

begin2:

mov ah,1输入需要转换的字符。

int 21h

cmp al,'a若字符小于a的ascii码,退出。

jl exits

cmp al,'z若字符大于z的ascii码,退出。

ja exits

sub al,20h开始转换。

mov dl,al

mov ah,2

int 21h

call crlf

exits: ret

second endp

third proc near十六进制转换成二进制。

begin3: mov dx,0

mov bl,4

input: mov ah,1输入需要转换的十六进制数,可输入四位。

int 21h

sub al,30h是否为0-9的数字,否则退出。

jl exite

cmp al,10d输入值为0~9的数字。

jl addto

sub al,07h

cmp al,0ah是否为a-f的字母,否则退出。

jl exite

cmp al,0fh输入值为a~f的字符。

jle addto

sub al,20h

cmp al,0ah输入其他字符。

jl exite

cmp al,0fh

jle addto输入值为a-f,否则退出。

jmp exite

addto:

mov cl,4

shl dx,cl

mov ah,0

add dx,ax

dec bl

jnz input

call p1调用p1,显示输出相应的二进制数。

call crlf

p1 proc near

mov cx,16d

mov bx,dx

p2: shl bx,1

jc p3mov dl,30h

mov ah,2

int 21h

dec cx

jnz p2

retp3: mov dl,31h

mov ah,2

int 21h

dec cx

jnz p2若还不为0,则继续执行。

retp1 endp

exite: mov ah,4ch程序结束,返回。

int 21h

third endp

forth proc near二进制转换成十六进制。

push ds

sub ax,ax

push ax

begin:

mov bx,0

loop1:

clc mov ah,1h

int 21h

cmp al,0dh是否为回车键,若是则输入完成。

je printit

cmp al,'0'

jz nexttostc

汇编语言课程设计

微机原理实践 课程设计报告。题目 汇编语言课程设计。专业 网络工程 班级 班 学号 姓名 指导教师 完成日期 2013年 1 月 6 日。一 课程设计目的。1 加深对汇编语言理论和基本知识的理解,掌握dos和bios系统功能调用,掌握运用汇编语言设计具有一定功能的软件的基本方法。2 通过编写一定规模...

汇编语言课程设计

学号 01211103402 18 课程设计。打字游戏的设计与实现。一 设计内容 1 功能菜单由 开始 速度调整 统计成绩 和 结束 等组成。2 游戏开始后,出现由26个字母组成的乱序行,这时其中任一字母落下,在键盘上敲入该字母,如果输入正确,字母消失,并得分 按esc键返回主界面 按空格键暂停 按...

汇编语言课程设计

汇。编。语。言。课。程。设。计。姓名 学号 专业班级 计科一班。指导老师 袁全清。一 课程题目。数字时钟,与计算机的时间同步显示。二 设计思想。程序原理 程序先调用系统时间,然后将返回的二进制数转化成ascii码,再通过dos显示功能显示出来,并通过循环不断刷新显示的时间。在二进制转化成ascii码...