当前位置:文档之家› 汇编大作业

汇编大作业

汇编大作业
汇编大作业

汇编语言课程设计

课题名称:学生成绩管理系统

小组成员:

班级:

指导教师:

日期:2014.06.18

一、选题目的:

熟悉汇编语言程序设计的实验环境,主要是熟悉汇编程序的基本结构,编译、连接和调试等基本操作。利用该题目进行汇编语言程序设计运用的综合性训练,综合运用汇编语言循环程序和子程序编程方法,巩固以及提高汇编语言程序设计能力运用水平,为后续的开发和实验工作打好基础。

二、功能设计:

编制一个程序,要求接收从键盘收入的一个班的学生成绩,并存放于50字节的GRADE数组中,其中GRADE+N保存学号N+1的学生成绩,然后根据GRADE得学生成绩,把学生名次填入50自己的RANK数组中,其中RANK+N的内容是学号N+1学生的名次,在按学号把学生顺序学生名次显示出来。

三、算法流程图:

四、运行结果:

从键盘输入三个学生的姓名和成绩,按学生成绩升序排序,并显示出排序结果

五、程序源代码:

data segment

infor0 db 0ah,0dh,'sort=$'

infor1 db 0ah,0dh,'input name:$'

infor2 db 0ah,0dh,'input score:$'

n equ 8 姓名长度

m equ 4 成绩长度(3位+回车符)

p equ 3 输入的人数

q equ 3 成绩的位数

buff1 db n,?,n dup(0),'$' 姓名缓冲区,加$字符以便输入时用 buff2 db m,?,m dup(0),'$' 成绩缓冲区

sname db p dup(n+1 dup(0)) 保存姓名

score1 dw p dup(m+1 dup(0)) 保存成绩

score2 dw p dup(m+1 dup(0))

mingci db p dup(0) 名次

x dw ?

sign1 dw 0

sign2 dw 0

cont db '1' 计数

data ends

code segment

assume cs:code, ds:data

main proc far

start:

mov ax,data

mov ds,ax

mov es,ax

mov bx,0

mov cx,0

call input

call sort

call print

mov ah,4ch

int 21h

main endp

input proc

inc bx 输入次数统计

cmp bx,p 输入次数>p?

ja exit

lea dx,infor1 显示提示2

mov ah,9

int 21h

lea dx,buff1 输入姓名

mov ah,10

int 21h

mov al,buff1+1 实际输入个数——a1

add al,2 +2.包含bufferl的0、1号单元

mov ah,0

mov si,ax 回车0d所在位置,跟在最后一个字符后 mov buff1[si],0 将0d换为0,便于输出显示

lea dx,infor2 显示提示2

mov ah,9

int 21h

lea dx,buff2 输入成绩

mov ah,10

int 21h

mov al,buff2+1 实际输入个数

add al,2 个数+2,包含0、1单元,为找到0d mov ah,0

mov si,ax

mov buff2[si],0 将0d换为0,便于输出显示

mov mingci[bx-1],bl bx为输入次数,保存输入的次序 cmp bx,1 第一次输入转let1

jz let1

add sign1,n+1 姓名间隔为n+1

add sign2,q 成绩间隔为q

let1: 子程序嵌套

call copy

jmp input

exit:

ret

input endp

copy proc

mov cx,n+1 姓名长度+3(包含$)

lea si,buff1+2

lea di,sname 姓名传递到sname

add di,sign1 加上间隔值

cld

rep movsb

mov cx,n

mov ax,'$' 用$覆盖姓名区,清除已输入的姓名 lea si,buff2+2

lea di,score1 成绩传递到score1

add di,sign2 加上间隔符

cld

rep movsb

lea si,buff2+2

mov di,sign2

call change 二进制成绩score2

ret

copy endp

change proc

mov x,0

mov cx,[si-1] 成绩的位数cx

mov cx,000fh 保留低四位

rept2:

mov al,[si] 按位取出成绩

cmp al,30h 是否在0、9之间

jl exit1

cmp al,39h

jg exit1

and ax,000fh

xchg ax,x

mov dx,10 将ax中前一次形成的书扩大十倍 mul dx 保存到x

add x,ax

inc si

loop rept2

mov ax,x 按十进制形成的成绩以二进制保存 mov score2[di],ax 二进制成绩送入score2

mov x,0

add sign2,2 下一个成绩单元

exit1:ret

change endp

sort proc

mov cx,p 数组长度

dec cx

loop1:push cx 保存外循环次数

mov bx,0

嵌入式系统设计大作业

嵌入式系统设计大作业 学号:14020520009 姓名:罗翔 1、叙述JTAG接口在嵌入式开发中的作用。 答: (1)用于烧写FLASH 烧写FLASH的软件有很多种包括jatg.exe fluted flashpgm等等,但是所有这些软件都是通过jtag接口来烧写flash的,由于pc机上是没有jtag接口的,所以利用并口来传递信息给目标板的jtag接口。所以就需要并口转jtag接口的电路。 (2)用于调试程序 同时应该注意到jtag接口还可以用来调试程序。而调试程序(如ARM开发组件中的AXD)为了通过jtag接口去调试目标板上的程序,同样是使用pc的并口转jtag接口来实现与目标板的通信。这样,并口转jtag接口的电路就有了两种作用。 (3)仿真器 根据(1)和(2)的总结,并口转jtag接口的电路是两种应用的关键,而这种电路在嵌入式开发中就叫仿真器。并口转jtag接口的电路有很多种,有简单有复杂的,常见的仿真器有Wigger,EasyJTAG,Multi-ICE等。这些所谓的仿真器的内部电路都是并口转jtag接口,区别只是电路不同或使用的技术不同而已。 2、叙述嵌入式平台的搭建过程,以linux为例。 答: 1) 一:建立宿主机开发环境 建立交叉编译的环境即在宿主机上安装与开发板相应的编译器及库函数,以便能够在宿主机上应用开发工具编译在目标板上运行的Linux引导程序,内核,文件系统和应用程序 交叉编译:在特殊的环境下,把嵌入式程序代码编译成不同的CPU所对应的机器代码。

开发时使用宿主机上的交叉编译,汇编及链接工具形成可执行的二进制代码(该代码只能在开发板上执行),然后下载到开发板上运行 2) 下载和安装arm-Linux-gcc编译工具链下载最新的arm-Linux-gcc并解压至当前目录下 在系统配置文件profile中设置环境变量方法:直接在profile文件中加入搜索路径立即使新的环境变量生效:运行source命令,检查是否将路径加入到path,测试是否安装成功, 编译程序,测试交叉工具链 3) 配置超级终端minicom minicom是宿主机与目标板进行通信的终端:在宿主机Linux终端中输入:minicom-s或输入minicom然后按ctrl+A+O对超级终端minicom进行配置,再选择串口并配置串口,最后保存即可 4) 建立数据共享服务:NFS服务是Linux系统中经常使用的数据文件共享服务 5) 编译嵌入式系统内核:内核配置,建立依存关系,建立内核 6) 制作文件系统 3、给出现今有哪些用于嵌入式开发的芯片名称,他们分别是哪些公司的产品? 体系结构是什么? S3C2410X基于ARM的Sumsang; XscalePXA255/PXA270基于ARM的Intel; 摩托罗拉MC基于68k; Power 601基于Power PC; MIPS32Kc基于MIPS 4、现今较流行的嵌入式操作系统有哪些? 答: (1) VxWorks (2)wince (3)linux (4)android

汇编语言大作业

辽宁师范大学计算机与信息技术学院综合性实验报告 课程名称:汇编语言 实验题目:菜单程序设计 学生姓名:孙蕾 专业:计算机科学与技术 学号:20101118050005 实验日期: 2012.5.10 实验成绩:

一、实验目的 设计菜单程序,实现各种功能,设计分支程序,重键盘输入字符。二、实验内容 (1)参考示例5-8设计菜单程序,包含示例5-2、示例5-3及退出三个菜单项。将示例5-2改为从键盘输入X;示例5-3增加显示功能,显示出统计个数。(P120、P101、P106) (2)选作:参考P213第9章示例9-3,在屏幕上清屏、开窗口,将菜单程序带颜色地显示在窗口中。提示:可利用P223宏库9-4.mac中的功能。 三、实验过程(含结果抓图) 1.输入程序代码 data segment x dw ? y dw ? cc db 0ah,0dh,'Y=$' mess0 db 0ah,0dh,0dh,'****************MENU******************' db 0ah,0dh, '*1. calculate Y=5X-18: *' db 0ah,0dh, '*2. count the numbers of a string: *' db 0ah,0dh, '*3. exit *' db 0ah,0dh, '*^^ please select... *' db 0ah,0dh, '**************************************' db 0ah,0dh,' $' mess1 db 0ah,0dh,0dh,'please input a string :$' c db 0ah,0dh,0dh,'please input a number :$' mess2 db 0ah,0dh,'numb:$' mess3 db 0ah,0dh,'capi:$' mess4 db 0ah,0dh,'lett:$' mess5 db 0ah,0dh,0dh,'thank you for using!!$' numb db 10 dup(?) capi db 10 dup(?) lett db 10 dup(?) data ends code segment assume cs:code,ds:data start: mov ax,data mov ds,ax let0:mov dx,offset mess0 mov ah,9 int 21h

汇编语言课后习题答案

2.1已知DS=2000H、BX=0100H、SI=0002H,存储单元[20100H]~[20103H]依次存放12345678H,[21200H]~[21203H]依次存放2A4C B765H,说明下列每条指令执行完后AX寄存器的内容。 (1)mov ax,1200h (2)mov ax,bx (3)mov ax,[1200h] (4)mov ax,[bx] (5)mov ax,[bx+1100h] (6)mov ax,[bx+si] (7)mov ax,[bx][si+1100h] 〔解答〕 (1)AX=1200H (2)AX=0100H (3)AX=4C2AH;偏移地址=bx=0100h (4)AX=3412H;偏移地址=bx=0100h (5)AX=4C2AH;偏移地址=bx+1100h=1200h (6)AX=7856H;偏移地址=bx+si=0100h+0002h=0102h (7)AX=65B7H;偏移地址=bx+si+1100h=0100h+0002h+1100h=1202h 〔习题2.2〕指出下列指令的错误 (1)mov cx,dl (2)mov ip,ax (3)mov es,1234h (4)mov es,ds (5)mov al,300 (6)mov[sp],ax (7)mov ax,bx+di

(8)mov20h,ah 〔解答〕 (1)两操作数类型不匹配 (2)IP指令指针禁止用户访问 (3)立即数不允许传给段寄存器 (4)段寄存器之间不允许传送 (5)两操作数类型不匹配 (6)目的操作数应为[SI] (7)源操作数应为[BX+DI] (8)立即数不能作目的操作数 〔习题2.5〕已知SS=2200H、SP=00B0H,画图说明执行下面指令序列时,堆栈区和SP的内容如何变化?mov ax,8057h push ax mov ax,0f79h push ax pop bx pop[bx] 〔解答〕 mov ax,8057h push ax mov ax,0f79h push ax pop bx;bx=0f79h pop[bx];DS:[0f79h]=8057h

计算机接口技术大作业

计算机中断技术大作业题目深入理解中断系统

目录 一:什么是中断 (2) 中断的定义 (2) 中断技术差生的原因 (3) 中断技术差生的优点 (5) 中断技术差生的缺点 (7) 二:基本概念 (8) 中断源 (8) 我们把引起中断的原因,或者能够发出中断请求信号的来源统称为中断源。在上面看书的例子中,打断你看书的时间就是中断源(电话响了)。 (8) 中断嵌套 (8) 中断级联 (9) 图 (10) 软中断,硬中断 (10) NMI(不可屏蔽中断)&可屏蔽中断 (11) 中断请求号&中断向量 (11) 中断响应INTA&中断周期 (11) 中断响应INTA:当8259A接收到第一个/INTA有效的负脉冲后,将被响应的中断源置入ISR(正在服务寄存器)的对应位,即ISR对应位置1,同时把IRR(中断请求寄存器)的对应位清0; (11) 单步中断&IF中断允许标志位 (12) IMR中断屏蔽字&中断优先级 (12) 中断控制器&APIC (12) 中断共享&中断冲突 (12) MSI-X中断(PCI E)、中断处理子程序 (13) 0号中断、1号中断 (13) 中断描述符、中断描述符表 (13) 异常 (13) 中断门、OS的事件、消息 (14) 三:中断资源相关 (14) 我的电脑中断相关资源占用情况 (14) ISA中断 (18) PCI中断 (22)

IRQ0-15中断请求外的 (22) 四:中断系统 (22) 中断系统怎样协调完成中断过程 (23) 五:多处理器系统的中断 (24) 怎么连接 (24) 如何处理 (25) 六:硬件、软件是怎么配合完成中断处理的 (25) 七:编写8251查询发送、中断接收的自检程序 (27) 摘要 学习计算机组成原理和计算机接口技术之中,“中断”是一个必须要学习的美容,计算机之所以能够“智能”的运行起来使得其更容易被人使用很重要的一点就是有了中断技术。因为中断计算机从一个只靠计算速度和存储量来来博得人们喜爱的机器变成了一个用户有好的聪明的机器。 本文将从几个问题入手来来逐一介绍计算机中断技术和中断系统。 一:什么是中断 中断的定义 在计算机科学中,中断是指由于接收到来自外围硬件(相对于中央处理器和内存)的异步信号或来自软件的同步信号,而进行相应的硬件/软件处理。发出这样的信号称为进行中断请求(interrupt request,IRQ)。硬件中断导致处理器通过一个上下文切换(context switch)来保存执行状态(以程序计数器和程序状态字等寄存器信息为主);软件中断则通常作为CPU指令集中的一个指令,以可编程的方式直接指示这种上下文切换,并将处理导向一段中断处理代码。中断在计算机多任务处理,尤其是实时系统中尤为有用。这样的系统,包括运行于其上的操作系统,也被称为“中断驱动的”(interrupt-driven)。 上面是来自维基百科对中断定义。 个人认为中断就是计算机在执行程序的过程中,当出现异常情况或者是特殊请求时,计算机停止执行现行程序的运行,转向对这些异常情况或特殊请求的处理,处理后再返回到现行程序的间断处,继续执行原程序,这就是中断。

汇编语言习题

汇编语言习题 一、单项选择题 1. 汇编语言源程序中,每个语句由四项组成,如语句要完成一定功能,那么该语句中不可省略的项是( )。 A、名字项 B、操作项 C、操作数项 D、注释项 2. 在汇编语言程序中,对END语句的叙述正确的是()。 A、是一可执行语句 B、表示程序执行到此结束 C、表示源程序到此结束 D、在汇编后要产生机器码 3. 汇编语言源程序中,每个语句可由四项组成,其中名字项是一个符号,下面列出的有效名字是() A、Variable B、First & ld C、0FFFFH D、'Memphis' 4.用一条指令仅实现将BX+SI=>AX的方法是() A、XCHG AX,[BX][SI] B、MOV AX,[BX+SI] C、LEA AX,BX[SI] D、LEA AX,[BX][SI] 5.设 SP初值为2000H,执行指令"PUSH AX"后,SP的值是() A、1FFFH B、1998H C、2002H D、1FFEH 6.条件转移指令JC产生程序转移的条件是() A、CF=1 B、CF=0 C、CF=1和ZF=1 D、CF=1和ZF=0 7.选用串操作指令时,错误的操作是() A、置方向标志位 B、根据串操作指令设置重复次数并送入CX C、设置源操作数及目的操作数指针 D、源操作数和目的操作数都可以加段超越 8.设AL=20H,SI=0500H,DS=3000H,(30500H)=0C0H,CF=1。执行SBB AL,[SI]后,正确的结果是() A、AL=5FH SF=1 CF=1 B、AL=60H SF=1 CF=0 C、AL=5FH SF=0 CF=1 D、AL=60H SF=0 CF=0 9.设AX=1000H,执行NOT AX指令后,正确的结果是() A、AX=1001H B、AX=0EFFH C、AX=1000H D、AX=0111H 10. 设DS=8225H,DI=3942H,指令NEG BYTE PTR[DI]操作数的物理地址是( ) A、85B92H B、86192H C、BB690H D、12169H 11. 可用作寄存器间接寻址或基址、变址寻址的地址寄存器,正确的是() A、AX,BX,CX,DX B、DS,ES,CS,SS C、SP,BP,IP,BX D、SI,DI,BP,BX 12. 循环指令LOOPNZ终止循环的条件是( )。 A、CX=0,且ZF=0 B、CX=0,或ZF=1 C、CX10,且ZF=0 D、CX10,或ZF=1 13. 设AH=0,AL=06H,BL=09H,执行指令 ADD AL,BL AAA 之后,其结果应是()。 A、 AH=01,AL=05 B、 AH=1 AL=15 C、 AH=0 AL=0FH D、 AH=0 AL=05 14. 下面的数据传送指令中,错误的操作是()。 A、 MOV SS:[BX+DI],1000H B、 MOV DX,1000H C、 MOV WORD PTR[BX],1000H D、 MOV DS,2000H 15.DA1 EQU BYTE PTR DA2 DA2 DW 0ABCDH ┇ SHL DA1,1 SHR DA2,1

dsp大作业

一、简答题:(要求:手写,须写出各题必要的知识点,本大题共30分,每小题5分。) 1、可编程DSP芯片有那九大特点? 2、TMS320C54x芯片的流水线操作共有多少个操作阶段,每个阶段执行什么任务,完成一条指令需要那些操作周期? 3、DSP系统硬件设计过程都有那些步骤?

4、TMS320C54x的数据寻址方式各有什么特点,应该应用在什么场合场所? 5、链接器能完成什么工作?链接器命令文件中,MEMORY命令和SECTION命令的任务是什么? 6、什么是“自举”? 二、分析题:(要求:手写,结果需要有一定的分析计算过程,本大题共55分,每小题5分。)

1、已知:(80H)= 20H,(81H)= 30H。 LD #0, DP LD 80H, 16,B ADD 81H, B 运行以上程序后,DP、B分别等于多少? 2、回答标准串行口数据的发送和接收过程。 3、已知:A = FFFD876624, T = 0000,则运行EXP A指令后,A和T各为多少? 4、已知:B = 420D0D0D0D, T = FFF9,则运行NORM B指令后,B和T各为多少? 5、在不含循环的程序中,RPTZ #9语句和其前一句、后一句以及后第二句各运行几次? 6、说明语句: STM #0080H, IMR的功能?

7、已知中断向量TINT = 014H,中断向量地址指针IPTR = 0111H,求中断向量地址是多少? 8、已知(30H)=50H,AR2=40H,AR3=60H,AR4=80H MVKD 30H, *AR2 MVDD *AR2, *AR3 MVDM *AR3, *AR4 运行以上程序后,(30H),(40H)、*AR3,AR4的值分别是多少? 9、在堆栈操作中,PC当前地址为4020h,SP当前地址为0013h,运行PSHM AR7后,PC和SP的值分别是多少? 10、请仔细分析下列程序代码,并说明每句程序代码的作用。 sample.out -m sample.map -stack 100 sample.obj meminit.obj -l rts.lib MEMORY { PAGE 0: VECT: origin = 0xff80, length 0x80 PAGE 0: PROG: origin = 0x2000, length 0x400 PAGE 1: DATA: origin = 0x800, length 0x400 } SECTIONS {

《汇编语言》在线作业二

请同学及时保存作业,如您在20分钟内不作操作,系统将自动退出。 《汇编语言》在线作业二 一、单选题(共 20 道试题,共 100 分。) V 1. 在多重循环程序中,每次通过外层循环进入内层循环时,其内层循环的初始条件(B )。 A. 不必考虑 B. 必须重新设置 C. 必须置1 D. 须清0 满分:5 分 2. 伪指令是(C)规定的汇编说明符,它在源程序汇编时进行说明。 A. DEBUG B. LINK C. MASM D. EDIT 满分:5 分 3. 下列描述正确的是(D)。 A. 在多重循环程序中,内层循环只能有一个 B. 在汇编语言程序设计中,二重循环程序之间的关系可以交错 C. 在汇编语言程序设计中,每次循环应返回到置初值部分之前 D. 在汇编语言程序设计中,每次循环应返回到置初值部分之后 满分:5 分 4. 下列指令会影响标志位的指令是(D)。 A. JMP L

B. JC L C. MOV AL,L D. SHL AL,1 满分:5 分 5. LINK命令执行后可以生成一个以(B)为扩展名的文件。 A. ASM B. EXE C. OBJ D. COM 满分:5 分 6. 如果0100H单元存放条件转移指令的操作码,0101H单元存放条件转移指令的相对位移量 13H,那么转移后的指令的偏移地址为(C)。 A. 0102H B. 0113H C. 0115H D. 00FEH 满分:5 分 7. 若DS=1000H,BX=2000H,(12000H)=56H,(12001H)=78H,AX=1000H,执行“ADD AX,[BX]”指令后,AX=(A)。 A. 8856H B. 6678H C. 8800H D. 6600H 满分:5 分 8. 下列叙述正确的是(A )。 A. 执行一条段间调用指令,先将CS、IP的内容压栈,然后将目的地址送CS和IP。 B. 执行一条段间调用指令,先将目的地址送CS和IP,然后将CS、IP的内容压栈。

MCS-51微机接口大作业

《微机接口技术》 大作业 作业要求: 设计一外部设备监控系统,采用CPU为51系列单片机,用C51或ASM51编写软件,给出SCH原理图和软件清单(要求有功能注释),系统要求如下: ①系统带有电子时钟,2路模拟量和8路数字量的检测; ②4个按键,分别为设置、+、-、->可以可以完成相应的设置过程(包括时间设置和外部监控值的上下限设置); ③采用I2C 8583时钟芯片(可以查相关资料); ④8个8段LED显示(可以采用SPI总线芯片7219)以辅助完成设置,显示内容:时-分-秒;

⑤8个按键分别可以模拟外部8个故障点; ⑥2路电位器可以模拟外部模拟信号; ⑦EEPROM(I2C总线芯片24c256)保存最近100个外部故障数据(包含故障点和故障时间); ⑧RS485上位机接口。 系统软件完成的功能: ①上电时电子钟方式显示当前时间; ②设置按键进入设置状态,可以重新设置新时间值和外部监控值的上下限,结果写入8583。设置完成后电子钟方式显示当前时间; ③实时监测外部8个数字故障点和模拟数字,一旦故障记录其故障数据、故障发生时间和恢复时间; ④上位机传来命令字0xaa向上位机发送所保存的外部故障数据,发送完成后清除保存数据。(自定义通讯协议)。

一、元器件选择 芯片名称型号接口类型线数其它AD转换芯片TLC1549 SPI 3 2块共阴极数码管显示驱动器MAX7219 SPI 3 时钟芯片PCF8583 I2C 2 EPROM 24WC256 I2C 2 串口RS485 MAX487E 3 二、MCS-51单片机引脚连接 单片机I/O 引脚 外部器件连接及功用 器件名称引脚代号功用 P0^0 SW1 按钮1,模拟外部故障点1 P0^1 SW2 按钮2,模拟外部故障点2 P0^2 SW3 按钮3,模拟外部故障点3 P0^3 SW4 按钮4,模拟外部故障点4 P0^4 SW5 按钮5,模拟外部故障点5 P0^5 SW6 按钮6,模拟外部故障点6 P0^6 SW7 按钮7,模拟外部故障点7 P0^7 SW8 按钮8,模拟外部故障点8 P1^0 MAX7219 DIN 数码管显示串行数据输入端 P1^1 MAX7219 LOAD 数码管显示数据锁存端 P1^2 MAX7219 CLK 数码管显示时钟输入端 P1^3 --- --- --- P1^4 SPI/TLC1549 CS 模拟SPI片选信号 P1^5 SP I/TLC1549 DA TA OUT 模拟SPI数据传送位 P1^6 SP I/TLC1549 CLK 模拟SPI时钟控制位 P1^7 --- --- --- P2^0 --- --- --- P2^1 SW9 按钮9,系统参数“设置”键 P2^2 SW10 按钮10,系统参数增加“+”键 P2^3 SW11 按钮11,系统参数减小“-”键 P2^4 SW12 按钮12,系统参数项目选择“->”键P2^5 --- --- --- P2^6 MAX487E DE 485串口通信 P2^7 MAX487E RE 485串口通信 P3^0/RXD MAX487E RXD 485串口通信 P3^1/TXD MAX487E TXD 485串口通信 P3^2/INT0 PCF8583 INT P3^3/INT1 --- --- --- P3^4/T0 --- --- --- P3^5/T1 --- --- --- P3^6/WR I2C总线SCL 模拟I2C时钟控制位 P3^7/RD I2C总线SDA 模拟I2C数据传送位

单片机补充作业

5-40 以中断方式,用汇编语言编写定时器T0方式0,1,2下,定时1ms 的程序。设系统focs = 12MHz 。 解1:方式0 确定装入T0的常数。机器周期为: 设所需初值为x ,则 =1C18H = 1 1100 0001 1000B 根据13位定时器的特性,TH0放x 的高8位,TL0放低5位,我们将x 值重排如下:x = 1110 0000 1 1000,即得本任务的时间常数为:TH0 = E0H ,TL0 = 18H 。 ORG 0000H AJMP MAIN ORG 000BH LJMP TIME0INT ORG 0050H MAIN : MOV SP ,#60H MOV TMOD ,#00H MOV TL0,#18H MOV TH0,#0E0H SETB ET0 ;允许T0中断 SETB EA ;开放总中断 SETB TR0 ;启动T1定时 SJMP $ TIME0INT : CLR T R0 ;禁止T0 CLR E T0 RETI ;中断返回 END ORG 0000H AJMP MAIN ORG 000BH LJMP TIME0INT ORG 0050H MAIN : MOV SP ,#60H MOV TMOD ,#01H MOV TL0,#18H MOV TH0,#0F0H SETB ET0 ;允许T0中断 SETB EA ;开放总中断 SETB TR0 ;启动T1定时 SJMP $ TIME0INT : CLR TR0 ;禁止T0 CLR ET0 s MHz μ 112)(12=分频3 613101101)2(--?=??-x 7192102313=-=x

汇编语言程序设计期末大作业。

汇编语言程序设计期末大作业: 编写一完整的汇编语言源程序,实现从键盘输入一个班(不少于10人)的学生记录(学号: 8位数字、姓名:不多余10个英文字符,语文:0-100的整数、数学:0-100的整数、英语:0-100的整 数)后, (1)将输入的记录保存在C盘根目录下名为stuscore.dat的文件中; (2)按照各科成绩总分先高后低的顺序输出全部学生记录和排名顺序; (3)输出总分高于班平均总分的全部学生记录。 要求:元月4日前提交一份纸质报告(班长统一收齐)。 大作业格式: 1.标题:汇编语言程序设计期末大作业 2.作业题目:(上述) 3.算法分析(流程图) 4.实现代码(必须含注释) 5.实验结果(汇编、连接、运行的截图) 6.总结 代码实现 stude nt struct ; 定义结构 Snu mber db 11,0,11 dup⑺ Sn ame db 11,0,11 dup⑺ En glish db 4,0, 4 dup⑺ Chinese db 4,0, 4 dup⑺ Math db 4,0, 4 dup⑺ Sum db 4,0, 4 dup⑺ stude nt ends ;数据段 data segme nt messMe nu db ' ------------ The Homework of Assembler ------------ ----$' messMe nu1 db ' ------- N ame:TU LIN No:8000110028------ ------ $' messNext db --------- $' messName db 'Please in put the stude nt n ame(<11):$' messNum db 'Please in put the stude nt nu mber(<11):$' messE nglish db 'Please in put the En glish score:$' messChi nese db 'Please in put the Chin ese score:$' messMath db 'Please in put the Math score:$' mess1 db 'n ame:$' mess2 db 'nu mber:$'

机电接口技术大作业

40T相位摩擦焊控制系统设计 一、绪论 1.1 相位摩擦焊简介 摩擦焊接作为一种金属固相热压焊,利用摩擦发热的原理,让两个焊件的结合面做高速的相对运动,同时对焊接的工件施加载荷。通过械摩擦运动在材料的焊接表面之间产生足够热量,使接合面的材料达到热塑性状态。然后在快速顶锻力的作用下,通过材料的塑性变形和扩散过程形成焊接接头。 摩擦焊接技术可应用于不同金属材料之间(如铜和铝、钛和铜、铝和钢等)的焊接,使其能够完成普通焊接方法无法达到的特殊工程任务要求。摩擦焊接具有焊缝小、高效、节能等优点(高质量的摩擦焊接强度大,甚至优于材料本身的强度,焊接的速度通常是普通焊接的数倍),同时不需要助焊剂和保护气体,不易产生对人体有害的烟尘和强光。摩擦焊的质量与焊接过程中工件相对转速、施加载荷大小、接合面摩擦时间、顶端压力及其形变量等工艺有密切联系。 1.2摩擦焊的突出特点及广泛应用前景 摩擦焊新技术具有一系列突出优点: (1) 焊接质量高、稳定可靠、焊件尺寸精度高。 (2) 耗能低,节能效果显著。 (3) 节约原材料。通常摩擦焊比靠电能转化为热能的普通焊接节省原材料1% 2以上。 (4) 摩擦焊新技术有4个不用的优点(不用焊条、不用焊丝、不用焊药、不用保护气体)。 (5) 生产效率高,便于实现自动化,可比普通的电弧焊生产率提高6一20倍;比电阻焊或闪光焊提高5倍。 (6) 具有广泛的可焊性。如能使金属与塑料、陶瓷等非金属材料完成焊接。 (7) 改善劳动条件。

由于摩擦焊是一种高质量、高效率、无毒无害的自动化的焊接方法,具有上述的突出优点,并且技术经济效果显著,因而在国内外得到了广泛应用。 1.3 相位摩擦焊工作原理 针对有相位配合要求的工件焊接,一般的摩擦焊不能保证焊接面角度的对准,所以需要采用相位摩擦焊接的方法。摩擦焊接按时间顺序可大致分为四个阶段:1.将移动端工件靠近旋转端工件;2.在相对较低的轴向压力下,使两个焊接组件接触并保持一定的时间。此阶段主要用于清理焊接端面,并使接合处材料达到所需的预热状态,在第三个阶段开始之前减小摩擦系数。3.加大轴向压力并维持一定时间,使得摩擦产热加剧,焊接处材料在高热条件下逐渐达到热塑性状态后,尽快停止主轴转动。4.加压顶锻,同样保持一定时间,完成摩擦焊接。

汇编语言部分作业题(含答案)

一、填空题 1、编写一条宏指令CLRB,完成用空格符将一字符区中的字符取代的工作。字符区首地址及其长度为变元。 宏定义如下: CLRB MACRO N, CFIL MOV CX, () CLD MOV ( ), ' ' ;;取空格符的ASCII码 () DI, CFIL REP ( ) ( ) 正确答案: 第一空: n 第二空: al 第三空: LEA 第四空: STOSB 第五空: endm 我的答案:得分: 6.6分 第一空: N 第二空: AL 第三空: LEA 第四空: STOSB 第五空: ENDM 2、某工厂计算周工资的方法是每小时的工资率RATE乘以工作时间HOUR,另外每工作满10小时加奖金3元,工资总数存放在WAG中。请将周工资的计算编写成一条宏指令WAGES. 宏定义如下: WAGES MACRO RATE, HOUR, WAG MOV (), HOUR ;;计算周工资(WAG),公式为:HOUR* RATE MOV BL, RATE MUL BL MOV WAG, AX MOV AL, HOUR ;;计算奖金存入(AX),公式为:HOUR/10的商*3 MOV AH, 0

MOV BL, 10 DIV () MOV BL, () MUL () ADD WAG, ();;计算周工资总数 ENDM 正确答案: 第一空: al 第二空: bl 第三空: 3 第四空: BL 第五空: AX 我的答案:得分: 6.6分 第一空: AL 第二空: BL 第三空: 3 第四空: BL 第五空: AX 3、下面的程序段是二进制到十六进制转换程序,请填空。 mov ch, 4 rotate: mov cl, 4 rol bx,() mov al, bl and al,() add al, 30h ; ’0’~’9’ ASCII 30H~39H cmp al, 3ah jl printit add al,() ; ’A’~’F’ ASCII 41H~46H printit: mov() , al mov ah, 2 int 21h () jnz rotate 正确答案: 第一空:

微机原理程序设计大作业-2011

微机原理与程序设计大作业 ----汇编语言程序设计方法 1. 试编写一个程序,要求能从键盘接收一个个位数N,然后响铃N次(响铃的ASCⅡ码为07)。 2. 从键盘输入一系列以$为结束符的字符串,然后对其中的非数字字符计数,并将计数值显示在屏幕上。 3. 试编写一个程序,要求比较数组ARRAY中的三个16位补码数,并根据比较结果在屏幕上显示如下信息: (1) 如果三个数都不相等则显示0; (2) 如果三个数有二个相等则显示1; (3) 如果三个数都相等则显示2。 4. 从键盘输入一系列字符(以回车符结束),并按字母、数字及其它字符分类计数,最后显示出这三类计数结果。 5. 假设已经编制好5个歌曲程序,它们的段地址和偏移地址存放在数据段的跳转表SINGLIST中,试编制程序,根据从键盘输入的歌曲编号1~5,转去执行五个歌曲程序中的一个。 6. 试编制一个程序,把AX中存放的16进制数转换为ASCII码,并将对应的ASCII码依次存放在MEM数组中的四个字节中。例如:当(AX)= 2A49H时,程序执行完后,MEM中的四个字节的内容为39H,34H,41H,32H。 7. 设有10个学生的成绩分别是76,69,84,90,73,88,89,63,100,80分,试编制一个子程序统计60~69分,70~79分,80~89分,90~99分及100分的人数,放在S6,S7,S8,S9和S10单元中。 8. 编写一个子程序嵌套结构的程序模块,分别从键盘输入姓名及8个字符的电话号码,并以一定的格式显示出来。 主程序TELIST: ?显示提示符INPUT NAME:; ?调用子程序INPUT_NAME输入姓名; ?显示提示符INPUT A TELEPHONE NUMBER:; ?调用子程序INPUT_PHONE输入电话号码;

汇编语言程序设计第03次作业

汇编语言程序设计第03次作业 1、已知一数据段中的数据定义如下: DATA SEGMENT STR1 DB 0,1,2,3,4,5 STR2 DB ‘012345’ COUNT EQU 30 NUMB DB 3 DUP(2) NUMW DW 10H,-60H POIN DW 0 DATA ENDS 根据以上数据段的定义,改正下列语句中的错误。 (1) MOV AX,STR1 (2) MOV BP,OFFSET STR2 MOV CL,[BP] (3) MOV SI,OFFSET NUMB MOV [SI],’+’ (4) MOV DL,NUMW+2 (5) MOV DI,CH (6) MOV BX,OFFSET STR1 MOV DH,BX+3 (7) INC COUNT (8) MOV NUMB,STR2 (9) LEA POIN,NUMW 2、已知下列数据段定义: DATA SEGMENT NUM DW 10,20,30,40,50 BUF DW 3 DATA ENDS 执行下列程序后,AX中的值是多少? MOV AX, SEG NUM MOV DS, AX MOV BX, OFFSET NUM ADD BX, BUF MOV AX, [BX] 3、设程序中数据的定义如下: NO DW ? NAME DB 16 DUP(0) COUNT DD ? LENGTH EQU $-NO 请问LENGTH的值为多少?表示什么意义?

4、已知数据段有如下定义: FIRST DB 12H,34H SECOND DB 56H,78H 用堆栈指令编一段程序实现将FIRST和SECOND单元的内容互换,FIRST+1和SECOND+1单元的内容互换。 5、设数据段中有10个8位无符号数,定义如下(实际数据请随机设置): NUM DB 19,250,88,42,60,77,39,100,91,2 编写完整的汇编语言程序,找出这组数据中的最大数、最小数,同时计算平均值(取整),以十六进制的形式显示在屏幕上: MAX=??H MIN=??H AVG=??H 要求给出实际调试运行过的代码,打印/抄写在作业纸上。 6、编写完整的汇编语言程序,完成下述显示彩色字符串的功能: (1) 显示字符串的功能必须用宏指令实现,在主程序中调用; (2) 在0行10列显示绿色字符串Hello(属性字02H); 在12行38列显示红色字符串OK(属性字04H); 在24行60列显示黄色字符串Goodbye!(属性字0EH)。

微机接口大作业

南京航空航天大学研究生实验报告 姓名 学号 学院 专业 课程名称微机接口技术指导教师张乐年 二〇一六年八月

原理图

元器件列表 C语言程序: #include #include #include #include struct time { unsigned char second; unsigned char minute; unsigned char hour; unsigned char day; unsigned char weekday; unsigned char month; unsignedint year; } time; sbittim_sda=P1^0;

sbittim_scl=P1^1; sbitsbDIN= P3^5; //MAX7219的数据引脚sbitsbLOAD = P3^6; //MAX7219的控制引脚sbitsbCLK = P3^7; //MAX7219的时钟引脚 sbit OE = P2^3; //OE引脚 sbit EOC = P2^2; //EOC引脚定义 sbit ST = P2^1; //启动引脚定义START sbit CLK = P2^0; //时钟引脚定义CLK sbit ADDRA = P2^5; sbit ADDRB = P2^6; sbit ADDRC = P2^7; sbit button1=P1^2; sbit button2=P1^3; sbit button3=P1^4; sbit button4=P1^5; sbit jian0=P0^0; sbit jian1=P0^1; sbit jian2=P0^2; sbit jian3=P0^3; sbit jian4=P0^4; sbit jian5=P0^5; sbit jian6=P0^6; sbit jian7=P0^7; unsigned char Disp_Buffer[8]; bit tim_ack; // i2c slave ack. bit tim_err; unsigned char tim_rd_buffer[16]; unsigned char tim_wr_buffer[16]; /*****************11us延时函数*************************/ void delay11us(unsigned char t) { for (;t>0;t--); } void delay(unsigned int x) { unsignedinta,b; for(a=x;a>5;a--); for(b=10;b>0;b--);

汇编语言课后作业

《汇编语言》课后作业 第一次作业 1、编写程序,将AX寄存器中的16位数,每连续4位分成一组,共4组, 然后把这4组数分别放在AL、BL、CL和DL寄存器中。用Debug工具调试程序,查看每条指令执行后,各寄存器的变化。 第二次作业 1、编写程序求数据段中8个字节型数据的累加和。部分代码如下。 Assume cs:codesg, ds:datasg Datasg segment DB 02H,13H, 02H, 35H, 1AH, 35H, 00H, 12H DW 0H ;此字型单元用来保存累加和 Datasg ends 第三次作业 1、编写程序,将内存中03FF:0~03FF:F中的16个数据复制到内存 0000:200~0000:20F中。 2、编写程序,利用堆栈将内存中03FF:0~03FF:F中的16个数据逆序复制到 内存0000:200~0000:20F中。 第四次作业 1、编写程序,在命令行窗体中输出如下图案(红底绿字高亮闪烁)。

程序执行效果,请在DOS命令行下运行zy4.exe文件。 第五次作业 1、编写程序,将数据段中的字符串完成大小写转换。字母字符大写转换成 小写,小写转换成大写,其他字符不变。 如:datasg segment db '$BaSic!InfOrIon*' datasg ends 程序执行后,数据段中的字符串变成了’$bAsIC!iNFoRiON*’。 是有debug工具查看数据段内容如下: 1)执行转换前,数据段的内容如下图 2)执行转换后,数据段的内容如下图 选做题(该题不计入课后作业成绩) 1、编写程序,将数据段中的字型数据以10进制的形式显示。 如:data segment dw 35A6H data ends 35A6H十进制值为13734,显示为13734,如下图:

大工19秋《汇编语言程序设计》大作业题目及要求

学习中心: 专业: 年级:年春/秋季 学号: 学生: 题目: 1.谈谈你对本课程学习过程中的心得体会与建议 2.《汇编语言程序设计》课程设计,从以下5个题目中任选其一作答。 《汇编语言程序设计》课程设计 注意:从以下5个题目中任选其一作答。 总则:只能使用汇编语言进行编制,不能选用C/C++等高级语言 作业提交: 大作业上交时文件名写法为:[姓名奥鹏卡号学习中心](如:戴卫东浙江台州奥鹏学习中心[1]VIP) 以附件word文档形式上交离线作业(附件的大小限制在10M以内),选择已完成的作业(注意命名),点提交即可。如下图所示。

注意事项: 独立完成作业,不准抄袭其他人或者请人代做,如有雷同作业,成绩以零分计! 题目一:进制转换程序 要求:(1)撰写一份word文档,里面包括(算法思路、算法程序框图、主要函数代码、使用指令具体含义)章节。 (2)算法思路:比如可设计二进制转化十六进制的算法, 简单介绍该算法的基本思想,100字左右即可。 (3)算法程序框图:绘制流程图或原理图,从算法的开始 到结束的程序框图。 (4)主要函数代码:列出算法的具体代码。 (5)列出算法中使用指令的含义,比如解释MOV指令的 含义,ADD指令的含义,至少撰写十个指令。 总则:只能使用汇编语言进行编制,不能选用C/C++等高级语言! 题目二:冒泡排序算法 要求:(1)撰写一份word文档,里面包括(算法思路、算法程序框图、主要函数代码、使用指令具体含义)章节。 (2)算法思路:简单介绍冒泡排序算法的基本思想,至少 100字。 (3)算法程序框图:绘制流程图或原理图,从算法的开始 到结束的程序框图。

汇编作业集锦

汇编作业集锦 作业一: 1.在计算机内部,计算机能够直接执行的程序语言是 C 。 A.汇编语言 B。C++语言 C.机器语言 D。高级语言 2.在堆栈段中,存放栈顶地址的寄存器是 B 。 A.IP B.SP C. BX D. BP 3.指令指针寄存器IP用来存放代码段中的偏移地址。在程序运行的过程中,它始终指向 A 。 A.下一条指令的首地址B.下一条指令的地址 C.当前指令的首地址D.当前指令的地址 4.编译程序的功能是 B 。 A.检查源程序中的语法错误和逻辑错误 B.将源程序编译成目标程序 C.改正源程序中的语法错误 D.将高级语言源程序翻译成汇编语言源程序 5.用户为了解决自己的问题,用汇编语言所编写的程序,称为 B 。A.目标程序B.源程序C.可执行程序D.汇编程序 6.计算机中用来存储程序、数据等信息的记忆装置是 D 。 A.控制器 B.运算器 C.CPU D.存储器

7.在宏汇编中,源程序必须通过____汇编_______生成目标代码,然后用连接程序将其转化为可执行文件, 该文件可在系统中运行。 8 当SS =3000H,SP =0100H 时,执行 PUSH AX 指令后,堆栈顶部的物理地址 是(D ) A.30100H B.30098H C.30102H D.300FEH 9 设10000010B分别以原码、补码及反码表示时,则对应的十进制数依次是( C ) A.-82、-126、-2B.-2、-125、126 C.-2、-126、-125D.-82、-125、125 10 若寄存器AX、BX、CX、DX的内容分别为18,19,20,21时,依次执行PUSH AX,PUSH BX,POP CX,POP DX后,寄存器CX的内容为_________19_________。 11 若物理地址为2D8C0H,偏移量为B6A0H,则段地址为_____2222H____。 作业二: 1. 8086在基址变址的寻址方式中,基址、变址寄存器分别是( B )。 A.AX或CX、BX或CX B.BX或BP、SI或DI C.SI或BX、DX或DI D.CX或DI、CX或SI 2. 设(SS)=338AH,(SP)=0450H,执行PUSH BX和PUSHF两条指令后,堆栈顶部的物理地址是(A)。 A.33CECH B.33CF2H

相关主题
文本预览
相关文档 最新文档