汇编课程设计

发布 2022-10-01 07:12:28 阅读 1462

《汇编语言》课程设计报告。

题目数值的数制转换。

院 (系): 计算机与信息工程学院

班级。姓名。

学号。指导教师。

在这个程序中,首先以十进制方式输入你所转换数据的数制,放入寄存器中,再输入你所要转换的数据,通过你输入的数制及该数制下数据,将数据转换成二进制的数,存放在计数器中,最后输入将数据转换后的数制,屏幕上就会显示出转后的数据。

软件设计部分主要由三大部分构成:即提示语部分、输入转换部分和转换输出部分。其中提示语部分主要是提示操作者要输入的项目,输入转换部分主要是将操作者输入的数据进行转换并存入寄存器中,转换输出部分主要是将前一步存入寄存器中的数据进行数制转换并加以显示。

程序设计目标:

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电子版发到我邮箱。选第一组...