汇编语言作业(六)
班级: 计算机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)运行结果(截图):
二、编程体会
相比上次的编程感觉简单了一点,对于数组和循环条件的使用又熟练了一些,还需加强的是字节类和字类的数组的了解和使用,以及他的原理,还有堆栈的使用。