合肥工业大学汇编程序设计实验报告完整代码 联系客服

发布时间 : 星期一 文章合肥工业大学汇编程序设计实验报告完整代码更新完毕开始阅读8b4e852cf524ccbff12184e4

附加题二:完成 BX中1 的个数的统计。

五. 实验体会

通过本次实验,了解了使用debug的各种指令。同时在debug下进行编程,比较麻烦。由于是第一次编写汇编程序,还是需要多练习。

实验二 汇编语言程序设计(顺序、循环)

一. 实验目的

1、掌握顺序和循环程序结构和设计方法;

2、熟悉在PC机上建立、汇编、连接、调试和运行8086/8088汇编语言程序的过程。

二. 实验内容

1、X、Y、Z、V均为字变量,在X、Y、Z、V字单元中存放是16位带符号数。试编写汇编语言程序完成以下功能: ①计算表达式值(V–(X*Y+Z-720))/X;

②将上述表达式运算结果整数放在SUM1单元,余数放在SUM2单元。 2、求一个班50名学生成绩的平均值(附加题:最大值和最小值,并将结果显示出来)

3、从键盘读入一个字符串,以Enter结束,字符串不超过50个字符,并打印该字符串(附加题:查找中间是否有‘asm’子串。如果有,输出‘Yes’;否则,输出‘No’)。

三. 实验过程和程序

1、计算表达式值(V–(X*Y+Z-720))/X; data segment x dw 021ch y dw 0001h z dw 0ffffh v dw 0438h w dw 0000h sum1 dw ? sum2 dw ? data ends

assume cs:code,ds:data code segment start: mov ax,data mov ds,ax

MOV AX,x IMUL Y ; x*y MOV CX, AX

MOV BX, DX MOV AX, Z CWD

ADD CX, AX

ADC BX, DX ; x*y+z SUB CX, 540 ;?

SBB BX, 0 ; x*y+z-540 MOV AX, V CWD SUB AX, CX

SBB DX, BX ; v-(x*y+z-540) IDIV X ; (v-(x*y+z-540))/x

mov sum1,ax mov sum2,dx

mov ax,4c00h int 21h code ends end start

2、求一个班50名学生成绩的平均值(附加题:最大值和最小值,并将结果显示出来) data segment db 7,49 dup(6) max db ? min db ? result db 0 data ends

assume cs:code,ds:data code segment start: mov ax,data mov ds,ax

mov ax,0 mov cx,50 mov di,0 again: mov bl,[di]

mov bx,0

add di,1 add ax,bx loop again mov bl,50 div bl mov result,al

mov di,50 max2:sub di,1 mov cx,50 mov si,0 mov al,[di] max1: cmp al,[si] jb max2 add si,1 loop max1 mov max,al

mov di,50 min2:sub di,1 mov cx,50 mov si,0 mov al,[di] min1: cmp al,[si] jnb min2 add si,1 loop min1 mov min,al

mov ax,4c00h int 21h code ends end start