汇编语言作业

Posted 拓海藤原

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了汇编语言作业相关的知识,希望对你有一定的参考价值。

班级:  计算机14-1 姓名: 许恺   学号: 2014011329 日期: 2016.4.24    

一、编写程序

1.从键盘输入一个长度不超过50的字符串,然后将该字符串原样输出。

要求:用A号功能调用输入,用9号功能调用输出。

提示:用A号功能调用输入后,要找到串中回车所在位置,并将它替换成$。

1)程序清单:

data segment

  str db 50,50 dup(?)

data ends

code segment

  assume cs:code,ds:data

 main proc far

start:

   mov ax,data

   mov ds,ax

   lea dx,str

   mov ah,0ah

   int 21h

   lea dx,str+2

   mov ah,09h

   int 21hmasm

   mov dl,\'$\'

   mov ah,02h

   int 21h

   mov ah,4ch

   int 21h

 main endp

code ends

end start

 

2)运行结果(截图):

 

 

2.数据段中存放着一个字数组,其元素均为无符号整数,求出最大值并将其以十进制形式显示到屏幕上。

要求:用LODSW对字数组进行访问。

1)程序清单:

data segment

  str dw 12h,13h,34h,02h,65h,12h,11h,23h,10h,19h

data ends

code segment

  assume cs:code,ds:data

 main proc far

start:

   mov ax,data

   mov ds,ax

   mov bx,0

   mov cx,9

   mov dx,str

l2:cmp dx,str[bx+2]

   ja l1

   mov dx,str[bx+2]

l1:add bx,2

   loop l2

   mov ax,dx

   mov cx,0

   mov bl,10

l4:div bl

   mov dl,ah

   push dx

   mov ah,0

   inc cx

   cmp al,0

   jbe l3

   jmp l4

l3:pop dx

   add dl,30h

   mov ah,02h

   int 21h

   loop l3

   mov ah,4ch

   int 21h

 main endp

code ends

end start

 

2)运行结果(截图):

 

二、编程体会

相比上次的编程感觉简单了一点,对于数组和循环条件的使用又熟练了一些,还需加强的是字节类和字类的数组的了解和使用,以及他的原理,还有堆栈的使用。

以上是关于汇编语言作业的主要内容,如果未能解决你的问题,请参考以下文章

c语言作业,求助!

C语言编程作业,急!!!!

汇编语言作业

汇编语言作业

2018上IEC计算机高级语言(C)作业 第1次作业

王道C语言作业初级