《汇编语言》课程设计报告。
题目数值的数制转换。
院 (系): 计算机与信息工程学院
班级。姓名。
学号。指导教师。
在这个程序中,首先以十进制方式输入你所转换数据的数制,放入寄存器中,再输入你所要转换的数据,通过你输入的数制及该数制下数据,将数据转换成二进制的数,存放在计数器中,最后输入将数据转换后的数制,屏幕上就会显示出转后的数据。
软件设计部分主要由三大部分构成:即提示语部分、输入转换部分和转换输出部分。其中提示语部分主要是提示操作者要输入的项目,输入转换部分主要是将操作者输入的数据进行转换并存入寄存器中,转换输出部分主要是将前一步存入寄存器中的数据进行数制转换并加以显示。
程序设计目标:
1)屏幕显示出参与转换的数据与转换的结果;
2)具有选择退出和继续的功能;
根据设计要求,程序设计框图如图2-1所示。
图2-1 程序设计框图。
软件主要任务包括将制定数制的数据转换成二进制数据及将二进制数据转换成制定数据,具体框图设计如图3-1所示。
主程序部分主要是调用功能子程序,通过主程序来依次调用不同功能的子程序,从而实现整个程序的功能。设计框图如图3-1
图3-1 主程序流程图。
此部分程序是用来实现从键盘输入数据并将数据按照指定进制转换成机器的二进制数据的目的。
此部分设计是实现将机器的二进制数据转换成制定数制数据的功能,并将最后的数据显示出来。
软件主要任务包括提示子程序、输入并转换子程序、转换并输出子程序以及回车换行子程序具体框图设计如图3-1所示。
此部分是调用dos的9号功能显示字符窜实现。通过判断cx寄存器中的数制来控制显示的提示语句。
此部分程序是先将输入的数据的ascii转换成实际的数值,再利用迭代法,循环乘以数据的进制,来实现将指定进制的数据转换成机器的二进制数据的目的。
此部分设计是利用除以数制取余的方法,将机器的二进制数据除以数制余数放在堆栈中,再将得到的商继续除以数制,这样一直循环到商为0时结束,输出则只将堆栈中的数一次取出,转换成相应的ascii显示即可。
data segment
mess1 db 'input system:',
mess2 db 'input number:',
mess3 db 'input system on display:',
mess4 db 'result:',
mess5 db 'exit? y/n:',
data ends
code segment
main proc far
assume ds:data,cs:code
start:
mov ax,data
mov ds,ax
again:
mov cx,1
call tishi
mov si,10
call shiru
mov si,bx
call crlf
mov cx,2
call tishi
call shiru
mov ax,bx
push ax
call crlf
mov cx,3
call tishi
mov si,10
call shiru
mov si,bx
pop ax
call change
call crlf
mov ah,09
lea dx,mess5
int 21h
mov ah,1
int 21h
cmp al,79h
je exit1
call crlf
jmp again
exit1:
mov ah,4ch
int 21h
main endp
ti****ishi proc near
push dx
push ax
cmp cx,2
jnb tishi2
mov ah,09
mov dx,seg mess1
mov ds,dx
lea dx,mess1
int 21h
jmp exit2
tishi2:
cmp cx,2
ja tishi3
mov ah,09
mov dx,seg mess2
mov ds,dx
lea dx,mess2
int 21h
jmp exit2
tishi3:
mov ah,09
mov dx,seg mess3
mov ds,dx
lea dx,mess3
int 21h
exit2:
pop ax
pop dx
rettishi endp
to 2---
shiru proc near
push ax
mov bx,0
newchar:
mov ah,1
int 21h
sub al,30h
jl exit3
cmp al,10d
jl next
sub al,27h
cmp al,0ah
jl exit3
cmp al,1ah
jge exit3
next:cbw
xchg ax,bx
mov cx,si
mul cx
xchg ax,bx
add bx,ax
jmp newchar
exit3:
pop ax
retshiru endp
---change and show---
change proc near
xor cx , cx
next1:mov dx , 0
div si
push dx
inc cx
cmp ax , 0
jnz next1
call crlf
mov ah,09
mov dx,seg mess4
mov ds,dx
lea dx,mess4
int 21h
outp:pop dx
add dl , 30h
cmp dl,3ah
jl print
add dl,7h
print:
mov ah , 2
int 21h
loop outp
retchange endp
enter---
crlf proc far
mov dl,0dh
mov ah,2
int 21h
mov dl,0ah
mov ah,2
int 21h
retcrlf endp
code ends
end start
程序调试主要使用宏汇编程序连接程序调试程序完成主程序及子程序的设计。程序执行结果如图6-1
图6-1程序执行结果截图。
软件主要任务是完成制定进制数据转换。此程序设计采用了dos功能的输入及显示功能,子程序调用的方法。通过这次试验,我把这学期的程序和语句加以巩固,对这部分知识有了更好的了解。
汇编课程设计
直流电机调速系统设计。摘要。脉宽调制的全称为 pulse widthmodulator 简称pwm 直流电机调速器就是调节直流电动机速度的设备,由于直流电动机具有低转速大力矩的特点,是交流电动机无法取代的,因此调节直流电动机速度的设备 直流调速器,由于它的特殊性能 常被用于直流负载回路中 灯具调光或...
汇编课程设计
湖南农业大学课程设计报告。学院 信息科学与技术学院班级 计算机科学与技术2班 姓名 陈小湾学号 200841842226 课程设计报告题目 时钟显示程序。课程名称 微机原理与接 术。评阅成绩 评阅意见 成绩评定教师签名 日期 年月日。第一部分 任务与要求。利用芯片8253和8259a完成时钟显示程序...
汇编课程设计
汇编语言课程临近结束时,将利用实验课和理论课最后阶段时间 大约14周开始,具体安排听通知 让同学们进行题目的答辩。分组 每5到6人一组,推选出组长。每组同学选一组题目,且任两组同学不得选重复组的题目,两班同学不要选相同组题目。请班长在第三周周一前将分组及选题的汇总excel电子版发到我邮箱。选第一组...